gwenhywfar  5.10.1
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 {
31  HTML_GROUP *g;
32 
33  /* create base group */
34  g=HtmlGroup_Generic_new(groupName, parent, ctx);
35  assert(g);
36 
37  /* set virtual functions */
40 
41  return g;
42 }
43 
44 
45 
46 int HtmlGroup_Table_StartTag(HTML_GROUP *g, const char *tagName)
47 {
48  HTML_GROUP *gNew=NULL;
49  GWEN_XML_CONTEXT *ctx;
50 
51  assert(g);
52 
54 
55  if (strcasecmp(tagName, "tr")==0) {
56  HTML_OBJECT *o;
57  int rows;
58 
60  assert(o);
62 
63  /* Create new parser group with new properties but use the same object */
64  gNew=HtmlGroup_TableRow_new(tagName, g, ctx);
65  HtmlGroup_TableRow_SetRow(gNew, rows);
67  HtmlObject_Grid_SetRows(o, ++rows);
68  HtmlGroup_SetObject(gNew, o);
69  }
70  else {
72  "Unexpected group [%s]", tagName);
73  return GWEN_ERROR_BAD_DATA;
74  }
75 
76  if (gNew) {
77  HtmlCtx_SetCurrentGroup(ctx, gNew);
79  }
80 
81  return 0;
82 }
83 
84 
85 
87 {
88  //GWEN_XML_CONTEXT *ctx;
89  const char *s;
90 
91  assert(g);
92 
93  //ctx=HtmlGroup_GetXmlContext(g);
94 
96  if (strcasecmp(s, "tr")==0) {
97  HTML_OBJECT *o;
98  int i;
99  int j;
100 
101  o=HtmlGroup_GetObject(g);
104  if (j>i)
106  }
107 
108  return 0;
109 }
110 
111 
112 
113 
114 
115 
116 
117 
118 
struct HTML_GROUP HTML_GROUP
Definition: htmlgroup_l.h:19
HTML_OBJECT * HtmlGroup_GetObject(const HTML_GROUP *g)
Definition: htmlgroup.c:88
int HtmlGroup_Table_EndSubGroup(HTML_GROUP *g, HTML_GROUP *sg)
Definition: g_table.c:86
void HtmlGroup_SetObject(HTML_GROUP *g, HTML_OBJECT *o)
Definition: htmlgroup.c:96
void HtmlObject_Grid_SetColumns(HTML_OBJECT *o, int i)
Definition: o_grid.c:276
HTML_GROUP_STARTTAG_FN HtmlGroup_SetStartTagFn(HTML_GROUP *g, HTML_GROUP_STARTTAG_FN f)
Definition: htmlgroup.c:128
#define NULL
Definition: binreloc.c:300
const char * HtmlGroup_GetGroupName(const HTML_GROUP *g)
Definition: htmlgroup.c:80
int HtmlGroup_TableRow_GetColumns(const HTML_GROUP *g)
Definition: g_tablerow.c:64
#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:166
HTML_GROUP_ENDSUBGROUP_FN HtmlGroup_SetEndSubGroupFn(HTML_GROUP *g, HTML_GROUP_ENDSUBGROUP_FN f)
Definition: htmlgroup.c:167
void HtmlObject_Grid_SetRows(HTML_OBJECT *o, int i)
Definition: o_grid.c:250
int HtmlGroup_Table_StartTag(HTML_GROUP *g, const char *tagName)
Definition: g_table.c:46
#define DBG_ERROR(dbg_logger, format, args...)
Definition: debug.h:97
HTML_PROPS * HtmlGroup_GetProperties(const HTML_GROUP *g)
Definition: htmlgroup.c:104
GWEN_XML_CONTEXT * HtmlGroup_GetXmlContext(const HTML_GROUP *g)
Definition: htmlgroup.c:72
void HtmlCtx_SetCurrentGroup(GWEN_XML_CONTEXT *ctx, HTML_GROUP *g)
Definition: htmlctx.c:201
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:263
void HtmlGroup_TableRow_SetRow(HTML_GROUP *g, int row)
Definition: g_tablerow.c:175
void HtmlGroup_SetProperties(HTML_GROUP *g, HTML_PROPS *pr)
Definition: htmlgroup.c:112
int HtmlObject_Grid_GetRows(const HTML_OBJECT *o)
Definition: o_grid.c:237
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