r590 - in trunk/src/target/OM-2007/openmoko-libs: . libmokoui
mickey at sita.openmoko.org
mickey at sita.openmoko.org
Tue Jan 23 18:01:42 CET 2007
Author: mickey
Date: 2007-01-23 18:01:41 +0100 (Tue, 23 Jan 2007)
New Revision: 590
Modified:
trunk/src/target/OM-2007/openmoko-libs/configure.ac
trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.c
trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.h
Log:
openmoko-libs: no longer depend on libmatchbox
Modified: trunk/src/target/OM-2007/openmoko-libs/configure.ac
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/configure.ac 2007-01-23 11:12:27 UTC (rev 589)
+++ trunk/src/target/OM-2007/openmoko-libs/configure.ac 2007-01-23 17:01:41 UTC (rev 590)
@@ -16,12 +16,6 @@
LIBS="$LIBS $GTK_LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
-PKG_CHECK_MODULES(LIBMB, libmb >= 1.6,,
- AC_MSG_ERROR([*** Required Matchbox Library >= 1.6 not installed ***]))
-LIBS="$LIBS $LIBMB_LIBS"
-CFLAGS="$CFLAGS $LIBMB_CFLAGS"
-
-
# foo
#AC_ARG_ENABLE(foo,
# [ --enable-foo enable foo support],
Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.c 2007-01-23 11:12:27 UTC (rev 589)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.c 2007-01-23 17:01:41 UTC (rev 590)
@@ -19,11 +19,7 @@
#include "moko-panel-applet.h"
#include <gtk/gtkmenu.h>
-#include <gtk/gtkwidget.h>
-#include <gtk/gtkwindow.h>
-#include <gdk/gdkx.h>
-
#define DEBUG_THIS_FILE
#ifdef DEBUG_THIS_FILE
#define moko_debug(fmt,...) g_debug(fmt,##__VA_ARGS__)
@@ -32,7 +28,7 @@
#define moko_debug(fmt,...)
#endif
-G_DEFINE_TYPE (MokoPanelApplet, moko_panel_applet, G_TYPE_OBJECT)
+G_DEFINE_TYPE (MokoPanelApplet, moko_panel_applet, GTK_TYPE_ALIGNMENT)
#define MOKO_PANEL_APPLET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MOKO_TYPE_PANEL_APPLET, MokoPanelAppletPrivate))
#define MOKO_PANEL_APPLET_TAP_HOLD_TIMEOUT 750
@@ -55,33 +51,12 @@
/* parent class pointer */
static GObjectClass* parent_class = NULL;
-static int* app_argc;
-static char*** app_argv;
-static gboolean init_ok = FALSE;
-void moko_panel_system_init( int* argc, char*** argv )
-{
- gtk_init( argc, argv );
- app_argc = argc;
- app_argv = argv;
- init_ok = TRUE;
-}
-
/* forward declarations */
-void moko_panel_applet_real_resize_callback(MokoPanelApplet* self, int w, int h);
-void moko_panel_applet_real_paint_callback(MokoPanelApplet* self, Drawable drw);
-void moko_panel_applet_real_button_press_callback(MokoPanelApplet* self, int x, int y);
-void moko_panel_applet_real_button_release_callback(MokoPanelApplet* self, int x, int y);
-
+static gboolean cb_moko_panel_applet_button_release_event( GtkWidget* widget, GdkEventButton* event, MokoPanelApplet* self);
void moko_panel_applet_signal_clicked(MokoPanelApplet* self);
void moko_panel_applet_signal_tap_hold(MokoPanelApplet* self);
-static void _mb_applet_resize_callback(MBTrayApp* mb_applet, int w, int h);
-static void _mb_applet_paint_callback(MBTrayApp* mb_applet, Drawable drw);
-static void _mb_applet_button_callback(MBTrayApp* mb_applet, int x, int y, Bool released);
-
-static GdkFilterReturn _moko_panel_applet_gdk_event_filter(GdkXEvent* xev, GdkEvent* gev, MokoPanelApplet* self);
-
static void
moko_panel_applet_dispose(GObject* object)
{
@@ -98,11 +73,14 @@
static void
moko_panel_applet_class_init(MokoPanelAppletClass* klass)
{
- g_assert( init_ok ); // if this fails, you probably forgot to call moko_panel_init()
/* hook parent */
GObjectClass* object_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent(klass);
+ /* default signal handlers */
+ klass->clicked = moko_panel_applet_signal_clicked;
+ klass->tap_hold = moko_panel_applet_signal_tap_hold;
+
/* add private */
g_type_class_add_private (klass, sizeof(MokoPanelAppletPrivate));
@@ -110,15 +88,6 @@
object_class->dispose = moko_panel_applet_dispose;
object_class->finalize = moko_panel_applet_finalize;
- /* virtual methods */
- klass->resize_callback = moko_panel_applet_real_resize_callback;
- klass->paint_callback = moko_panel_applet_real_paint_callback;
- klass->button_press_callback = moko_panel_applet_real_button_press_callback;
- klass->button_release_callback = moko_panel_applet_real_button_release_callback;
-
- klass->clicked = moko_panel_applet_signal_clicked;
- klass->tap_hold = moko_panel_applet_signal_tap_hold;
-
/* install properties */
/* install signals */
@@ -144,8 +113,7 @@
MokoPanelApplet*
moko_panel_applet_new()
{
- MokoPanelApplet* self = g_object_new(MOKO_TYPE_PANEL_APPLET, NULL);
- return self;
+ return g_object_new(MOKO_TYPE_PANEL_APPLET, NULL);
}
static void
@@ -154,161 +122,68 @@
moko_debug( "moko_panel_applet_init" );
MokoPanelAppletClass* klass = MOKO_PANEL_APPLET_GET_CLASS(self);
- //self->applet = mb_tray_app_new_with_display (unsigned char *app_name, MBTrayAppResizeCB resize_cb, MBTrayAppPaintCB paint_cb, int *argc, char ***argv, Display *display)
- self->mb_applet = mb_tray_app_new_with_display( "testing", _mb_applet_resize_callback, _mb_applet_paint_callback, app_argc, app_argv, GDK_DISPLAY() );
- mb_tray_app_set_user_data( self->mb_applet, self );
- mb_tray_app_set_button_callback( self->mb_applet, _mb_applet_button_callback );
-
- self->mb_pixbuf = mb_pixbuf_new( mb_tray_app_xdisplay( self->mb_applet ), mb_tray_app_xscreen( self->mb_applet ) );
-
MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- priv->is_initialized = FALSE;
- priv->scaling_requested = FALSE;
priv->hold_timeout_triggered = FALSE;
-}
-static GdkFilterReturn
-_moko_panel_applet_gdk_event_filter(GdkXEvent* xev, GdkEvent* gev, MokoPanelApplet* self)
-{
- XEvent* ev = (XEvent*)xev;
- Display *dpy = ev->xany.display;
+ self->eventbox = gtk_event_box_new();
+ gtk_event_box_set_visible_window( self->eventbox, FALSE );
+ gtk_container_add( GTK_CONTAINER(self), GTK_WIDGET(self->eventbox) );
+ gtk_widget_show( self->eventbox );
- mb_tray_handle_xevent(self->mb_applet, ev);
-
- return GDK_FILTER_CONTINUE;
+ g_signal_connect( G_OBJECT(self->eventbox), "button-release-event", cb_moko_panel_applet_button_release_event, self );
}
static gboolean _moko_panel_applet_window_clicked(GtkWidget* widget, GdkEventButton* event, MokoPanelApplet* self)
{
gdk_pointer_ungrab( event->time );
- gtk_widget_hide( self->window );
+ gtk_widget_hide( self->toplevelwindow );
}
-static gboolean _moko_panel_applet_tap_hold_timeout(MokoPanelApplet* self)
-{
- moko_debug( "_moko_panel_applet_tap_hold_timeout" );
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- g_signal_emit( G_OBJECT(self), moko_panel_applet_signals[TAP_HOLD], 0, NULL );
- priv->hold_timeout_triggered = TRUE;
- return FALSE;
-}
-
-static void _mb_applet_resize_callback(MBTrayApp* mb_applet, int w, int h)
-{
- MokoPanelApplet* self = mb_tray_app_get_user_data( mb_applet );
- MOKO_PANEL_APPLET_GET_CLASS( self )->resize_callback( self, w, h );
-}
-
-static void _mb_applet_paint_callback(MBTrayApp* mb_applet, Drawable drw)
-{
- MokoPanelApplet* self = mb_tray_app_get_user_data( mb_applet );
- MOKO_PANEL_APPLET_GET_CLASS( self )->paint_callback( self, drw );
-}
-
-static void _mb_applet_button_callback(MBTrayApp* mb_applet, int x, int y, Bool released)
-{
- MokoPanelApplet* self = mb_tray_app_get_user_data( mb_applet );
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- if ( !released )
- MOKO_PANEL_APPLET_GET_CLASS( self )->button_press_callback( self, x, y );
- else if ( !priv->hold_timeout_triggered )
- MOKO_PANEL_APPLET_GET_CLASS( self )->button_release_callback( self, x, y );
- else
- moko_debug( "_mb_applet_button_callback: surpressing release callback, because timeout was triggered" );
-}
-
-void moko_panel_applet_real_resize_callback(MokoPanelApplet* self, int w, int h)
-{
- moko_debug( "moko_panel_applet_resize_callback" );
- moko_debug( "-- size = %d, %d", w, h );
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- if ( !self->mb_pixbuf_image )
- {
- g_warning( "no valid icon for panel application during resize callback" );
- return;
- }
- if ( self->mb_pixbuf_image_scaled && self->mb_pixbuf_image_scaled->width == w && self->mb_pixbuf_image_scaled->height == h )
- return;
- if ( !priv->scaling_requested )
- return;
- moko_debug( "-- new size, scaling pixbuf" );
- MBPixbufImage* scaled = mb_pixbuf_img_scale( self->mb_pixbuf, self->mb_pixbuf_image, w, h );
- if ( self->mb_pixbuf_image_scaled )
- mb_pixbuf_img_free( self->mb_pixbuf, self->mb_pixbuf_image_scaled );
- self->mb_pixbuf_image_scaled = scaled;
-}
-
-void moko_panel_applet_real_paint_callback(MokoPanelApplet* self, Drawable drw)
-{
- moko_debug( "moko_panel_applet_paint_callback" );
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- MBPixbufImage* icon = priv->scaling_requested ? self->mb_pixbuf_image_scaled : self->mb_pixbuf_image;
-
- if ( !icon )
- {
- g_warning( "no valid icon for panel application during paint callback" );
- return;
- }
-
- MBPixbufImage* background = mb_tray_app_get_background( self->mb_applet, self->mb_pixbuf );
- mb_pixbuf_img_composite( self->mb_pixbuf, background, icon, 0, 0 );
- mb_pixbuf_img_render_to_drawable( self->mb_pixbuf, background, drw, 0, 0 );
-#if 0
- mb_pixbuf_img_free( self->mb_pixbuf, background );
-#endif
-}
-
-void moko_panel_applet_real_button_press_callback(MokoPanelApplet* self, int x, int y)
-{
- moko_debug( "moko_panel_applet_real_button_press_callback" );
- moko_debug( "-- at %d, %d", x, y );
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- priv->hold_timeout_triggered = FALSE;
- g_timeout_add( MOKO_PANEL_APPLET_TAP_HOLD_TIMEOUT, (GSourceFunc) _moko_panel_applet_tap_hold_timeout, (gpointer) self );
-}
-
-void moko_panel_applet_real_button_release_callback(MokoPanelApplet* self, int x, int y)
-{
- moko_debug( "moko_panel_applet_real_button_release_callback" );
- moko_debug( "-- at %d, %d", x, y );
-
- if ( x > 0 && x < mb_tray_app_width( self->mb_applet ) && y > 0 && y < mb_tray_app_height( self->mb_applet ) )
- {
- g_signal_emit( G_OBJECT(self), moko_panel_applet_signals[CLICKED], 0, NULL );
- g_source_remove_by_user_data( (gpointer) self );
- }
-}
-
void moko_panel_applet_get_positioning_hint(MokoPanelApplet* self, GtkWidget* popup, int* x, int* y)
{
int win_w;
int win_h;
- gdk_window_get_geometry( GTK_WIDGET(self->window)->window, NULL, NULL, &win_w, &win_h, NULL );
+ gdk_window_get_geometry( GTK_WIDGET(self->toplevelwindow)->window, NULL, NULL, &win_w, &win_h, NULL );
moko_debug( "-- popup geom = %d, %d", win_w, win_h );
- GtkAllocation* allocation = >K_WIDGET(self->window)->allocation;
+ GtkAllocation* allocation = >K_WIDGET(self->toplevelwindow)->allocation;
moko_debug( "-- popup alloc = %d, %d", allocation->width, allocation->height );
+ GtkAllocation* applet_alloc = >K_WIDGET(self)->allocation;
+ moko_debug( "-- applet alloc = %d, %d", applet_alloc->width, applet_alloc->height );
+
int x_abs;
int y_abs;
- mb_tray_app_get_absolute_coords( self->mb_applet, &x_abs, &y_abs );
+
+ //FIXME this doesn't work w/ matchbox-panel 2 yet
+ gdk_window_get_root_origin( GTK_WIDGET(self->eventbox)->window, &x_abs, &y_abs );
+
moko_debug( "-- abs position = %d, %d", x_abs, y_abs );
*x = x_abs;
- *y = y_abs + mb_tray_app_height( self->mb_applet ) + 4;
+ *y = y_abs + applet_alloc->height + 4;
- if ( *x + win_w > DisplayWidth( mb_tray_app_xdisplay( self->mb_applet ), mb_tray_app_xscreen( self->mb_applet ) ) )
- *x = DisplayWidth( mb_tray_app_xdisplay( self->mb_applet ), mb_tray_app_xscreen( self->mb_applet ) ) - win_w - 2;
+ if ( *x + win_w > gdk_screen_width() )
+ *x = gdk_screen_width() - win_w - 2;
+ if ( *y + win_h > gdk_screen_height() )
+ *y = gdk_screen_height - win_h - applet_alloc->height - 2;
- if ( *y + win_h > DisplayHeight( mb_tray_app_xdisplay( self->mb_applet ), mb_tray_app_xscreen( self->mb_applet ) ) )
- *y = DisplayHeight( mb_tray_app_xdisplay( self->mb_applet ), mb_tray_app_xscreen( self->mb_applet ) ) - win_h - mb_tray_app_height( self->mb_applet ) - 2;
-
moko_debug( "-- final position = %d, %d", *x, *y );
}
+gboolean cb_moko_panel_applet_button_release_event( GtkWidget* widget, GdkEventButton* event, MokoPanelApplet* self)
+{
+ moko_debug( "cb_moko_panel_applet_button_release_event" );
+ if ( event->button == 1 )
+ g_signal_emit( G_OBJECT(self), moko_panel_applet_signals[CLICKED], 0, NULL );
+ else if ( event->button == 3 )
+ g_signal_emit( G_OBJECT(self), moko_panel_applet_signals[TAP_HOLD], 0, NULL );
+ return TRUE;
+}
+
void moko_panel_applet_signal_clicked(MokoPanelApplet* self)
{
- moko_debug( "moko_panel_applet_signal_clicked" );
- if ( self->window && GTK_WIDGET_VISIBLE( self->window ) )
+ moko_debug( __FUNCTION__ );
+ if ( self->toplevelwindow && GTK_WIDGET_VISIBLE( self->toplevelwindow ) )
moko_panel_applet_close_popup( self );
else
moko_panel_applet_open_popup( self, MOKO_PANEL_APPLET_CLICK_POPUP );
@@ -325,16 +200,15 @@
////////////////
void moko_panel_applet_set_icon(MokoPanelApplet* self, const gchar* filename, gboolean request_scaling)
{
- moko_debug_minder( self->mb_pixbuf );
- if ( self->mb_pixbuf_image ) mb_pixbuf_img_free( self->mb_pixbuf, self->mb_pixbuf_image );
- self->mb_pixbuf_image = mb_pixbuf_img_new_from_file( self->mb_pixbuf, filename );
- g_assert( self->mb_pixbuf_image );
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- priv->scaling_requested = request_scaling;
- if ( !request_scaling )
+ if ( !self->icon )
{
- moko_panel_applet_request_size( self, mb_pixbuf_img_get_width( self->mb_pixbuf_image ), mb_pixbuf_img_get_height( self->mb_pixbuf_image ) );
+ self->icon = gtk_image_new_from_file( filename );
+ g_return_if_fail( self->icon );
+ gtk_container_add( GTK_CONTAINER(self->eventbox), GTK_WIDGET(self->icon) );
+ gtk_widget_show( GTK_WIDGET(self->icon) );
}
+ else
+ gtk_image_set_from_file( self->icon, filename );
}
void moko_panel_applet_set_popup(MokoPanelApplet* self, GtkWidget* popup, MokoPanelAppletPopupType type)
@@ -361,82 +235,45 @@
return;
}
- if ( self->window && GTK_WIDGET_VISIBLE( self->window ) )
+ if ( self->toplevelwindow && GTK_WIDGET_VISIBLE( self->toplevelwindow ) )
moko_panel_applet_close_popup( self );
if ( GTK_IS_MENU(self->popup[type]) )
{
- self->window = self->popup[type];
- gtk_menu_popup( GTK_MENU( self->window ), NULL, NULL, NULL, NULL, 0, CurrentTime );
+ self->toplevelwindow = self->popup[type];
+ gtk_menu_popup( GTK_MENU( self->toplevelwindow ), NULL, NULL, NULL, NULL, 0, CurrentTime );
}
else
{
- self->window = gtk_window_new( GTK_WINDOW_POPUP );
- gtk_container_add( GTK_CONTAINER(self->window), self->popup[type] );
- g_signal_connect( G_OBJECT(self->window), "button-press-event", G_CALLBACK(_moko_panel_applet_window_clicked), self );
- gtk_widget_add_events( self->window, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK );
- gtk_widget_realize( self->window );
- gtk_widget_show_all( self->window );
+ self->toplevelwindow = gtk_window_new( GTK_WINDOW_POPUP );
+ gtk_container_add( GTK_CONTAINER(self->toplevelwindow), self->popup[type] );
+ g_signal_connect( G_OBJECT(self->toplevelwindow), "button-press-event", G_CALLBACK(_moko_panel_applet_window_clicked), self );
+ gtk_widget_add_events( self->toplevelwindow, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK );
+ gtk_widget_realize( self->toplevelwindow );
+ gtk_widget_show_all( self->toplevelwindow );
int x = 0;
int y = 0;
moko_panel_applet_get_positioning_hint( self, self->popup, &x, &y );
- gtk_window_move( self->window, x, y );
- //gtk_widget_set_uposition( self->window, x, y );
- gdk_pointer_grab( GTK_WIDGET(self->window)->window, TRUE, GDK_BUTTON_PRESS_MASK, NULL, NULL, CurrentTime );
+ gtk_window_move( self->toplevelwindow, x, y );
+ gdk_pointer_grab( GTK_WIDGET(self->toplevelwindow)->window, TRUE, GDK_BUTTON_PRESS_MASK, NULL, NULL, CurrentTime );
}
-
}
void moko_panel_applet_close_popup(MokoPanelApplet* self)
{
- g_return_if_fail( self->window || !GTK_WIDGET_VISIBLE(self->window) );
+ g_return_if_fail( self->toplevelwindow || !GTK_WIDGET_VISIBLE(self->toplevelwindow) );
moko_debug( "moko_panel_applet_close_popup" );
- if ( GTK_IS_MENU( self->window ) )
+ if ( GTK_IS_MENU( self->toplevelwindow ) )
{
- gtk_menu_popdown( GTK_MENU( self->window) );
+ gtk_menu_popdown( GTK_MENU( self->toplevelwindow) );
}
else
{
gdk_pointer_ungrab( CurrentTime );
- gtk_widget_hide( self->window );
- gtk_container_remove( GTK_CONTAINER(self->window), gtk_bin_get_child( GTK_BIN(self->window) ) );
- gtk_widget_destroy( self->window );
- self->window = 0L;
+ gtk_widget_hide( self->toplevelwindow );
+ gtk_container_remove( GTK_CONTAINER(self->toplevelwindow), gtk_bin_get_child( GTK_BIN(self->toplevelwindow) ) );
+ gtk_widget_destroy( self->toplevelwindow );
+ self->toplevelwindow = 0L;
}
}
-
-void moko_panel_applet_request_size(MokoPanelApplet* self, int x, int y)
-{
- moko_debug( "moko_panel_applet_request_size: %d, %d", x, y );
- mb_tray_app_request_size( self->mb_applet, x, y );
-}
-
-void moko_panel_applet_request_offset(MokoPanelApplet* self, int offset)
-{
- mb_tray_app_request_offset( self->mb_applet, offset );
-}
-
-void moko_panel_applet_show(MokoPanelApplet* self)
-{
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- if ( !priv->is_initialized )
- {
- mb_tray_app_main_init( self->mb_applet );
- gdk_window_add_filter( NULL, _moko_panel_applet_gdk_event_filter, self );
- priv->is_initialized = TRUE;
- }
- else
- {
- mb_tray_app_unhide( self->mb_applet );
- }
-}
-
-void moko_panel_applet_hide(MokoPanelApplet* self)
-{
- MokoPanelAppletPrivate* priv = MOKO_PANEL_APPLET_GET_PRIVATE( self );
- if ( priv->is_initialized )
- {
- mb_tray_app_hide( self->mb_applet );
- }
-}
\ No newline at end of file
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-23 11:12:27 UTC (rev 589)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-panel-applet.h 2007-01-23 17:01:41 UTC (rev 590)
@@ -19,8 +19,17 @@
#ifndef _MOKO_PANEL_APPLET_H_
#define _MOKO_PANEL_APPLET_H_
-#include <libmb/mbtray.h>
+#define DEBUG_THIS_FILE
+#ifdef DEBUG_THIS_FILE
+#define moko_debug(fmt,...) g_debug(fmt,##__VA_ARGS__)
+#define moko_debug_minder(predicate) moko_debug( __FUNCTION__ ); g_return_if_fail(predicate)
+#else
+#define moko_debug(fmt,...)
+#endif
+#include <gtk/gtkalignment.h>
+#include <gtk/gtkeventbox.h>
+#include <gtk/gtkimage.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtkwindow.h>
@@ -44,30 +53,19 @@
} MokoPanelAppletPopupType;
typedef struct {
- GObject parent;
- MBTrayApp* mb_applet;
- MBPixbuf* mb_pixbuf;
- MBPixbufImage* mb_pixbuf_image;
- MBPixbufImage* mb_pixbuf_image_scaled;
- int* argc;
- char*** argv;
+ GtkAlignment parent;
+ GtkImage* icon;
GtkWidget* popup[LAST_POPUP_TYPE];
- GtkWindow* window;
+ GtkWindow* toplevelwindow;
+ GtkEventBox* eventbox;
} MokoPanelApplet;
typedef struct {
- GObjectClass parent_class;
+ GtkAlignmentClass parent_class;
- /* 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);
-
} MokoPanelAppletClass;
/* type interface */
@@ -81,8 +79,6 @@
void moko_panel_applet_set_popup(MokoPanelApplet* self, GtkWidget* popup, MokoPanelAppletPopupType type);
void moko_panel_applet_open_popup(MokoPanelApplet* self, MokoPanelAppletPopupType type);
void moko_panel_applet_close_popup(MokoPanelApplet* self);
-void moko_panel_applet_show(MokoPanelApplet* self);
-void moko_panel_applet_show(MokoPanelApplet* self);
/* advanced interface */
void moko_panel_applet_request_size(MokoPanelApplet* self, int x, int y);
More information about the commitlog
mailing list