r558 - in trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu: . src
tongsong_li at sita.openmoko.org
tongsong_li at sita.openmoko.org
Tue Jan 16 03:48:50 CET 2007
Author: tongsong_li
Date: 2007-01-16 03:48:31 +0100 (Tue, 16 Jan 2007)
New Revision: 558
Added:
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/main.c
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.c
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.h
Modified:
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/configure.ac
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/Makefile.am
Log:
use libmokoui widgets, by sunzhiyong<sunzhyong at fic-sh.com.cn>
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/configure.ac
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/configure.ac 2007-01-15 18:45:51 UTC (rev 557)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/configure.ac 2007-01-16 02:48:31 UTC (rev 558)
@@ -1,7 +1,7 @@
AC_PREREQ(2.53)
AC_INIT(openmoko-panel-mainmenu, %(1.0.0), http://www.openmoko.org/)
AM_INIT_AUTOMAKE()
-AC_CONFIG_SRCDIR(src/openmoko-panel-mainmenu.c)
+AC_CONFIG_SRCDIR(src/main.c)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
@@ -17,8 +17,8 @@
PKG_CHECK_MODULES(LIBMB, libmb,,
exit)
-LIBS="$LIBS $GTK_LIBS $LIBMB"
-CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $LIBMB"
+LIBS="$LIBS $GTK_LIBS $LIBMB_LIBS"
+CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $LIBMB_CFALGS"
# output stuff
AC_OUTPUT([
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/Makefile.am 2007-01-15 18:45:51 UTC (rev 557)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/Makefile.am 2007-01-16 02:48:31 UTC (rev 558)
@@ -2,7 +2,9 @@
bin_PROGRAMS = openmoko-panel-mainmenu
-openmoko_panel_mainmenu_SOURCES = openmoko-panel-mainmenu.c
+openmoko_panel_mainmenu_SOURCES = moko-panel-mainmenu.c\
+ moko-panel-mainmenu.h\
+ main.c
openmoko_panel_mainmenu_LDADD = @OPENMOKO_LIBS@
Added: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/main.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/main.c 2007-01-15 18:45:51 UTC (rev 557)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/main.c 2007-01-16 02:48:31 UTC (rev 558)
@@ -0,0 +1,37 @@
+/* main.c
+ *
+ * Authored By Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
+ *
+ * Copyright (C) 2007 Vanille-Media
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Public License as published by
+ * the Free Software Foundation; version 2.1 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Public License for more details.
+ *
+ * Current Version: $Rev$ ($Date: 2006/12/21 18:03:04 $) [$Author: mickey $]
+ */
+
+#include "moko-panel-mainmenu.h"
+
+#include <gtk/gtk.h>
+#include <libmb/mb.h>
+
+int
+main (int argc, char **argv)
+{
+ MokoPanelMainmenu *app;
+
+ moko_panel_system_init (&argc, &argv);
+
+ app = moko_panel_mainmenu_new();
+ moko_panel_applet_set_icon (MOKO_PANEL_APPLET (app), PKGDATADIR"/btn_menu.png");
+
+ gtk_main ();
+
+ return;
+}
Added: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.c 2007-01-15 18:45:51 UTC (rev 557)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.c 2007-01-16 02:48:31 UTC (rev 558)
@@ -0,0 +1,168 @@
+/* moko-panel-mainmenu.c
+ *
+ * Authored By Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
+ *
+ * Copyright (C) 2007 Vanille-Media
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Public License as published by
+ * the Free Software Foundation; version 2.1 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Public License for more details.
+ *
+ * Current Version: $Rev$ ($Date: 2006/12/21 18:03:04 $) [$Author: mickey $]
+ */
+#include "moko-panel-mainmenu.h"
+
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <libmb/mbpixbuf.h>
+
+#define DEBUG_THIS_FILE
+#ifdef DEBUG_THIS_FILE
+#define moko_debug(fmt,...) g_debug(fmt,##__VA_ARGS__)
+#else
+#define moko_debug(fmt,...)
+#endif
+
+G_DEFINE_TYPE (MokoPanelMainmenu, moko_panel_mainmenu, MOKO_TYPE_PANEL_APPLET);
+
+#define PANEL_APPLET_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MOKO_TYPE_PANEL_MAINMENU, MokoPanelMainmenuPrivate))
+
+typedef struct _MokoPanelMainmenuPrivate
+{
+};
+
+/* parent class pointer */
+MokoPanelAppletClass* parent_class = NULL;
+
+/* forward declarations */
+void moko_panel_mainmenu_clicked(MokoPanelMainmenu* self);
+void moko_panel_mainmenu_tap_hold(MokoPanelMainmenu* self);
+void moko_panel_mainmenu_paint(MokoPanelMainmenu* self, Drawable drw);
+void moko_panel_mainmenu_resize (MokoPanelMainmenu *self, Drawable drw);
+
+static void
+moko_panel_mainmenu_dispose(GObject* object)
+{
+ if (G_OBJECT_CLASS (moko_panel_mainmenu_parent_class)->dispose)
+ G_OBJECT_CLASS (moko_panel_mainmenu_parent_class)->dispose (object);
+}
+
+static void
+moko_panel_mainmenu_finalize(GObject* object)
+{
+ G_OBJECT_CLASS (moko_panel_mainmenu_parent_class)->finalize (object);
+}
+
+static void
+moko_panel_mainmenu_class_init(MokoPanelMainmenuClass* klass)
+{
+ /* hook parent */
+ GObjectClass* object_class = G_OBJECT_CLASS (klass);
+ parent_class = g_type_class_peek_parent(klass);
+
+ /* add private */
+ g_type_class_add_private (klass, sizeof(MokoPanelMainmenuPrivate));
+
+ /* hook destruction */
+ object_class->dispose = moko_panel_mainmenu_dispose;
+ object_class->finalize = moko_panel_mainmenu_finalize;
+
+ /* virtual methods */
+ MokoPanelAppletClass* applet_class = MOKO_PANEL_APPLET_CLASS(klass);
+ applet_class->clicked = moko_panel_mainmenu_clicked;
+ applet_class->tap_hold = moko_panel_mainmenu_tap_hold;
+ applet_class->paint_callback = moko_panel_mainmenu_paint;
+ applet_class->resize_callback = moko_panel_mainmenu_resize;
+
+ /* install properties */
+}
+
+MokoPanelMainmenu*
+moko_panel_mainmenu_new (void)
+{
+ return g_object_new(MOKO_TYPE_PANEL_MAINMENU, NULL);
+}
+
+static void
+moko_panel_mainmenu_init(MokoPanelMainmenu* self)
+{
+ moko_debug ("moko panel mainmenu init");
+ MokoPanelApplet *panel = MOKO_PANEL_APPLET(self);
+ //g_free (panel->mb_applet);
+ //mb_tray_app_main_init( panel->mb_applet );
+
+}
+
+void
+moko_panel_mainmenu_clicked(MokoPanelMainmenu* self)
+{
+ g_debug( "demo-panel-applet CLICKED" );
+}
+
+void
+moko_panel_mainmenu_tap_hold(MokoPanelMainmenu* self)
+{
+ g_debug( "demo-panel-applet TAP-HOLD" );
+}
+
+void
+moko_panel_mainmenu_paint(MokoPanelMainmenu* self, Drawable drw)
+{
+ g_debug ("moko panel mainmenu paint");
+ MokoPanelApplet* panel = MOKO_PANEL_APPLET(self);
+ MBPixbufImage* background = mb_tray_app_get_background( panel->mb_applet, panel->mb_pixbuf );
+ mb_pixbuf_img_copy_composite (panel->mb_pixbuf, background,
+ panel->mb_pixbuf_image,
+ 0, 0,
+ mb_tray_app_width (panel->mb_applet),
+ mb_tray_app_height (panel->mb_applet),
+ 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" );
+}
+
+void
+moko_panel_mainmenu_resize(MokoPanelMainmenu * self, Drawable drw)
+{
+ MokoPanelApplet *panel = MOKO_PANEL_APPLET(self);
+ g_debug ("moko panel mainmenu resize");
+ if (!panel->mb_pixbuf_image)
+ return;
+
+ int width = mb_pixbuf_img_get_width (panel->mb_pixbuf_image);
+ int height = mb_pixbuf_img_get_height (panel->mb_pixbuf_image);
+
+ moko_debug ("pixbuf: %d, %d", width, height);
+ mb_tray_app_request_size (panel->mb_applet, width, height);
+
+ width = mb_tray_app_width (panel->mb_applet);
+ height = mb_tray_app_height (panel->mb_applet);
+ moko_debug ("tray app: %d, %d", width, height);
+}
+
+static void
+fork_exec(char *cmd)
+{
+ switch (fork())
+ {
+ case 0:
+ setpgid(0, 0); /* Stop us killing child */
+ mb_exec(cmd);
+ fprintf(stderr, "openmoko-panel-gsm: Failed to Launch '%s'\n", cmd);
+ exit(1);
+ case -1:
+ fprintf(stderr, "openmoko-panel-gsm: Failed to Launch '%s'", cmd);
+ break;
+ }
+}
+
Added: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.h
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.h 2007-01-15 18:45:51 UTC (rev 557)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/moko-panel-mainmenu.h 2007-01-16 02:48:31 UTC (rev 558)
@@ -0,0 +1,63 @@
+/* moko-panel-mainmenu.h
+ *
+ * Authored By Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
+ *
+ * Copyright (C) 2007 Vanille-Media
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Public License as published by
+ * the Free Software Foundation; version 2.1 of the license.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Public License for more details.
+ *
+ * Current Version: $Rev$ ($Date: 2006/12/21 18:03:04 $) [$Author: mickey $]
+ */
+
+#ifndef _MOKO_PANEL_MAINMENU_H_
+#define _MOKO_PANEL_MAINMENU_H_
+
+#include <libmokoui/moko-panel-applet.h>
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+
+#define MOKO_TYPE_PANEL_MAINMENU moko_panel_mainmenu_get_type()
+#define MOKO_PANEL_MAINMENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ MOKO_TYPE_PANEL_MAINMENU, MokoPanelMainmenu))
+#define MOKO_PANEL_MAINMENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
+ MOKO_TYPE_PANEL_MAINMENU, MokoPanelMainmenuClass))
+#define MOKO_IS_PANEL_MAINMENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ MOKO_TYPE_PANEL_MAINMENU))
+#define MOKO_IS_PANEL_MAINMENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ MOKO_TYPE_PANEL_MAINMENU))
+#define MOKO_PANEL_MAINMENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ MOKO_TYPE_PANEL_MAINMENU, MokoPanelMainmenuClass))
+
+
+typedef struct _MokoPanelMainmenu MokoPanelMainmenu;
+typedef struct _MokoPanelMainmenuClass MokoPanelMainmenuClass;
+typedef struct _MokoPanelMainmenuPrivate MokoPanelMainmenuPrivate;
+
+struct _MokoPanelMainmenu {
+ MokoPanelApplet parent;
+
+ MokoPanelMainmenuPrivate *priv;
+};
+
+struct _MokoPanelMainmenuClass {
+ MokoPanelAppletClass parent_class;
+};
+
+GType moko_panel_mainmenu_get_type ();
+
+MokoPanelMainmenu* moko_panel_mainmenu_new ();
+
+G_END_DECLS
+
+#endif /*_MOKO_PANEL_MAINMENU_H_*/
+
More information about the commitlog
mailing list