00001
00002
00003 #ifndef CAJUN_GTK_UTILS_H
00004 #define CAJUN_GTK_UTILS_H
00005
00006 #include <map>
00007 #include <string>
00008 #include <vector>
00009 #include <gtk/gtk.h>
00010 #include <glib.h>
00011 #include <glade/glade-xml.h>
00012 #include <libgnomeui/libgnomeui.h>
00013
00014 using namespace std;
00015
00016 namespace cajun
00017 {
00018 namespace gtk_utils
00019 {
00020 gchar *make_bin_filename_gchar (const gchar *name);
00021 GString *make_bin_filename_gstring (const gchar *name);
00022 gchar *make_config_filename_gchar (const gchar *name);
00023 GString *make_config_filename_gstring (const gchar *name);
00024 gchar *make_bot_config_filename_gchar (const gchar *name);
00025 GString *make_bot_config_filename_gstring (const gchar *name);
00026 gchar *make_docs_filename_gchar (const gchar *name);
00027 GString *make_docs_filename_gstring (const gchar *name);
00028 gchar *make_support_filename_gchar (const gchar *progname,
00029 const gchar *name);
00030 GString *make_support_filename_gstring (const gchar *progname,
00031 const gchar *name);
00032 gchar *make_tmp_filename_gchar (const gchar *name);
00033 GString *make_tmp_filename_gstring (const gchar *name);
00034 void sleep (unsigned time);
00035 void flush_events ();
00036 void add (GladeXML *glade_xml, const gchar *parent_container,
00037 GtkWidget *child_widget);
00038 void add (GtkContainer *parent_container, GtkWidget *child_widget);
00039 GtkContainer *get_container (GladeXML *glade_xml, const gchar *name);
00040 GtkWidget *get_widget (GladeXML *glade_xml, const gchar *name);
00041 GtkWindow *get_window (GladeXML *glade_xml, const gchar *name);
00042 GtkComboBox *get_combo (GladeXML *glade_xml, const gchar *name);
00043 GtkCheckButton *get_checkbutton (GladeXML *glade_xml, const gchar *name);
00044 GtkLabel *get_label (GladeXML *glade_xml, const gchar *name);
00045 GtkEntry *get_entry (GladeXML *glade_xml, const gchar *name);
00046 GtkProgressBar *get_progressbar (GladeXML *glade_xml, const gchar *name);
00047 GtkStatusbar *get_statusbar (GladeXML *glade_xml, const gchar *name);
00048 GtkExpander *get_expander (GladeXML *glade_xml, const gchar *name);
00049 GtkTextView *get_textview (GladeXML *glade_xml, const gchar *name);
00050 GtkTextBuffer *get_textview_buffer (GladeXML *glade_xml, const gchar *name);
00051 GtkTreeView *get_treeview (GladeXML *glade_xml, const gchar *name);
00052 GtkHButtonBox *get_hbuttonbox (GladeXML *glade_xml, const gchar *name);
00053 GnomeDateEdit *get_gnomedateedit (GladeXML *glade_xml, const gchar *name);
00054 void show (GladeXML *glade_xml, const gchar *name);
00055 void hide (GladeXML *glade_xml, const gchar *name);
00056 void show (GtkWidget *w);
00057 void hide (GtkWidget *w);
00058 void show (GtkWindow *w);
00059 void hide (GtkWindow *w);
00060 GString *span_tag (const gchar *text, const gchar *color);
00061 GString *span_tag (const gchar *text, const gchar *color,
00062 const gchar *size);
00063 const gchar *gtk_label_get_text (GladeXML *glade_xml,
00064 const gchar *name);
00065 void gtk_label_set_text (GladeXML *glade_xml,
00066 const gchar *name,
00067 const gchar *text);
00068 const gchar *gtk_textview_get_text (GladeXML *glade_xml,
00069 const gchar *textview_name);
00070 gboolean gtk_textview_set_text (GladeXML *glade_xml,
00071 const gchar *name,
00072 const gchar *text);
00073 const gchar *gtk_entry_get_text (GladeXML *glade_xml,
00074 const gchar *name);
00075 gboolean gtk_entry_set_text (GladeXML *glade_xml,
00076 const gchar *name,
00077 const gchar *text);
00078 gint gtk_combo_box_get_active (GladeXML *glade_xml,
00079 const gchar *name);
00080 gboolean gtk_combo_box_set_active (GladeXML *glade_xml,
00081 const gchar *name,
00082 gint index);
00083 const gchar *gtk_combo_box_get_active_text (GladeXML *glade_xml,
00084 const gchar *name);
00085 gboolean gtk_combo_box_set_active_text (GtkComboBox *gtk_cb,
00086 const gchar *text);
00087 gboolean gtk_combo_box_set_active_text (GladeXML *glade_xml,
00088 const gchar *name,
00089 const gchar *text);
00090 gboolean gtk_combo_box_set_active_text (GtkComboBox *gtk_cb,
00091 map<string, string> entry_map,
00092 const gchar *text);
00093 gboolean gtk_combo_box_set_active_text (GladeXML *glade_xml,
00094 const gchar *name,
00095 map<string, string> entry_map,
00096 const gchar *text);
00097 void gtk_combo_box_add_entries (GtkComboBox *gtk_cb,
00098 vector<string> entries);
00099 gboolean gtk_refresh_gnomedateedit (GladeXML *glade_xml,
00100 const gchar *name);
00101 gboolean gtk_update_progressbar (GladeXML *glade_xml, const gchar *name);
00102 gboolean gtk_update_progressbar (GladeXML *glade_xml, const gchar *name,
00103 gdouble frac);
00104 void update_progress (GtkProgressBar *bar);
00105 void update_progress (GtkProgressBar *bar, gdouble frac);
00106 void clear_textview (GladeXML *glade_xml, const gchar *name);
00107 };
00108 };
00109
00110 #endif
00111