connectionMgr/src/gtkSettingItem.c File Reference

connectionMgr - empty setup item containing a header label and some item information text. <File description>=""> More...

#include <liberdm/display.h>
#include "connectionMgrLog.h"
#include "gtkSettingItem.h"

Go to the source code of this file.

Functions

static void gtk_settingitem_class_init (GtkSettingItemClass *klass)
static void gtk_settingitem_init (GtkSettingItem *settingitem)
GtkWidget * gtk_settingitem_new (gchar *headerlabel)
GType gtk_settingitem_get_type (void)
void gtk_settingitem_set_info_text (GtkSettingItem *settingitem, gchar *infotext)
void gtk_settingitem_set_header_text (GtkSettingItem *settingitem, gchar *headertext)
void gtk_settingitem_add_details (GtkSettingItem *settingitem, GtkWidget *details)


Detailed Description

connectionMgr - empty setup item containing a header label and some item information text. <File description>="">

Copyright (C) 2007 iRex Technologies BV.

Definition in file gtkSettingItem.c.


Function Documentation

void gtk_settingitem_add_details ( GtkSettingItem settingitem,
GtkWidget *  details 
)

Definition at line 188 of file gtkSettingItem.c.

00190 {
00191     g_return_if_fail(IS_GTK_SETTINGITEM(settingitem));
00192 
00193     if (details)
00194     {
00195         CN_LOGPRINTF("add 0x%x", (int)details);
00196         gtk_container_add(GTK_CONTAINER(settingitem->clientArea), details);
00197     }
00198 }

static void gtk_settingitem_class_init ( GtkSettingItemClass klass  )  [static]

Definition at line 84 of file gtkSettingItem.c.

00085 {
00086     // nothing needs to be done here 
00087 }

GType gtk_settingitem_get_type ( void   ) 

Definition at line 57 of file gtkSettingItem.c.

00058 {
00059     static GType settingitem_type = 0;
00060 
00061     if (!settingitem_type)
00062     {
00063         static const GTypeInfo settingitem_info = {
00064             sizeof(GtkSettingItemClass),
00065             NULL,               /* base_init */
00066             NULL,               /* base_finalize */
00067             (GClassInitFunc) gtk_settingitem_class_init,
00068             NULL,               /* class_finalize */
00069             NULL,               /* class_data */
00070             sizeof(GtkSettingItem),
00071             0,                  /* n_preallocs */
00072             (GInstanceInitFunc) gtk_settingitem_init,
00073         };
00074 
00075         settingitem_type = g_type_register_static(GTK_TYPE_EVENT_BOX, 
00076                                                   "SettingItem", 
00077                                                   &settingitem_info, 
00078                                                   0);
00079     }
00080     return settingitem_type;
00081 }

Here is the call graph for this function:

static void gtk_settingitem_init ( GtkSettingItem settingitem  )  [static]

Definition at line 99 of file gtkSettingItem.c.

00100 {
00101     GtkWidget *vbox;
00102     GtkWidget *header_background;
00103 
00104     // settingitem
00105     gtk_widget_set_name(GTK_WIDGET(settingitem), "settingitem_background");
00106 
00107     // vbox
00108     vbox = gtk_vbox_new(FALSE, SETTINGITEM_ITEM_SPACING);
00109     gtk_container_add(GTK_CONTAINER(settingitem), vbox);
00110 
00111     // header_background
00112     header_background = gtk_event_box_new();
00113     gtk_widget_set_size_request(GTK_WIDGET(header_background), 
00114             SETTING_TITLE_MIN_WIDTH, SETTING_TITLE_MIN_HEIGHT);
00115     gtk_widget_set_name(GTK_WIDGET(header_background), 
00116             "settingitem_headerbackground");
00117     gtk_box_pack_start(GTK_BOX(vbox), header_background, FALSE, FALSE, 0);
00118 
00119     // settingitem->headerlabel
00120     settingitem->headerlabel = gtk_label_new("");
00121     gtk_widget_set_name(GTK_WIDGET(settingitem->headerlabel), 
00122                         "settingitem_header");
00123     gtk_misc_set_alignment(GTK_MISC(settingitem->headerlabel), 0.03, 0.5);
00124     gtk_label_set_ellipsize(GTK_LABEL(settingitem->headerlabel), 
00125                             PANGO_ELLIPSIZE_END);
00126     gtk_label_set_justify(GTK_LABEL(settingitem->headerlabel), 
00127                           GTK_JUSTIFY_LEFT);
00128     gtk_container_add(GTK_CONTAINER(header_background), 
00129                       settingitem->headerlabel);
00130 
00131     // settingitem->infolabel
00132     settingitem->infolabel = gtk_label_new("");
00133     gtk_widget_set_size_request(GTK_WIDGET(settingitem->infolabel), 
00134                                 (-1), SETTING_INFO_MIN_HEIGHT);
00135     gtk_widget_set_name(GTK_WIDGET(settingitem->infolabel), 
00136                         "settingitem_infotext");
00137     gtk_misc_set_alignment(GTK_MISC(settingitem->infolabel), 0.03, 0.5);
00138     gtk_label_set_ellipsize(GTK_LABEL(settingitem->infolabel), 
00139                             PANGO_ELLIPSIZE_END);
00140     gtk_label_set_justify(GTK_LABEL(settingitem->infolabel), 
00141                           GTK_JUSTIFY_LEFT);
00142     gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(settingitem->infolabel), 
00143                        FALSE, FALSE, 0);
00144 
00145     // settingitem->clientArea
00146     settingitem->clientArea = gtk_event_box_new();
00147     gtk_widget_set_name(GTK_WIDGET(settingitem->clientArea), 
00148                         "settingitem_clientArea_background");
00149     gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(settingitem->clientArea), 
00150                        TRUE, TRUE, 0);
00151 
00152     gtk_widget_show_all(vbox);
00153 
00154     // only show this widget when there is info text available
00155     gtk_widget_hide(settingitem->infolabel);
00156 
00157 
00158 }

GtkWidget* gtk_settingitem_new ( gchar *  headerlabel  ) 

Definition at line 39 of file gtkSettingItem.c.

00040 {
00041     GtkSettingItem *settingItem;
00042 
00043     settingItem = (GtkSettingItem*)g_object_new(GTK_SETTINGITEM_TYPE, NULL);
00044 
00045     // set string values and init data fields
00046 
00047     if (headerlabel)
00048     {
00049         CN_LOGPRINTF("headerlabel %s", headerlabel);
00050         gtk_label_set_text(GTK_LABEL(settingItem->headerlabel), 
00051                            headerlabel);
00052     }
00053     return GTK_WIDGET(settingItem);
00054 }

void gtk_settingitem_set_header_text ( GtkSettingItem settingitem,
gchar *  headertext 
)

Definition at line 175 of file gtkSettingItem.c.

00177 {
00178     g_return_if_fail(IS_GTK_SETTINGITEM(settingitem));
00179 
00180     if (headertext)
00181     {
00182         CN_LOGPRINTF("headerlabel %s", headertext);
00183         gtk_label_set_text(GTK_LABEL(settingitem->headerlabel), headertext);
00184     }
00185 }

void gtk_settingitem_set_info_text ( GtkSettingItem settingitem,
gchar *  infotext 
)

Definition at line 161 of file gtkSettingItem.c.

00163 {
00164     g_return_if_fail(IS_GTK_SETTINGITEM(settingitem));
00165 
00166     if (infotext)
00167     {
00168         CN_LOGPRINTF("infolabel %s", infotext);
00169         gtk_label_set_text(GTK_LABEL(settingitem->infolabel), infotext);
00170         gtk_widget_show(settingitem->infolabel);
00171     }
00172 }


Generated on Sun Dec 14 17:16:41 2008 by  doxygen 1.5.6