Go to the source code of this file.
Classes | |
struct | _erGtkEntry |
struct | _erGtkEntryClass |
Defines | |
#define | ERGTK_ENTRY_DEFAULT_WIDTH 150 |
#define | ERGTK_ENTRY_DEFAULT_HEIGHT 30 |
#define | ERGTK_ENTRY_TYPE (ergtk_entry_get_type()) |
#define | ERGTK_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ERGTK_ENTRY_TYPE, erGtkEntry)) |
#define | ERGTK_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ERGTK_ENTRY_TYPE)) |
#define | ERGTK_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ERGTK_ENTRY_TYPE, erGtkEntryClass)) |
#define | ERGTK_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ERGTK_ENTRY_TYPE, erGtkEntryClass)) |
#define | ERGTK_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ERGTK_ENTRY_TYPE)) |
#define | gtk_entry_set_text(entry, text) |
Typedefs | |
typedef struct _erGtkEntry | erGtkEntry |
typedef struct _erGtkEntryClass | erGtkEntryClass |
Enumerations | |
enum | entryFilter_e { ipAddress_e = 0, integer_e, string_e } |
Functions | |
GtkWidget * | ergtk_entry_new () |
GType | ergtk_entry_get_type (void) |
void | ergtk_entry_set_text (erGtkEntry *er_entry, const gchar *text) |
void | ergtk_entry_set_ipv4_filter (erGtkEntry *er_entry) |
void | ergtk_entry_set_integer_filter (erGtkEntry *er_entry) |
gboolean | ergtk_entry_check_field (erGtkEntry *er_entry) |
Emits signal "changed-stable" shortly after the latest change of the entry text. Emits signal "screen-refresh" when a screen refresh is needed for the entry object.
Copyright (C) 2007 iRex Technologies B.V. All rights reserved.
Definition in file erGtkEntry.h.
#define ERGTK_ENTRY | ( | obj | ) | (G_TYPE_CHECK_INSTANCE_CAST((obj), ERGTK_ENTRY_TYPE, erGtkEntry)) |
Definition at line 40 of file erGtkEntry.h.
#define ERGTK_ENTRY_CLASS | ( | klass | ) | (G_TYPE_CHECK_CLASS_CAST((klass), ERGTK_ENTRY_TYPE, erGtkEntryClass)) |
Definition at line 43 of file erGtkEntry.h.
#define ERGTK_ENTRY_DEFAULT_HEIGHT 30 |
Definition at line 37 of file erGtkEntry.h.
#define ERGTK_ENTRY_DEFAULT_WIDTH 150 |
Definition at line 36 of file erGtkEntry.h.
#define ERGTK_ENTRY_GET_CLASS | ( | obj | ) | (G_TYPE_INSTANCE_GET_CLASS((obj), ERGTK_ENTRY_TYPE, erGtkEntryClass)) |
Definition at line 44 of file erGtkEntry.h.
#define ERGTK_ENTRY_TYPE (ergtk_entry_get_type()) |
Definition at line 39 of file erGtkEntry.h.
#define ERGTK_IS_ENTRY | ( | obj | ) | (G_TYPE_CHECK_INSTANCE_TYPE((obj), ERGTK_ENTRY_TYPE)) |
Definition at line 41 of file erGtkEntry.h.
#define ERGTK_IS_ENTRY_CLASS | ( | klass | ) | (G_TYPE_CHECK_CLASS_TYPE((klass), ERGTK_ENTRY_TYPE)) |
Definition at line 45 of file erGtkEntry.h.
#define gtk_entry_set_text | ( | entry, | |||
text | ) |
Value:
if ( ERGTK_IS_ENTRY(entry) ) \ ergtk_entry_set_text( (erGtkEntry*)(entry), (text) ); \ else \ gtk_entry_set_text( (entry), (text) );
Definition at line 49 of file erGtkEntry.h.
typedef struct _erGtkEntry erGtkEntry |
Definition at line 62 of file erGtkEntry.h.
typedef struct _erGtkEntryClass erGtkEntryClass |
Definition at line 63 of file erGtkEntry.h.
enum entryFilter_e |
Definition at line 55 of file erGtkEntry.h.
00056 { 00057 ipAddress_e = 0, 00058 integer_e, 00059 string_e 00060 }entryFilter_e;
gboolean ergtk_entry_check_field | ( | erGtkEntry * | er_entry | ) |
Definition at line 103 of file erGtkEntry.c.
00104 { 00105 GtkEntry *entry; 00106 const gchar *text; 00107 gint i, len, ret; 00108 gboolean valid = FALSE; 00109 00110 g_return_val_if_fail(ERGTK_IS_ENTRY(er_entry), FALSE); 00111 00112 entry = GTK_ENTRY(er_entry); 00113 text = gtk_entry_get_text(entry); 00114 if (text && (text[0] != '\0')) 00115 { 00116 switch (er_entry->filter) 00117 { 00118 case ipAddress_e: 00119 ret = ipv4_filter_check_address(text); 00120 if (ret == ipv4Complete_e) 00121 { 00122 valid = TRUE; 00123 } 00124 break; 00125 00126 case integer_e: 00127 valid = TRUE; 00128 len = strlen(text); 00129 for (i = 0; i < len; i++) 00130 { 00131 if (!isdigit(text[i])) 00132 { 00133 valid = FALSE; 00134 break; 00135 } 00136 } 00137 break; 00138 case string_e: 00139 default: 00140 valid = TRUE; 00141 break; 00142 } 00143 } 00144 00145 LOGPRINTF("return %d", valid); 00146 return valid; 00147 }
GType ergtk_entry_get_type | ( | void | ) |
get type of erGtkEntry widget
Definition at line 149 of file erGtkEntry.c.
00150 { 00151 static GType class_type = 0; 00152 00153 if (class_type == 0) 00154 { 00155 static const GTypeInfo class_info = 00156 { 00157 sizeof(erGtkEntryClass), 00158 NULL, /* base_init */ 00159 NULL, /* base_finalize */ 00160 (GClassInitFunc) ergtk_entry_class_init, 00161 NULL, /* class_finalize */ 00162 NULL, /* class_data */ 00163 sizeof(erGtkEntry), 00164 0, /* n_preallocs */ 00165 (GInstanceInitFunc) ergtk_entry_init, 00166 }; 00167 class_type = g_type_register_static(GTK_TYPE_ENTRY, "erGtkEntry", &class_info, 0); 00168 00169 static const GInterfaceInfo editable_info = 00170 { 00171 (GInterfaceInitFunc)ergtk_entry_editable_init, /* interface_init */ 00172 NULL, /* interface_finalize */ 00173 NULL /* interface_data */ 00174 }; 00175 g_type_add_interface_static(class_type, GTK_TYPE_EDITABLE, &editable_info); 00176 } 00177 00178 return class_type; 00179 }
GtkWidget* ergtk_entry_new | ( | ) |
creates a new erGtkEntry widget
- |
Definition at line 80 of file erGtkEntry.c.
00081 { 00082 erGtkEntry* item = (erGtkEntry*) g_object_new(ERGTK_ENTRY_TYPE, NULL); 00083 00084 return GTK_WIDGET(item); 00085 }
void ergtk_entry_set_integer_filter | ( | erGtkEntry * | er_entry | ) |
Definition at line 95 of file erGtkEntry.c.
00096 { 00097 g_return_if_fail(ERGTK_IS_ENTRY(er_entry)); 00098 00099 er_entry->filter = integer_e; 00100 integer_filter_init(GTK_ENTRY(er_entry)); 00101 }
void ergtk_entry_set_ipv4_filter | ( | erGtkEntry * | er_entry | ) |
Definition at line 87 of file erGtkEntry.c.
00088 { 00089 g_return_if_fail(ERGTK_IS_ENTRY(er_entry)); 00090 00091 er_entry->filter = ipAddress_e; 00092 ipv4_filter_init(GTK_ENTRY(er_entry)); 00093 }
void ergtk_entry_set_text | ( | erGtkEntry * | er_entry, | |
const gchar * | text | |||
) |
set the user input text
er_entry | the erGtkEntry widget | |
text | the user input text |
Definition at line 263 of file erGtkEntry.c.
00264 { 00265 g_return_if_fail(ERGTK_IS_ENTRY(er_entry)); 00266 00267 erGtkEntryClass* klass = ERGTK_ENTRY_GET_CLASS(er_entry); 00268 00269 // chain to real method, which may be overloaded 00270 if (klass->set_text) 00271 { 00272 klass->set_text(er_entry, text); 00273 } 00274 }