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