Moved struct and enum declarations from prefswindow.c to .h.
[claws.git] / src / gtk / prefswindow.h
index 306ec7e1fbc165025c470b58fce3fbae659b259d..d8530a8f819755a03fab0f2abb19d01288f86649 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2007 Hiroyuki Yamamoto and the Claws Mail Team
+ * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail Team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@
 #include <gtk/gtk.h>
 
 typedef struct _PrefsPage PrefsPage;
+typedef struct _PrefsWindow PrefsWindow;
 
 typedef void (*PrefsCreateWidgetFunc) (PrefsPage *, GtkWindow *window, gpointer);
 typedef void (*PrefsDestroyWidgetFunc) (PrefsPage *);
@@ -45,12 +46,57 @@ struct _PrefsPage
        PrefsCanClosePageFunc     can_close;
 };
 
+enum {
+       PREFS_PAGE_TITLE,               /* page title */
+       PREFS_PAGE_DATA,                /* PrefsTreeNode data */
+       PREFS_PAGE_DATA_AUTO_FREE,      /* auto free for PREFS_PAGE_DATA */
+       PREFS_PAGE_WEIGHT,              /* weight */
+       PREFS_PAGE_INDEX,               /* index in original page list */
+       N_PREFS_PAGE_COLUMNS
+};
+
+typedef struct _PrefsTreeNode PrefsTreeNode;
+
+struct _PrefsWindow
+{
+       GtkWidget *window;
+       GtkWidget *vbox;
+       GtkWidget *paned;
+       GtkWidget *scrolledwindow1;
+       GtkWidget *tree_view;
+       GtkWidget *table2;
+       GtkWidget *pagelabel;
+       GtkWidget *labelframe;
+       GtkWidget *vbox2;
+       GtkWidget *notebook;
+       GtkWidget *confirm_area;
+       GtkWidget *ok_btn;
+       GtkWidget *cancel_btn;
+       GtkWidget *apply_btn;
+       gint *save_width;
+       gint *save_height;
+       PrefsCloseCallbackFunc open_cb;
+       PrefsCloseCallbackFunc close_cb;
+
+       GtkWidget *empty_page;
+
+       gpointer         data;
+       GSList          *prefs_pages;
+       GDestroyNotify func;
+};
+
+struct _PrefsTreeNode
+{
+       PrefsPage *page;
+       gfloat     treeweight; /* GTK2: not used */
+};
+
 void prefswindow_open_full             (const gchar *title, 
                                         GSList *prefs_pages,
                                         gpointer data,
-                                        GtkDestroyNotify func,
+                                        GDestroyNotify func,
                                         gint *save_width, gint *save_height,
-                                        gboolean preload_pages, gboolean activate_child,
+                                        gboolean preload_pages,
                                         PrefsOpenCallbackFunc open_cb,
                                         PrefsCloseCallbackFunc close_cb);