contentLister/src/gtkErrorScreen.c File Reference

#include <sys/types.h>
#include <glib.h>
#include <gdk/gdkkeysyms.h>
#include <liberdm/display.h>
#include <libermanifest/ermanifest.h>
#include "contentListerLog.h"
#include "gtkErrorScreen.h"
#include "displayUpdate.h"
#include "stack.h"
#include "erConnect.h"
#include "system.h"
#include "gtkPincodeScreen.h"
#include "control.h"

Go to the source code of this file.

Functions

gboolean error_screen_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer data)
static void on_error_screen_destroy (GtkWidget *widget, gpointer data)
guint error_screen_keypress (GtkWidget *widget, GdkEventKey *event, gpointer data)
static void gtk_error_screen_class_init (GtkErrorScreenClass *klass)
static void gtk_error_screen_init (GtkErrorScreen *error_screen)
static void error_screen_init_images (void)
static void error_screen_destroy_images (void)
GdkPixbuf * error_screen_get_image (unsigned int error_ID)
GtkWidget * gtk_error_screen_new ()
GType gtk_error_screen_get_type (void)
void gtk_error_screen_set_text (GtkErrorScreen *error_screen, const gchar *text)
void gtk_error_screen_set_image (GtkErrorScreen *error_screen, ctrlErrorIcon_e icon)

Variables

static GdkPixbuf * g_error_images [ctrlLastIcon]


Function Documentation

static void error_screen_destroy_images ( void   )  [static]

Definition at line 297 of file gtkErrorScreen.c.

00298 {
00299     int     index;
00300 
00301     CL_LOGPRINTF("entry");
00302 
00303     for (index = 0; index < ctrlLastIcon; index++)
00304     {
00305         if (g_error_images[index])
00306         {
00307             g_free(g_error_images[index]);
00308             g_error_images[index] = NULL;
00309         }
00310     }
00311 }

gboolean error_screen_expose_event ( GtkWidget *  widget,
GdkEventExpose *  event,
gpointer  data 
)

Definition at line 243 of file gtkErrorScreen.c.

00244 {
00245     CL_SCREENPRINTF("entry");
00246     display_update_request_screen_refresh(LISTER_EXPOSE_LEVEL);
00247     return FALSE;
00248 }

Here is the call graph for this function:

GdkPixbuf * error_screen_get_image ( unsigned int  error_ID  ) 

Definition at line 313 of file gtkErrorScreen.c.

00314 {
00315     if ((error_ID < ctrlLastIcon))
00316     {
00317         return g_error_images[error_ID];
00318     }
00319     else
00320     {
00321         return NULL;
00322     }
00323 }

static void error_screen_init_images ( void   )  [static]

Definition at line 250 of file gtkErrorScreen.c.

00251 {
00252     GError *error = NULL;
00253 
00254     g_error_images[ctrlWarningIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/Warning.png", &error);
00255     if (NULL == g_error_images[ctrlWarningIcon])
00256     {
00257         CL_ERRORPRINTF("ctrlWarningIcon - error %s", error->message);
00258     }
00259 
00260     g_error_images[ctrlInfoIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/Info.png", &error);
00261     if (NULL == g_error_images[ctrlInfoIcon])
00262     {
00263         CL_ERRORPRINTF("ctrlInfoIcon - error %s", error->message);
00264     }
00265 
00266     g_error_images[ctrlErrorIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/Error.png", &error);
00267     if (NULL == g_error_images[ctrlErrorIcon])
00268     {
00269         CL_ERRORPRINTF("ctrlErrorIcon - error %s", error->message);
00270     }
00271 
00272     g_error_images[ctrlProhibitedIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/Prohibited.png", &error);
00273     if (NULL == g_error_images[ctrlProhibitedIcon])
00274     {
00275         CL_ERRORPRINTF("ctrlProhibitedIcon - error %s", error->message);
00276     }
00277 
00278     g_error_images[ctrlDontDisconnectNWIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/DontDisconnect-NW.png", &error);
00279     if (NULL == g_error_images[ctrlDontDisconnectNWIcon])
00280     {
00281         CL_ERRORPRINTF("ctrlDontDisconnectNWIcon - error %s", error->message);
00282     }
00283 
00284     g_error_images[ctrlBatteryLowIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/BatteryLow.png", &error);
00285     if (NULL == g_error_images[ctrlBatteryLowIcon])
00286     {
00287         CL_ERRORPRINTF("ctrlBatteryLowIcon - error %s", error->message);
00288     }
00289 
00290     g_error_images[ctrlSystemShutdownIcon] = gdk_pixbuf_new_from_file(DATA_DIR "/Shutdown.png", &error);
00291     if (NULL == g_error_images[ctrlSystemShutdownIcon])
00292     {
00293         CL_ERRORPRINTF("ctrlSystemShutdownIcon - error %s", error->message);
00294     }
00295 }

guint error_screen_keypress ( GtkWidget *  widget,
GdkEventKey *  event,
gpointer  data 
)

Definition at line 172 of file gtkErrorScreen.c.

00173 {
00174     int     returnValue = 0;    // return FALSE => default gtk handling
00175 
00176     CL_LOGPRINTF("receiving keypress 0x%x", event->keyval);
00177 
00178     switch (event->keyval)
00179     {
00180     case GDK_Page_Down:
00181     case GDK_F1:
00182     case GDK_Page_Up:
00183     case GDK_F2:
00184     case GDK_Home:
00185     case GDK_F5:
00186     case GDK_Return:
00187     case GDK_Up:
00188     case GDK_F4:
00189     case GDK_Down:
00190     case GDK_F3:
00191         CL_SCREENPRINTF("invalid key press");
00192         display_update_request_screen_refresh(MAIN_WINDOW_EXPOSE_LEVEL);
00193         break;
00194 
00195 #ifdef COMMAND_LINE_INPUT
00196     case GDK_F12:
00197         // test case 
00198         ctrl_contentType_button_clicked(st_ContentTypeBooks);
00199         break;
00200     case GDK_F11:
00201         // test case 
00202         ctrl_contentType_button_clicked(st_ContentTypeNews);
00203         break;
00204     case GDK_F10:
00205         // test case 
00206         ctrl_contentType_button_clicked(st_ContentTypeDocs);
00207         break;
00208     case GDK_F9:
00209         // test case 
00210         ctrl_contentType_button_clicked(st_ContentTypeNotes);
00211         break;
00212     case GDK_F8:
00213         // test case 
00214         ctrl_mode_button_clicked();
00215         break;
00216 #endif //COMMAND_LINE_INPUT
00217     }
00218     return returnValue;
00219 }

Here is the call graph for this function:

static void gtk_error_screen_class_init ( GtkErrorScreenClass klass  )  [static]

Definition at line 102 of file gtkErrorScreen.c.

00103 {
00104     // nothing needs to be done here 
00105 }

GType gtk_error_screen_get_type ( void   ) 

returns type of GtkErrorScreen widget

Returns:
type

Definition at line 78 of file gtkErrorScreen.c.

00079 {
00080     static GType error_screen_type = 0;
00081 
00082     if (!error_screen_type)
00083     {
00084         static const GTypeInfo error_screen_info = {
00085             sizeof(GtkErrorScreenClass),
00086             NULL,               /* base_init */
00087             NULL,               /* base_finalize */
00088             (GClassInitFunc) gtk_error_screen_class_init,
00089             NULL,               /* class_finalize */
00090             NULL,               /* class_data */
00091             sizeof(GtkErrorScreen),
00092             0,                  /* n_preallocs */
00093             (GInstanceInitFunc) gtk_error_screen_init,
00094         };
00095 
00096         error_screen_type = g_type_register_static(GTK_TYPE_EVENT_BOX, "ErrorScreen", &error_screen_info, 0);
00097     }
00098     return error_screen_type;
00099 }

Here is the call graph for this function:

static void gtk_error_screen_init ( GtkErrorScreen error_screen  )  [static]

Definition at line 116 of file gtkErrorScreen.c.

00117 {
00118     GtkWidget *vbox;
00119     GtkWidget *topLevelVBox;
00120 
00121     error_screen_init_images();
00122 
00123     // error_screen
00124     gtk_widget_set_name(GTK_WIDGET(error_screen), "error_screen_background");
00125 
00126     // topLevelVBox - not homogenous, zero spacing, for bottom/top border
00127     topLevelVBox = gtk_vbox_new(FALSE, 0);
00128     gtk_container_add(GTK_CONTAINER(error_screen), topLevelVBox);
00129 
00130     // vbox
00131     vbox = gtk_vbox_new(TRUE, VBOX_TEXT_IMAGE_SPACING);
00132     gtk_container_set_border_width(GTK_CONTAINER(vbox), VBOX_BORDER);
00133     gtk_box_pack_start(GTK_BOX(topLevelVBox), vbox, FALSE, FALSE, BOTTOM_TOP_BORDER);
00134 
00135     // error_screen->image
00136     error_screen->image = gtk_image_new();
00137     gtk_widget_set_size_request(GTK_WIDGET(error_screen->image), ERROR_IMAGE_MIN_WIDTH, ERROR_IMAGE_MIN_HEIGHT);
00138     gtk_box_pack_start(GTK_BOX(vbox), error_screen->image, FALSE, FALSE, 0);
00139     error_screen->pixmap = NULL;
00140 
00141     // error_screen->text
00142     error_screen->text = gtk_label_new(NULL);
00143     gtk_widget_set_name(GTK_WIDGET(error_screen->text), "error_screen_text");
00144     gtk_widget_set_size_request(GTK_WIDGET(error_screen->text), ERROR_DESCRIPTION_WIDTH, (-1));
00145     gtk_misc_set_alignment(GTK_MISC(error_screen->text), 0.5, 0.0);
00146     gtk_label_set_single_line_mode(GTK_LABEL(error_screen->text), FALSE);
00147     gtk_label_set_line_wrap(GTK_LABEL(error_screen->text), TRUE);
00148     gtk_label_set_justify(GTK_LABEL(error_screen->text), GTK_JUSTIFY_CENTER);
00149     gtk_box_pack_start(GTK_BOX(vbox), error_screen->text, FALSE, FALSE, 0);
00150 
00151     // signal handlers
00152     g_signal_connect(G_OBJECT(error_screen), "key_press_event", G_CALLBACK(error_screen_keypress), NULL);
00153     g_signal_connect(G_OBJECT(error_screen), "expose-event", G_CALLBACK(error_screen_expose_event), NULL);
00154     g_signal_connect(G_OBJECT(error_screen), "destroy", G_CALLBACK(on_error_screen_destroy), NULL);
00155 
00156     gtk_widget_show_all(GTK_WIDGET(topLevelVBox));
00157 }

Here is the call graph for this function:

GtkWidget* gtk_error_screen_new (  ) 

creates a new GtkErrorScreen widget

Parameters:
- 
Returns:
reference to created widget

Definition at line 66 of file gtkErrorScreen.c.

00067 {
00068     GtkErrorScreen *errorScreen;
00069 
00070     errorScreen = (GtkErrorScreen *) g_object_new(GTK_ERROR_SCREEN_TYPE, NULL);
00071 
00072     CL_LOGPRINTF("error screen 0x%x", (unsigned int) errorScreen);
00073 
00074     return GTK_WIDGET(errorScreen);
00075 }

void gtk_error_screen_set_image ( GtkErrorScreen error_screen,
ctrlErrorIcon_e  icon 
)

Set thumb of GtkErrorScreen widget

Parameters:
item the GtkErrorScreen widget
location of the image
Returns:
-

Definition at line 232 of file gtkErrorScreen.c.

00233 {
00234     g_return_if_fail(IS_GTK_ERROR_SCREEN(error_screen));
00235 
00236     error_screen->pixmap = error_screen_get_image(icon);
00237     gtk_image_set_from_pixbuf(GTK_IMAGE(error_screen->image), error_screen->pixmap);
00238     //gtk_widget_show(GTK_WIDGET(error_screen->image));
00239     return;
00240 }

Here is the call graph for this function:

void gtk_error_screen_set_text ( GtkErrorScreen screen,
const gchar *  text 
)

Set text of GtkErrorScreen widget

Parameters:
item the GtkListItem widget
text 
Returns:
-

Definition at line 222 of file gtkErrorScreen.c.

00223 {
00224     g_return_if_fail(IS_GTK_ERROR_SCREEN(error_screen));
00225     g_return_if_fail(text != NULL);
00226 
00227     CL_LOGPRINTF("text %s", text);
00228 
00229     gtk_label_set_text(GTK_LABEL(error_screen->text), text);
00230 }

static void on_error_screen_destroy ( GtkWidget *  widget,
gpointer  data 
) [static]

Definition at line 159 of file gtkErrorScreen.c.

00160 {
00161     GtkErrorScreen *error_screen = (GtkErrorScreen *) widget;
00162 
00163     CL_WARNPRINTF("entry");
00164 
00165     // unref pixbuf object
00166     gtk_image_set_from_pixbuf(GTK_IMAGE(error_screen->image), NULL);
00167 
00168     error_screen_destroy_images();
00169 }

Here is the call graph for this function:


Variable Documentation

GdkPixbuf* g_error_images[ctrlLastIcon] [static]

Definition at line 50 of file gtkErrorScreen.c.


Generated on Sun Dec 14 17:13:29 2008 by  doxygen 1.5.6