gwenhywfar  4.8.0beta
htmlgroup.c
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Sat Feb 20 2010
3  copyright : (C) 2010 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 #ifdef HAVE_CONFIG_H
11 # include <config.h>
12 #endif
13 
14 #define DISABLE_DEBUGLOG
15 
16 
17 #include "htmlgroup_p.h"
18 
19 #include <gwenhywfar/misc.h>
20 #include <gwenhywfar/debug.h>
21 
22 
23 
25 
26 
27 
28 
29 
30 HTML_GROUP *HtmlGroup_new(const char *groupName,
31  HTML_GROUP *parent,
32  GWEN_XML_CONTEXT *ctx) {
33  HTML_GROUP *g;
34 
37  g->parent=parent;
38  g->xmlContext=ctx;
39  if (groupName)
40  g->groupName=strdup(groupName);
41  if (g->xmlContext==NULL && g->parent)
42  g->xmlContext=parent->xmlContext;
43 
44  return g;
45 }
46 
47 
48 
50  if (g) {
52 
53  HtmlProps_free(g->properties);
54  free(g->groupName);
55 
57  }
58 }
59 
60 
61 
63  assert(g);
64  return g->parent;
65 }
66 
67 
68 
70  assert(g);
71  return g->xmlContext;
72 }
73 
74 
75 
76 const char *HtmlGroup_GetGroupName(const HTML_GROUP *g) {
77  assert(g);
78  return g->groupName;
79 }
80 
81 
82 
84  assert(g);
85  return g->object;
86 }
87 
88 
89 
91  assert(g);
92  g->object=o;
93 }
94 
95 
96 
98  assert(g);
99  return g->properties;
100 }
101 
102 
103 
105  assert(g);
106 
107  HtmlProps_Attach(pr);
108  HtmlProps_free(g->properties);
109  g->properties=pr;
110 }
111 
112 
113 
114 
115 
116 
117 
118 
123 
124  assert(g);
125  oldFn=g->startTagFn;
126  g->startTagFn=f;
127  return oldFn;
128 }
129 
130 
131 
135  HTML_GROUP_ENDTAG_FN oldFn;
136 
137  assert(g);
138  oldFn=g->endTagFn;
139  g->endTagFn=f;
140  return oldFn;
141 }
142 
143 
144 
148  HTML_GROUP_ADDDATA_FN oldFn;
149 
150  assert(g);
151  oldFn=g->addDataFn;
152  g->addDataFn=f;
153  return oldFn;
154 }
155 
156 
157 
162 
163  assert(g);
164  oldFn=g->endSubGroupFn;
165  g->endSubGroupFn=f;
166  return oldFn;
167 }
168 
169 
170 
171 
172 
174  const char *tagName) {
175  assert(g);
176  if (g->startTagFn)
177  return g->startTagFn(g, tagName);
178  else
180 }
181 
182 
183 
185  const char *tagName) {
186  assert(g);
187  if (g->endTagFn)
188  return g->endTagFn(g, tagName);
189  else
191 }
192 
193 
194 
196  const char *data) {
197  assert(g);
198  if (g->addDataFn)
199  return g->addDataFn(g, data);
200  else
202 }
203 
204 
205 
207  assert(g);
208  if (g->endSubGroupFn)
209  return g->endSubGroupFn(g, sg);
210  else
212 }
213 
214 
215 
216 
217