00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00031 #ifndef __SETTING_ITEM_TEXT_ENTRY_H__
00032 #define __SETTING_ITEM_TEXT_ENTRY_H__
00033
00034 #define SETTINGITEMTEXT_BORDER_TOP 0
00035 #define SETTINGITEMTEXT_BORDER_BOTTOM 0
00036 #define SETTINGITEMTEXT_BORDER_LEFT 13
00037 #define SETTINGITEMTEXT_BORDER_RIGHT 13
00038
00039 #define SETTINGITEMTEXT_HBOX_SPACING 15
00040
00041 #define SETTINGITEMTEXT_REQ_WIDTH 640
00042 #define SETTINGITEMTEXT_REQ_HEIGHT 115
00043
00044 #define SETTINGITEMTEXT_LABEL_HEIGHT 50
00045
00046 #define SETTINGITEMTEXT_ENTRY_HEIGHT 30
00047 #define SETTINGITEMTEXT_ENTRY_WIDTH 400
00048
00049 #include <gtk/gtk.h>
00050 #include <gdk/gdk.h>
00051
00052 #ifdef __cplusplus
00053 extern "C" {
00054 #endif
00055
00056 #define GTK_SETTINGITEM_TEXTENTRY_TYPE (gtk_settingitem_textentry_get_type())
00057 #define GTK_SETTINGITEM_TEXTENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_SETTINGITEM_TEXTENTRY_TYPE, GtkSettingItemTextEntry))
00058 #define GTK_SETTINGITEM_TEXTENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_SETTINGITEM_TEXTENTRY_TYPE, GtkSettingItemTextEntryClass))
00059 #define IS_GTK_SETTINGITEM_TEXTENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_SETTINGITEM_TEXTENTRY_TYPE))
00060 #define IS_GTK_SETTINGITEM_TEXTENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_SETTINGITEM_TEXTENTRY_TYPE))
00061
00062 typedef struct _GtkSettingItemTextEntry GtkSettingItemTextEntry;
00063 typedef struct _GtkSettingItemTextEntryClass GtkSettingItemTextEntryClass;
00064
00065 typedef void on_textentry_changed_t(GtkWidget* item, const gchar* text);
00066 typedef void on_textentry_button_press_t(GtkWidget*item);
00067 typedef void on_textentry_validate_t(GtkWidget* item, const gchar* text, gchar** new_text);
00068
00069 struct _GtkSettingItemTextEntry
00070 {
00071 GtkEventBox eventbox;
00072
00073
00074 GtkWidget* label;
00075 GtkWidget* entry;
00076 GtkWidget* entry_info;
00077 on_textentry_button_press_t* callback_on_button_press;
00078 on_textentry_changed_t* callback_on_changed;
00079 on_textentry_validate_t* callback_on_validate;
00080 };
00081
00082 struct _GtkSettingItemTextEntryClass
00083 {
00084 GtkEventBoxClass parent_class;
00085
00086 void (*settingitem_textentry_enter) (GtkSettingItemTextEntry *item, char* text);
00087 };
00088
00089
00090 GtkWidget* gtk_settingitem_textentry_new(void);
00091
00092 void gtk_settingitem_textentry_grabfocus(GtkSettingItemTextEntry *item);
00093
00094 void gtk_settingitem_textentry_setlabel(GtkSettingItemTextEntry *item, const gchar* text);
00095 void gtk_settingitem_textentry_setinfo(GtkSettingItemTextEntry* item, const gchar* text);
00096 void gtk_settingitem_textentry_settext(GtkSettingItemTextEntry *item, const gchar* text);
00097 void gtk_settingitem_textentry_setvisibility(GtkSettingItemTextEntry* item, gboolean visible);
00098 void gtk_settingitem_textentry_setentrywidth(GtkSettingItemTextEntry* item, guint width);
00099
00100
00101 void gtk_settingitem_textentry_callback_on_changed(GtkSettingItemTextEntry* item, on_textentry_changed_t* callback);
00102 void gtk_settingitem_textentry_callback_on_validate(GtkSettingItemTextEntry* item, on_textentry_validate_t* callback);
00103
00104
00105 void gtk_settingitem_textentry_callback_on_button_press(GtkSettingItemTextEntry* item, on_textentry_button_press_t* callback);
00106
00107
00108
00109 const gchar* gtk_settingitem_textentry_gettext(GtkSettingItemTextEntry *item);
00110
00111
00112 GType gtk_settingitem_textentry_get_type (void);
00113
00114
00115
00116
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120
00121 #endif //__SETTING_ITEM_TEXT_ENTRY_H__
00122
00123
00124
00125