gwenhywfar 5.14.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
27HTML_GROUP *HtmlGroup_Table_new(const char *groupName,
28 HTML_GROUP *parent,
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
46int HtmlGroup_Table_StartTag(HTML_GROUP *g, const char *tagName)
47{
48 HTML_GROUP *gNew=NULL;
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);
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
104 if (j>i)
106 }
107
108 return 0;
109}
110
111
112
113
114
115
116
117
118
#define NULL
Definition binreloc.c:300
#define DBG_ERROR(dbg_logger, format,...)
Definition debug.h:97
#define GWEN_ERROR_BAD_DATA
Definition error.h:121
HTML_GROUP * HtmlGroup_Generic_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
Definition g_generic.c:26
int HtmlGroup_Table_StartTag(HTML_GROUP *g, const char *tagName)
Definition g_table.c:46
int HtmlGroup_Table_EndSubGroup(HTML_GROUP *g, HTML_GROUP *sg)
Definition g_table.c:86
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
void HtmlGroup_TableRow_SetRow(HTML_GROUP *g, int row)
Definition g_tablerow.c:175
int HtmlGroup_TableRow_GetColumns(const HTML_GROUP *g)
Definition g_tablerow.c:64
void HtmlCtx_SetCurrentGroup(GWEN_XML_CONTEXT *ctx, HTML_GROUP *g)
Definition htmlctx.c:201
const char * HtmlGroup_GetGroupName(const HTML_GROUP *g)
Definition htmlgroup.c:80
void HtmlGroup_SetObject(HTML_GROUP *g, HTML_OBJECT *o)
Definition htmlgroup.c:96
HTML_GROUP_ENDSUBGROUP_FN HtmlGroup_SetEndSubGroupFn(HTML_GROUP *g, HTML_GROUP_ENDSUBGROUP_FN f)
Definition htmlgroup.c:167
HTML_OBJECT * HtmlGroup_GetObject(const HTML_GROUP *g)
Definition htmlgroup.c:88
GWEN_XML_CONTEXT * HtmlGroup_GetXmlContext(const HTML_GROUP *g)
Definition htmlgroup.c:72
HTML_PROPS * HtmlGroup_GetProperties(const HTML_GROUP *g)
Definition htmlgroup.c:104
void HtmlGroup_SetProperties(HTML_GROUP *g, HTML_PROPS *pr)
Definition htmlgroup.c:112
HTML_GROUP_STARTTAG_FN HtmlGroup_SetStartTagFn(HTML_GROUP *g, HTML_GROUP_STARTTAG_FN f)
Definition htmlgroup.c:128
struct HTML_GROUP HTML_GROUP
Definition htmlgroup_l.h:19
struct HTML_OBJECT HTML_OBJECT
#define GWEN_LOGDOMAIN
Definition logger.h:32
void HtmlObject_Grid_SetRows(HTML_OBJECT *o, int i)
Definition o_grid.c:250
void HtmlObject_Grid_SetColumns(HTML_OBJECT *o, int i)
Definition o_grid.c:276
int HtmlObject_Grid_GetRows(const HTML_OBJECT *o)
Definition o_grid.c:237
int HtmlObject_Grid_GetColumns(const HTML_OBJECT *o)
Definition o_grid.c:263
void GWEN_XmlCtx_IncDepth(GWEN_XML_CONTEXT *ctx)
Definition xmlctx.c:166
struct GWEN_XML_CONTEXT GWEN_XML_CONTEXT
Definition xmlctx.h:39