r508 - in trunk/src/target/OM-2007: examples/openmoko-panel-demo/src openmoko-libs/libmokoui panel-plugins panel-plugins/openmoko-panel-clock/src

mickey at gta01.hmw-consulting.de mickey at gta01.hmw-consulting.de
Thu Jan 4 18:25:41 CET 2007


Author: mickey
Date: 2007-01-04 18:25:40 +0100 (Thu, 04 Jan 2007)
New Revision: 508

Modified:
   trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/demo-panel-applet.c
   trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/main.c
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.h
   trunk/src/target/OM-2007/panel-plugins/openmoko-panel-clock/src/openmoko-panel-clock.c
   trunk/src/target/OM-2007/panel-plugins/panel-plugins.pro
Log:
mokoui/MokoPanelApplet: add panel demo that derives from MokoPanelApplet


Modified: trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/demo-panel-applet.c
===================================================================
--- trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/demo-panel-applet.c	2007-01-04 15:52:16 UTC (rev 507)
+++ trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/demo-panel-applet.c	2007-01-04 17:25:40 UTC (rev 508)
@@ -18,6 +18,8 @@
 
 #include "demo-panel-applet.h"
 
+#include <libmb/mbpixbuf.h>
+
 #undef DEBUG_THIS_FILE
 #ifdef DEBUG_THIS_FILE
 #define moko_debug(fmt,...) g_debug(fmt,##__VA_ARGS__)
@@ -37,7 +39,9 @@
 MokoPanelAppletClass* parent_class = NULL;
 
 /* forward declarations */
-/* ... */
+void demo_panel_applet_clicked(DemoPanelApplet* self);
+void demo_panel_applet_tap_hold(DemoPanelApplet* self);
+void demo_panel_applet_paint(DemoPanelApplet* self, Drawable drw);
 
 static void
 demo_panel_applet_dispose(GObject* object)
@@ -67,6 +71,10 @@
     object_class->finalize = demo_panel_applet_finalize;
 
     /* virtual methods */
+    MokoPanelAppletClass* applet_class = MOKO_PANEL_APPLET_CLASS(klass);
+    applet_class->clicked = demo_panel_applet_clicked;
+    applet_class->tap_hold = demo_panel_applet_tap_hold;
+    applet_class->paint_callback = demo_panel_applet_paint;
 
     /* install properties */
 }
@@ -82,3 +90,32 @@
 {
     /* Populate your instance here */
 }
+
+void demo_panel_applet_clicked(DemoPanelApplet* self)
+{
+    g_debug( "demo-panel-applet CLICKED" );
+}
+
+void demo_panel_applet_tap_hold(DemoPanelApplet* self)
+{
+    g_debug( "demo-panel-applet TAP-HOLD" );
+}
+
+void demo_panel_applet_paint(DemoPanelApplet* self, Drawable drw)
+{
+    MokoPanelApplet* panel = MOKO_PANEL_APPLET(self);
+    MBPixbufImage* background = mb_tray_app_get_background( panel->mb_applet, panel->mb_pixbuf );
+
+    for ( int y = 0; y < mb_tray_app_height( panel->mb_applet ); ++y )
+    {
+        for ( int x = 0; x < mb_tray_app_width( panel->mb_applet ); ++x )
+        {
+            mb_pixbuf_img_plot_pixel( panel->mb_pixbuf, background, x, y, y*x, x*3, y*2 );
+        }
+    }
+    //mb_pixbuf_img_composite( self->mb_pixbuf, background, self->mb_pixbuf_image_scaled, 0, 0 );
+    mb_pixbuf_img_render_to_drawable( panel->mb_pixbuf, background, drw, 0, 0 );
+    mb_pixbuf_img_free( panel->mb_pixbuf, background );
+
+    g_debug( "demo-panel-applet PAINT" );
+}

Modified: trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/main.c
===================================================================
--- trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/main.c	2007-01-04 15:52:16 UTC (rev 507)
+++ trunk/src/target/OM-2007/examples/openmoko-panel-demo/src/main.c	2007-01-04 17:25:40 UTC (rev 508)
@@ -34,23 +34,6 @@
     moko_panel_system_init( &argc, &argv );
     DemoPanelApplet* applet = demo_panel_applet_new();
 
-    // you can add a menu
-    GtkMenu* panelmenu = GTK_MENU(gtk_menu_new());
-    GtkMenuItem* fooitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label( "Foo" ));
-    GtkMenuItem* baritem = GTK_MENU_ITEM(gtk_menu_item_new_with_label( "Bar" ));
-    gtk_widget_show( GTK_WIDGET(fooitem) );
-    gtk_widget_show( GTK_WIDGET(baritem) );
-    gtk_menu_shell_append( panelmenu, fooitem );
-    gtk_menu_shell_append( panelmenu, baritem );
-    gtk_widget_show_all( GTK_WIDGET(panelmenu) );
-
-    moko_panel_applet_set_popup( applet, GTK_WIDGET(panelmenu), MOKO_PANEL_APPLET_TAP_HOLD_POPUP );
-
-    // or something else
-    GtkButton* button = gtk_button_new_with_label( "Hello Applet World!" );
-    g_signal_connect( G_OBJECT(button), "clicked", G_CALLBACK(button_callback), applet );
-    moko_panel_applet_set_popup( applet, GTK_WIDGET(button), MOKO_PANEL_APPLET_CLICK_POPUP );
-
     gtk_main();
 
     g_debug( "openmoko-panel-demo ending" );

Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.h
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.h	2007-01-04 15:52:16 UTC (rev 507)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.h	2007-01-04 17:25:40 UTC (rev 508)
@@ -58,13 +58,16 @@
 typedef struct {
     GObjectClass parent_class;
 
-    void (*resize_callback) (MokoPanelApplet* self, int w, int h);
-    void (*paint_callback) (MokoPanelApplet* self, Drawable drw);
+    /* these may be overridden in derived classes */
+    void (*resize_callback) (MokoPanelApplet* self, int w, int h); // override to add custom resize handling
+    void (*paint_callback) (MokoPanelApplet* self, Drawable drw); // override to add custom paint
+    void (*clicked) (MokoPanelApplet* self); // override to add custom behaviour on click
+    void (*tap_hold) (MokoPanelApplet* self); // override to add custom behaviour on tap-with-hold
+
+    /* usually, there's no need to override these */
     void (*button_press_callback) (MokoPanelApplet* self, int x, int y);
     void (*button_release_callback) (MokoPanelApplet* self, int x, int y);
 
-    void (*clicked) (MokoPanelApplet* self);
-    void (*tap_hold) (MokoPanelApplet* self);
 } MokoPanelAppletClass;
 
 /* type interface */


Property changes on: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-clock/src/openmoko-panel-clock.c
___________________________________________________________________
Name: svn:executable
   - *

Modified: trunk/src/target/OM-2007/panel-plugins/panel-plugins.pro
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/panel-plugins.pro	2007-01-04 15:52:16 UTC (rev 507)
+++ trunk/src/target/OM-2007/panel-plugins/panel-plugins.pro	2007-01-04 17:25:40 UTC (rev 508)
@@ -1,5 +1,5 @@
 TEMPLATE = subdirs
-SUBDIRS =
+SUBDIRS = openmoko-panel-clock
 # SUBDIRS = openmoko-panel-search
 
 





More information about the commitlog mailing list