]> code.citadel.org Git - citadel.git/blobdiff - webcit/tabs.c
fix the tab.c bug with IE : removed a useless div. The round
[citadel.git] / webcit / tabs.c
index 92e88ef56a238fc95aaef6d024c4a245a549f05f..6ef4bfde6b2b36250f0aa21196304bcea4605b39 100644 (file)
@@ -1,11 +1,18 @@
 /*
- * $Id:  $
- *
- * Utility functions for creating tabbed dialogs
+ * $Id$
  */
-
+/**
+ * \defgroup TabUtils Utility functions for creating tabbed dialogs
+ * \ingroup WebcitDisplayItems
+ */
+/*@{*/
 #include "webcit.h"
 
+/**
+ * \brief print tabbed dialog
+ * \param num_tabs how many tabs do we have?
+ * \param tabnames the headers of the tables
+ */
 void tabbed_dialog(int num_tabs, char *tabnames[]) {
        int i;
 
@@ -15,24 +22,26 @@ void tabbed_dialog(int num_tabs, char *tabnames[]) {
                "       if (which_tab == previously_selected_tab) {                             "
                "               return;                                                         "
                "       }                                                                       "
-               "       $('tabtd'+previously_selected_tab).style.backgroundColor = '#cccccc';   "
                "       $('tabdiv'+previously_selected_tab).style.display = 'none';             "
-               "       $('tabtd'+which_tab).style.backgroundColor = '#ffffff';                 "
                "       $('tabdiv'+which_tab).style.display = 'block';                          "
+               "       $('tabtd'+previously_selected_tab).className = 'tab_cell_edit';         "
+               "       $('tabtd'+which_tab).className = 'tab_cell_label';                      "
                "       previously_selected_tab = which_tab;                                    "
                "}                                                                              "
                "</script>                                                                      \n"
        );
 
-       wprintf("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%%\">"
+       wprintf("<table id=\"TheTabs\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
                "<tr align=\"center\" style=\"cursor:pointer\"><td>&nbsp;</td>"
        );
 
        for (i=0; i<num_tabs; ++i) {
-               wprintf("<td id=\"tabtd%d\" bgcolor=\"#%s\" onClick='tabsel(\"%d\");'>"
-                       "<span class=\"tablabel\">",
+               wprintf("<td id=\"tabtd%d\" class=\"%s\" "
+                       "onClick='tabsel(\"%d\");'"
+                       ">",
+                       i,
+                       ( (i==0) ? "tab_cell_label" : "tab_cell_edit" ),
                        i,
-                       ( (i==0) ? "ffffff" : "cccccc" ),
                        i
                );
                wprintf("%s", tabnames[i]);
@@ -42,20 +51,39 @@ void tabbed_dialog(int num_tabs, char *tabnames[]) {
        }
 
        wprintf("</tr></table>\n");
-       wprintf("<table border=\"0\" width=\"100%%\" bgcolor=\"#ffffff\"><tr><td>");
 }
 
+/**
+ * \brief print the tab-header
+ * \param tabnum number of the tab to print
+ * \param num_tabs total number oftabs to be printed
+ */
 void begin_tab(int tabnum, int num_tabs) {
-       wprintf("<div id=\"tabdiv%d\" style=\"display:%s\">",
+       wprintf("<!-- begin tab %d of %d -->\n", tabnum, num_tabs);
+       wprintf("<div id=\"tabdiv%d\" style=\"display:%s\" class=\"tabcontent\" >",
                tabnum,
                ( (tabnum == 0) ? "block" : "none" )
        );
 }
 
+/**
+ * \brief print the tab-footer
+ * \param tabnum number of the tab to print
+ * \param num_tabs total number of tabs to be printed
+ */
 void end_tab(int tabnum, int num_tabs) {
        wprintf("</div>\n");
+       wprintf("<!-- end tab %d of %d -->\n", tabnum, num_tabs);
 
        if (tabnum == num_tabs-1) {
-               wprintf("</td></tr></table>\n");
+
+               wprintf("<script type=\"text/javascript\">"
+                       " Nifty(\"table#TheTabs td\", \"small transparent top\");"
+                       "</script>"
+               );
+
        }
 }
+
+
+/*@}*/