#include <gtk/gtk.h>
#include <liberdm/display.h>
#include <libergtk/ergtk.h>
#include "setupLog.h"
#include "displayStatus.h"
#include "gtkSettingItem.h"
#include "gtkInfoItem.h"
Go to the source code of this file.
Defines | |
| #define | LOGPRINTF ST_LOGPRINTF |
Functions | |
| static void | gtk_infoitem_class_init (GtkInfoItemClass *klass) |
| static void | gtk_infoitem_init (GtkInfoItem *item) |
| static void | on_button_toggled (GtkToggleButton *button, gpointer data) |
| GtkWidget * | gtk_infoitem_new (gboolean with_button) |
| GType | gtk_infoitem_get_type (void) |
| void | gtk_infoitem_set_text (GtkInfoItem *item, const gchar *text) |
| void | gtk_infoitem_set_buttontext (GtkInfoItem *item, const gchar *text) |
| void | gtk_infoitem_set_buttonstate (GtkInfoItem *item, const gboolean active) |
| void | gtk_infoitem_callback_on_buttonclicked (GtkInfoItem *item, on_infoitem_buttonclicked_t *callback) |
Copyright (C) 2005-2008 iRex Technologies B.V. All rights reserved.
Definition in file gtkInfoItem.c.
| #define LOGPRINTF ST_LOGPRINTF |
Definition at line 39 of file gtkInfoItem.c.
| void gtk_infoitem_callback_on_buttonclicked | ( | GtkInfoItem * | item, | |
| on_infoitem_buttonclicked_t * | callback | |||
| ) |
Definition at line 205 of file gtkInfoItem.c.
00206 { 00207 item->callback_on_buttonclicked = callback; 00208 }
| static void gtk_infoitem_class_init | ( | GtkInfoItemClass * | klass | ) | [static] |
Definition at line 95 of file gtkInfoItem.c.
00096 { 00097 GtkObjectClass *object_class; 00098 00099 object_class = (GtkObjectClass *) klass; 00100 }
| GType gtk_infoitem_get_type | ( | void | ) |
Definition at line 71 of file gtkInfoItem.c.
00072 { 00073 static GType infoitem_type = 0; 00074 00075 if (!infoitem_type) 00076 { 00077 static const GTypeInfo infoitem_info = { 00078 sizeof(GtkInfoItemClass), 00079 NULL, /* base_init */ 00080 NULL, /* base_finalize */ 00081 (GClassInitFunc) gtk_infoitem_class_init, 00082 NULL, /* class_finalize */ 00083 NULL, /* class_data */ 00084 sizeof(GtkInfoItem), 00085 0, /* n_preallocs */ 00086 (GInstanceInitFunc) gtk_infoitem_init, 00087 }; 00088 00089 infoitem_type = g_type_register_static(GTK_TYPE_EVENT_BOX, "InfoItem", &infoitem_info, 0); 00090 } 00091 return infoitem_type; 00092 }

| static void gtk_infoitem_init | ( | GtkInfoItem * | item | ) | [static] |
Definition at line 115 of file gtkInfoItem.c.
00116 { 00117 GtkWidget *background; 00118 GtkWidget *alignment; 00119 GtkWidget *hbox; 00120 GtkWidget *widget; 00121 00122 gtk_widget_set_size_request(GTK_WIDGET(item), INFOITEM_REQ_WIDTH, INFOITEM_REQ_HEIGHT); 00123 00124 00125 // background 00126 widget = gtk_event_box_new(); 00127 gtk_widget_set_name(widget, "infoitem_background"); 00128 gtk_container_add(GTK_CONTAINER(item), widget); 00129 background = widget; 00130 00131 // alignment 00132 alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); 00133 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 00134 INFOITEM_BORDER_TOP, 00135 INFOITEM_BORDER_BOTTOM, 00136 INFOITEM_BORDER_LEFT, 00137 INFOITEM_BORDER_RIGHT ); 00138 gtk_container_add(GTK_CONTAINER(background), alignment); 00139 00140 // hbox 00141 widget = gtk_hbox_new(FALSE, INFOITEM_HBOX_SPACING); 00142 gtk_container_add(GTK_CONTAINER(alignment), widget); 00143 hbox = widget; 00144 00145 // item->icon 00146 widget = gtk_event_box_new(); 00147 gtk_widget_set_name(widget, "infoitem_icon"); 00148 gtk_widget_set_size_request(widget, INFOITEM_ICON_IMG_WIDTH, INFOITEM_ICON_IMG_HEIGHT); 00149 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); 00150 gtk_widget_show(widget); 00151 item->icon = widget; 00152 00153 // item->label 00154 widget = gtk_label_new(""); 00155 gtk_widget_set_name(widget, "infoitem_text"); 00156 gtk_widget_set_size_request(widget, INFOITEM_TEXT_WIDTH, INFOITEM_TEXT_HEIGHT); 00157 gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.0); 00158 gtk_label_set_single_line_mode(GTK_LABEL(widget), FALSE); 00159 gtk_label_set_line_wrap(GTK_LABEL(widget), TRUE); 00160 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); 00161 gtk_widget_show(widget); 00162 item->label = widget; 00163 00164 // alignment 00165 widget = gtk_alignment_new(1.0, 1.0, 0, 0); 00166 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); 00167 gtk_widget_show(widget); 00168 alignment = widget; 00169 00170 // item->button 00171 widget = ergtk_toggle_button_new_with_label(""); 00172 gtk_widget_set_size_request(widget, INFOITEM_BUTTON_WIDTH, INFOITEM_BUTTON_HEIGHT); 00173 gtk_container_add(GTK_CONTAINER(alignment), widget); 00174 gtk_widget_show(widget); 00175 item->button = widget; 00176 // signal callbacks 00177 g_signal_connect_after(G_OBJECT(widget), "toggled", G_CALLBACK(on_button_toggled), item); 00178 00179 // display 00180 gtk_widget_show_all(GTK_WIDGET(item)); 00181 }

| GtkWidget* gtk_infoitem_new | ( | gboolean | with_button | ) |
Definition at line 51 of file gtkInfoItem.c.
00052 { 00053 GtkInfoItem* item; 00054 00055 item = (GtkInfoItem*) g_object_new(GTK_INFOITEM_TYPE, NULL); 00056 00057 if (!with_button) 00058 { 00059 gtk_widget_destroy(item->button); 00060 item->button = NULL; 00061 00062 gtk_widget_set_size_request( item->label, 00063 INFOITEM_TEXT_WIDTH + INFOITEM_BUTTON_WIDTH, 00064 INFOITEM_TEXT_HEIGHT ); 00065 } 00066 00067 return GTK_WIDGET(item); 00068 }
| void gtk_infoitem_set_buttonstate | ( | GtkInfoItem * | item, | |
| const gboolean | active | |||
| ) |
Definition at line 197 of file gtkInfoItem.c.
00198 { 00199 g_return_if_fail(item->button != NULL); 00200 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(item->button), active); 00201 }
| void gtk_infoitem_set_buttontext | ( | GtkInfoItem * | item, | |
| const gchar * | text | |||
| ) |
Definition at line 191 of file gtkInfoItem.c.
00192 { 00193 g_return_if_fail(item->button != NULL); 00194 gtk_button_set_label(GTK_BUTTON(item->button), text); 00195 }
| void gtk_infoitem_set_text | ( | GtkInfoItem * | item, | |
| const gchar * | text | |||
| ) |
Definition at line 185 of file gtkInfoItem.c.
00186 { 00187 gtk_label_set_text(GTK_LABEL(item->label), text); 00188 gdk_flush(); // wait for label to copy text 00189 }
| static void on_button_toggled | ( | GtkToggleButton * | button, | |
| gpointer | data | |||
| ) | [static] |
Definition at line 212 of file gtkInfoItem.c.
00213 { 00214 LOGPRINTF("entry"); 00215 00216 GtkInfoItem* item = GTK_INFOITEM(data); 00217 g_return_if_fail(item != NULL); 00218 00219 gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); 00220 00221 // inform user that button has changed 00222 if (item->callback_on_buttonclicked) 00223 { 00224 item->callback_on_buttonclicked(GTK_WIDGET(item), active); 00225 } 00226 }
1.5.6