X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Ftabs.c;h=4b58ba590a64c086ce8eba75dd18583f63ff4655;hb=HEAD;hp=569a7f7633e8ea79d912115b0239e90267bfb535;hpb=e8fc80828146ad2bbc4794d61cfec472a3c8939f;p=citadel.git diff --git a/webcit/tabs.c b/webcit/tabs.c index 569a7f763..4b58ba590 100644 --- a/webcit/tabs.c +++ b/webcit/tabs.c @@ -1,50 +1,46 @@ -/* - * $Id$ - * - */ - +#include +#define SHOW_ME_VAPPEND_PRINTF #include "webcit.h" /* * print tabbed dialog */ -void tabbed_dialog(int num_tabs, char *tabnames[]) { +void tabbed_dialog(int num_tabs, const char *tabnames[]) { int i; - wprintf(" \n" + StrBufAppendPrintf(WC->trailing_javascript, + "var previously_selected_tab = '0'; \n" + "function tabsel(which_tab) { \n" + " if (which_tab == previously_selected_tab) { \n" + " return; \n" + " } \n" + " $('tabdiv'+previously_selected_tab).style.display = 'none'; \n" + " $('tabdiv'+which_tab).style.display = 'block'; \n" + " $('tabtd'+previously_selected_tab).className = 'tab_cell_edit'; \n" + " $('tabtd'+which_tab).className = 'tab_cell_label'; \n" + " previously_selected_tab = which_tab; \n" + "} \n" ); - wprintf("" + wc_printf("
" "" ); for (i=0; i", i, ( (i==0) ? "tab_cell_label" : "tab_cell_edit" ), i ); - wprintf("%s", tabnames[i]); - wprintf(""); + wc_printf("%s", tabnames[i]); + wc_printf(""); - wprintf("\n"); + wc_printf("\n"); } - wprintf("
   
\n"); + wc_printf("\n"); } /* @@ -57,13 +53,13 @@ void tabbed_dialog(int num_tabs, char *tabnames[]) { void begin_tab(int tabnum, int num_tabs) { if (tabnum == num_tabs) { - wprintf("\n"); - wprintf("
"); + wc_printf("\n"); + wc_printf("
"); } else { - wprintf("\n", tabnum, num_tabs); - wprintf("
", + wc_printf("\n", tabnum, num_tabs); + wc_printf("
", tabnum, ( (tabnum == 0) ? "block" : "none" ) ); @@ -79,20 +75,135 @@ void begin_tab(int tabnum, int num_tabs) { void end_tab(int tabnum, int num_tabs) { if (tabnum == num_tabs) { - wprintf("
\n"); - wprintf("\n"); + wc_printf("
\n"); + wc_printf("\n"); } else { - wprintf("
\n"); - wprintf("\n", tabnum, num_tabs); - - if (tabnum == num_tabs-1) { - wprintf("" + wc_printf("
\n"); + wc_printf("\n", tabnum, num_tabs); + } +} + + +/* + * print tabbed dialog + */ +void StrTabbedDialog(StrBuf *Target, int num_tabs, StrBuf *tabnames[]) { + int i; + + StrBufAppendBufPlain( + Target, + HKEY( + " \n" + ), 0); + + StrBufAppendBufPlain( + Target, + HKEY( + "" + "" + ), 0); + + for (i=0; i", + i, + ( (i==0) ? "tab_cell_label" : "tab_cell_edit" ), + i ); - } + StrEscAppend(Target, tabnames[i], NULL, 0, 0); + StrBufAppendBufPlain( + Target, + HKEY( + "" + "\n"), 0); + } + + StrBufAppendBufPlain( + Target, + HKEY("
  
\n"), 0); +} + +/* + * print the tab-header + * + * tabnum: number of the tab to print + * num_tabs: total number oftabs to be printed + * + */ +void StrBeginTab(StrBuf *Target, int tabnum, int num_tabs, StrBuf **Names) { + + if (tabnum == num_tabs) { + StrBufAppendBufPlain( + Target, + HKEY("\n
"), 0); + } + + else { + StrBufAppendBufPlain( + Target, + HKEY("\n
", + tabnum, + ( (tabnum == 0) ? "block" : "none" ) + ); + } +} + +/* + * print the tab-footer + * tabnum: number of the tab to print + * num_tabs: total number of tabs to be printed + * + */ +void StrEndTab(StrBuf *Target, int tabnum, int num_tabs) { + + if (tabnum == num_tabs) { + StrBufAppendBufPlain( + Target, + HKEY( + "
\n" + "\n"), 0); + } + + else { + StrBufAppendPrintf( + Target, + "
\n", + "\n", tabnum, num_tabs + ); + } + if (havebstr("last_tabsel")) + { + StrBufAppendPrintf(Target, "", BSTR("last_tabsel")); } }