gwenhywfar  4.99.8beta
g_table.c
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Feb 22 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 "g_table_p.h"
18 #include "g_generic_l.h"
19 #include "htmlctx_l.h"
20 #include "o_grid_l.h"
21 #include "g_tablerow_l.h"
22 
23 #include <gwenhywfar/debug.h>
24 
25 
26 
27 HTML_GROUP *HtmlGroup_Table_new(const char *groupName,
28  HTML_GROUP *parent,
29  GWEN_XML_CONTEXT *ctx) {
30  HTML_GROUP *g;
31 
32  /* create base group */
33  g=HtmlGroup_Generic_new(groupName, parent, ctx);
34  assert(g);
35 
36  /* set virtual functions */
39 
40  return g;
41 }
42 
43 
44 
45 int HtmlGroup_Table_StartTag(HTML_GROUP *g, const char *tagName) {
46  HTML_GROUP *gNew=NULL;
47  GWEN_XML_CONTEXT *ctx;
48 
49  assert(g);
50 
52 
53  if (strcasecmp(tagName, "tr")==0) {
54  HTML_OBJECT *o;
55  int rows;
56 
58  assert(o);
60 
61  /* Create new parser group with new properties but use the same object */
62  gNew=HtmlGroup_TableRow_new(tagName, g, ctx);
63  HtmlGroup_TableRow_SetRow(gNew, rows);
65  HtmlObject_Grid_SetRows(o, ++rows);
66  HtmlGroup_SetObject(gNew, o);
67  }
68  else {
70  "Unexpected group [%s]", tagName);
71  return GWEN_ERROR_BAD_DATA;
72  }
73 
74  if (gNew) {
75  HtmlCtx_SetCurrentGroup(ctx, gNew);
77  }
78 
79  return 0;
80 }
81 
82 
83 
85  //GWEN_XML_CONTEXT *ctx;
86  const char *s;
87 
88  assert(g);
89 
90  //ctx=HtmlGroup_GetXmlContext(g);
91 
93  if (strcasecmp(s, "tr")==0) {
94  HTML_OBJECT *o;
95  int i;
96  int j;
97 
101  if (j>i)
103  }
104 
105  return 0;
106 }
107 
108 
109 
110 
111 
112 
113 
114 
115 
struct HTML_GROUP HTML_GROUP
Definition: htmlgroup_l.h:19
HTML_OBJECT * HtmlGroup_GetObject(const HTML_GROUP *g)
Definition: htmlgroup.c:83
int HtmlGroup_Table_EndSubGroup(HTML_GROUP *g, HTML_GROUP *sg)
Definition: g_table.c:84
void HtmlGroup_SetObject(HTML_GROUP *g, HTML_OBJECT *o)
Definition: htmlgroup.c:90
void HtmlObject_Grid_SetColumns(HTML_OBJECT *o, int i)
Definition: o_grid.c:270
HTML_GROUP_STARTTAG_FN HtmlGroup_SetStartTagFn(HTML_GROUP *g, HTML_GROUP_STARTTAG_FN f)
Definition: htmlgroup.c:120
#define NULL
Definition: binreloc.c:290
const char * HtmlGroup_GetGroupName(const HTML_GROUP *g)
Definition: htmlgroup.c:76
int HtmlGroup_TableRow_GetColumns(const HTML_GROUP *g)
Definition: g_tablerow.c:62
#define GWEN_LOGDOMAIN
Definition: logger.h:35
#define GWEN_ERROR_BAD_DATA
Definition: error.h:121
void GWEN_XmlCtx_IncDepth(GWEN_XML_CONTEXT *ctx)
Definition: xmlctx.c:117
HTML_GROUP_ENDSUBGROUP_FN HtmlGroup_SetEndSubGroupFn(HTML_GROUP *g, HTML_GROUP_ENDSUBGROUP_FN f)
Definition: htmlgroup.c:159
void HtmlObject_Grid_SetRows(HTML_OBJECT *o, int i)
Definition: o_grid.c:246
int HtmlGroup_Table_StartTag(HTML_GROUP *g, const char *tagName)
Definition: g_table.c:45
#define DBG_ERROR(dbg_logger, format, args...)
Definition: debug.h:97
HTML_PROPS * HtmlGroup_GetProperties(const HTML_GROUP *g)
Definition: htmlgroup.c:97
GWEN_XML_CONTEXT * HtmlGroup_GetXmlContext(const HTML_GROUP *g)
Definition: htmlgroup.c:69
void HtmlCtx_SetCurrentGroup(GWEN_XML_CONTEXT *ctx, HTML_GROUP *g)
Definition: htmlctx.c:192
HTML_GROUP * HtmlGroup_Table_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
Definition: g_table.c:27
HTML_GROUP * HtmlGroup_TableRow_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
Definition: g_tablerow.c:32
int HtmlObject_Grid_GetColumns(const HTML_OBJECT *o)
Definition: o_grid.c:258
void HtmlGroup_TableRow_SetRow(HTML_GROUP *g, int row)
Definition: g_tablerow.c:171
void HtmlGroup_SetProperties(HTML_GROUP *g, HTML_PROPS *pr)
Definition: htmlgroup.c:104
int HtmlObject_Grid_GetRows(const HTML_OBJECT *o)
Definition: o_grid.c:234
HTML_GROUP * HtmlGroup_Generic_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
Definition: g_generic.c:26
struct GWEN_XML_CONTEXT GWEN_XML_CONTEXT
Definition: xmlctx.h:39
struct HTML_OBJECT HTML_OBJECT
Definition: htmlobject_be.h:25