5 * \defgroup TabUtils Utility functions for creating tabbed dialogs
6 * \ingroup WebcitDisplayItems
12 * \brief print tabbed dialog
13 * \param num_tabs how many tabs do we have?
14 * \param tabnames the headers of the tables
16 void tabbed_dialog(int num_tabs, char *tabnames[]) {
19 wprintf("<script type=\"text/javascript\"> "
20 "var previously_selected_tab = '0'; "
21 "function tabsel(which_tab) { "
22 " if (which_tab == previously_selected_tab) { "
25 " $('tabdiv'+previously_selected_tab).style.display = 'none'; "
26 " $('tabdiv'+which_tab).style.display = 'block'; "
27 " $('tabtd'+previously_selected_tab).className = 'tab_cell_edit'; "
28 " $('tabtd'+which_tab).className = 'tab_cell_label'; "
29 " previously_selected_tab = which_tab; "
34 wprintf("<table id=\"TheTabs\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
35 "<tr align=\"center\" style=\"cursor:pointer\"><td> </td>"
38 for (i=0; i<num_tabs; ++i) {
39 wprintf("<td id=\"tabtd%d\" class=\"%s\" "
40 "onClick='tabsel(\"%d\");'"
43 ( (i==0) ? "tab_cell_label" : "tab_cell_edit" ),
47 wprintf("%s", tabnames[i]);
50 wprintf("<td> </td>\n");
53 wprintf("</tr></table>\n");
54 wprintf("<div class=\"tabcontent\">");
58 * \brief print the tab-header
59 * \param tabnum number of the tab to print
60 * \param num_tabs total number oftabs to be printed
62 void begin_tab(int tabnum, int num_tabs) {
63 wprintf("<!-- begin tab %d of %d -->\n", tabnum, num_tabs);
64 wprintf("<div id=\"tabdiv%d\" style=\"display:%s\">",
66 ( (tabnum == 0) ? "block" : "none" )
71 * \brief print the tab-footer
72 * \param tabnum number of the tab to print
73 * \param num_tabs total number of tabs to be printed
75 void end_tab(int tabnum, int num_tabs) {
77 wprintf("<!-- end tab %d of %d -->\n", tabnum, num_tabs);
79 if (tabnum == num_tabs-1) {
81 wprintf("<script type=\"text/javascript\">"
82 " Nifty(\"table#TheTabs td\", \"small transparent top\");"
83 " Nifty(\"div.tabcontent\", \"big transparent bottom\");"
84 " Nifty(\"div.tabcontent_submit\", \"big transparent bottom\");"