From: konn Date: Fri, 18 Jul 2008 06:34:32 +0000 (+0000) Subject: * Added option tag with CSS for CHTML3.0 converter. X-Git-Tag: v0.13.0~1356 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b9974461180e791c45e9d6a61c075e6894e861a1;p=modchxj%2Fmod_chxj.git * Added option tag with CSS for CHTML3.0 converter. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@3009 1a406e8e-add9-4483-a2c8-d8cac5b7c224 --- diff --git a/src/chxj_chtml30.c b/src/chxj_chtml30.c index 386dc431..4dcea42f 100644 --- a/src/chxj_chtml30.c +++ b/src/chxj_chtml30.c @@ -2355,7 +2355,7 @@ s_chtml30_end_select_tag(void *pdoc, Node *UNUSED(child)) * @return The conversion result is returned. */ static char * -s_chtml30_start_option_tag(void *pdoc, Node *child) +s_chtml30_start_option_tag(void *pdoc, Node *node) { Attr *attr; chtml30_t *chtml30; @@ -2363,6 +2363,7 @@ s_chtml30_start_option_tag(void *pdoc, Node *child) request_rec *r; char *selected; char *value; + char *attr_style = NULL; chtml30 = GET_CHTML30(pdoc); doc = chtml30->doc; @@ -2371,7 +2372,7 @@ s_chtml30_start_option_tag(void *pdoc, Node *child) value = NULL; W_L("buf.pool, val); } + else if (STRCASEEQ('s','S',"style", nm) && val && *val) { + /*----------------------------------------------------------------------*/ + /* CHTML 1.0 version 2.0 */ + /*----------------------------------------------------------------------*/ + attr_style = apr_pstrdup(doc->buf.pool, val); + } else if (STRCASEEQ('v','V',"value", nm)) { /*----------------------------------------------------------------------*/ /* CHTML 1.0 version 2.0 */ @@ -2398,6 +2405,9 @@ s_chtml30_start_option_tag(void *pdoc, Node *child) W_L(" selected"); } W_L(">"); + if (IS_CSS_ON(chtml30->entryp)) { + s_chtml30_push_and_get_now_style(pdoc, node, attr_style); + } return chtml30->out; } @@ -2416,6 +2426,9 @@ s_chtml30_end_option_tag(void *pdoc, Node *UNUSED(child)) chtml30_t *chtml30 = GET_CHTML30(pdoc); /* Don't close */ + if (IS_CSS_ON(chtml30->entryp)) { + chxj_css_pop_prop_list(chtml30->css_prop_stack); + } return chtml30->out; } diff --git a/src/chxj_chtml40.c b/src/chxj_chtml40.c index dfc8c7f3..69851da1 100644 --- a/src/chxj_chtml40.c +++ b/src/chxj_chtml40.c @@ -2365,7 +2365,7 @@ s_chtml40_end_select_tag(void *pdoc, Node *UNUSED(child)) * @return The conversion result is returned. */ static char * -s_chtml40_start_option_tag(void *pdoc, Node *child) +s_chtml40_start_option_tag(void *pdoc, Node *node) { Attr *attr; chtml40_t *chtml40; @@ -2373,6 +2373,7 @@ s_chtml40_start_option_tag(void *pdoc, Node *child) request_rec *r; char *selected; char *value; + char *attr_style = NULL; chtml40 = GET_CHTML40(pdoc); doc = chtml40->doc; @@ -2381,7 +2382,7 @@ s_chtml40_start_option_tag(void *pdoc, Node *child) value = NULL; W_L("buf.pool, val); } + else if (STRCASEEQ('s','S',"style", nm) && val && *val) { + /*----------------------------------------------------------------------*/ + /* CHTML 1.0 version 2.0 */ + /*----------------------------------------------------------------------*/ + attr_style = apr_pstrdup(doc->buf.pool, val); + } else if (STRCASEEQ('v','V',"value", nm)) { /*----------------------------------------------------------------------*/ /* CHTML 1.0 version 2.0 */ @@ -2408,6 +2415,11 @@ s_chtml40_start_option_tag(void *pdoc, Node *child) W_L(" selected"); } W_L(">"); + + if (IS_CSS_ON(chtml40->entryp)) { + s_chtml40_push_and_get_now_style(pdoc, node, attr_style); + } + return chtml40->out; } @@ -2426,6 +2438,9 @@ s_chtml40_end_option_tag(void *pdoc, Node *UNUSED(child)) chtml40_t *chtml40 = GET_CHTML40(pdoc); /* Don't close */ + if (IS_CSS_ON(chtml40->entryp)) { + chxj_css_pop_prop_list(chtml40->css_prop_stack); + } return chtml40->out; }