00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00025 #ifndef __SETTING_ITEM_TEXT_ENTRY_H__
00026 #define __SETTING_ITEM_TEXT_ENTRY_H__
00027
00028 #define SETTINGITEMTEXT_BORDER_TOP 0
00029 #define SETTINGITEMTEXT_BORDER_BOTTOM 0
00030 #define SETTINGITEMTEXT_BORDER_LEFT 13
00031 #define SETTINGITEMTEXT_BORDER_RIGHT 13
00032
00033 #define SETTINGITEMTEXT_REQ_WIDTH 640
00034 #define SETTINGITEMTEXT_REQ_HEIGHT 115
00035
00036 #define SETTINGITEMTEXT_LABEL_HEIGHT 50
00037
00038 #define SETTINGITEMTEXT_ENTRY_HEIGHT 30
00039 #define SETTINGITEMTEXT_ENTRY_WIDTH 400
00040
00041 #define SETTINGITEMTEXT_BUTTON_WIDTH_SMALL 130
00042 #define SETTINGITEMTEXT_BUTTON_WIDTH_LARGE 200
00043 #define SETTINGITEMTEXT_BUTTON_PADDING 25
00044
00045 #include <gtk/gtk.h>
00046 #include <gdk/gdk.h>
00047 #include <glib.h>
00048
00049 #define GTK_SETTINGITEM_TEXTENTRY_TYPE (gtk_settingitem_textentry_get_type())
00050 #define GTK_SETTINGITEM_TEXTENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
00051 GTK_SETTINGITEM_TEXTENTRY_TYPE, \
00052 GtkSettingItemTextEntry))
00053 #define GTK_SETTINGITEM_TEXTENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
00054 GTK_SETTINGITEM_TEXTENTRY_TYPE, \
00055 GtkSettingItemTextEntryClass))
00056 #define IS_GTK_SETTINGITEM_TEXTENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
00057 GTK_SETTINGITEM_TEXTENTRY_TYPE))
00058 #define IS_GTK_SETTINGITEM_TEXTENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
00059 GTK_SETTINGITEM_TEXTENTRY_TYPE))
00060
00061 typedef struct _GtkSettingItemTextEntry GtkSettingItemTextEntry;
00062 typedef struct _GtkSettingItemTextEntryClass GtkSettingItemTextEntryClass;
00063
00064 typedef void on_textentry_changed_t(GtkWidget* item, const gchar* text);
00065 typedef void on_textentry_buttonclicked_t(GtkWidget* item,
00066 const gboolean button_active);
00067
00068 struct _GtkSettingItemTextEntry
00069 {
00070 GtkEventBox eventbox;
00071
00072
00073 GtkWidget* label;
00074 GtkWidget* entry;
00075 GtkWidget* button;
00076 on_textentry_changed_t* callback_on_changed;
00077 on_textentry_buttonclicked_t* callback_on_buttonclicked;
00078 };
00079
00080 struct _GtkSettingItemTextEntryClass
00081 {
00082 GtkEventBoxClass parent_class;
00083
00084 void (*settingitem_textentry_enter) (GtkSettingItemTextEntry *item,
00085 char* text);
00086 };
00087
00088 #ifdef __cplusplus
00089 extern "C" {
00090 #endif
00091
00092
00093 GtkWidget* gtk_settingitem_textentry_new(gboolean with_button);
00094
00095 void gtk_settingitem_textentry_grabfocus(GtkSettingItemTextEntry *item);
00096
00097 void gtk_settingitem_textentry_setlabel(GtkSettingItemTextEntry *item,
00098 const gchar* text);
00099
00100 void gtk_settingitem_textentry_settext(GtkSettingItemTextEntry *item,
00101 const gchar* text);
00102 void gtk_settingitem_textentry_setvisibility(GtkSettingItemTextEntry* item,
00103 gboolean visible);
00104 void gtk_settingitem_textentry_setsensitive(GtkSettingItemTextEntry* item,
00105 gboolean sensitive);
00106
00107 void gtk_settingitem_textentry_show_button(GtkSettingItemTextEntry* item,
00108 const gboolean show);
00109 void gtk_settingitem_textentry_set_buttontext(GtkSettingItemTextEntry *item,
00110 const gchar* text);
00111 void gtk_settingitem_textentry_set_buttonsize(GtkSettingItemTextEntry *item,
00112 const gboolean large_button);
00113 void gtk_settingitem_textentry_set_buttonstate(GtkSettingItemTextEntry*item,
00114 const gboolean active);
00115 const gboolean gtk_settingitem_textentry_get_buttonactive(GtkSettingItemTextEntry* item);
00116
00117
00118 void gtk_settingitem_textentry_callback_on_changed(GtkSettingItemTextEntry* item,
00119 on_textentry_changed_t* callback);
00120
00121
00122 void gtk_settingitem_textentry_callback_on_buttonclicked(GtkSettingItemTextEntry* item,
00123 on_textentry_buttonclicked_t* callback);
00124
00125
00126
00127
00128 const gchar* gtk_settingitem_textentry_gettext(GtkSettingItemTextEntry *item);
00129
00130
00131 GType gtk_settingitem_textentry_get_type (void);
00132
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136
00137 #endif //__SETTING_ITEM_TEXT_ENTRY_H__
00138