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