r407 - trunk/src/target/OM-2007/applications/openmoko-mainmenu/src

tongsong_li at gta01.hmw-consulting.de tongsong_li at gta01.hmw-consulting.de
Thu Dec 14 02:16:02 CET 2006


Author: tongsong_li
Date: 2006-12-14 02:15:54 +0100 (Thu, 14 Dec 2006)
New Revision: 407

Added:
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.c
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.h
Modified:
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c
Log:
insert mokoiconview object


Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am	2006-12-13 18:12:06 UTC (rev 406)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am	2006-12-14 01:15:54 UTC (rev 407)
@@ -1,4 +1,3 @@
-#INCLUDES = -DPKGDATADIR=\"$(pkgdatadir)\" @OPENMOKO_CFLAGS@ -Wall -std=c99 -pedantic
 AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" \
               -DPKGDATADIR=\"$(pkgdatadir)\"
 AM_CFLAGS = -Wall -std=c99 -pedantic @OPENMOKO_CFLAGS@

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c	2006-12-13 18:12:06 UTC (rev 406)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c	2006-12-14 01:15:54 UTC (rev 407)
@@ -19,52 +19,8 @@
 
 #include "main.h"
 
-static GtkVBox* vbox = NULL;
-static MokoFingerToolBox* tools = NULL;
-
-void cb_orange_button_clicked( GtkButton* button, MokoFingerWindow* window )
-{
-    g_debug( "openmoko-finger-demo: orange button clicked" );
-    static gboolean show = TRUE;
-    static MokoFingerWheel* wheel = NULL;
-
-    if (!wheel) wheel = moko_finger_wheel_new();
-
-    if ( show )
-        gtk_widget_show( GTK_WIDGET(wheel) );
-    else
-        gtk_widget_hide( GTK_WIDGET(wheel) );
-
-    show = !show;
-}
-
-void cb_black_button_clicked( GtkButton* button, MokoFingerWindow* window )
-{
-    g_debug( "openmoko-finger-demo: black button clicked" );
-    static gboolean show = TRUE;
-
-    if (!tools)
-    {
-        tools = moko_finger_tool_box_new();
-        for ( int i = 0; i < 1; ++i )
-            moko_finger_tool_box_add_button( tools );
-    }
-
-    if ( show )
-        gtk_widget_show( GTK_WIDGET(tools) );
-    else
-        gtk_widget_hide( GTK_WIDGET(tools) );
-
-    show = !show;
-}
-
-void cb_dialer_button_clicked( GtkButton* button, MokoFingerWindow* window )
-{
-    if (!tools) return;
-    moko_finger_tool_box_add_button( tools );
-}
-
-int main( int argc, char** argv ) {
+int 
+main( int argc, char** argv ) {
     MokoMainmenuApp *mma;
 
     GError* err = NULL;
@@ -116,7 +72,9 @@
     gtk_widget_show_all( GTK_WIDGET(mma->window) );
 
     gtk_widget_show (GTK_WIDGET (mma->wheel));
+    //gtk_widget_reparent (GTK_WIDGET (mma->wheel), GTK_WIDGET (mma->window));
     gtk_widget_show (GTK_WIDGET (mma->toolbox));
+    //gtk_widget_reparent (GTK_WIDGET (mma->toolbox), GTK_WIDGET (mma->window));
 
     //g_debug ("**************");
     //gdk_window_set_back_pixmap (gtk_widget_get_parent_window (mma->mm->icon_view), pixmap, FALSE);

Added: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.c	2006-12-13 18:12:06 UTC (rev 406)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.c	2006-12-14 01:15:54 UTC (rev 407)
@@ -0,0 +1,127 @@
+#include "mokoiconview.h"
+#include "callbacks.h"
+
+enum {
+    ICON_VIEW_SIGNAL,
+    LAST_SIGNAL
+};
+
+static void 
+moko_icon_view_class_init(MokoIconViewClass *klass);
+
+static void 
+moko_icon_view_init(MokoIconView *self);
+
+static guint icon_view_signals[LAST_SIGNAL] = { 0 };
+
+/**
+*@brief retrun 	MokoIconView type.
+*@param none
+*@return GType
+*/
+GType 
+moko_icon_view_get_type (void) /* Typechecking */
+{
+    static GType icon_view_type = 0;
+
+    if (!icon_view_type)
+    {
+        static const GTypeInfo icon_view_info =
+        {
+            sizeof (MokoIconViewClass),
+            NULL, /* base_init */
+            NULL, /* base_finalize */
+            (GClassInitFunc) moko_icon_view_class_init,
+            NULL, /* class_finalize */
+            NULL, /* class_data */
+            sizeof (MokoIconView),
+            0,
+            (GInstanceInitFunc) moko_icon_view_init,
+            NULL
+        };
+
+        icon_view_type = g_type_register_static (GTK_TYPE_VBOX, "MokoIconView", &icon_view_info, 0);
+    }
+
+    return icon_view_type;
+}
+
+/**
+*@brief initialize	MokoIconView class.
+*@param klass	MokoIconView Class
+*@return none
+*/
+static void 
+moko_icon_view_class_init(MokoIconViewClass* Klass) /* Class Initialization */
+{
+    icon_view_signals[ICON_VIEW_SIGNAL] = g_signal_new ("MokoIconView",
+            G_TYPE_FROM_CLASS (Klass),
+            G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+            G_STRUCT_OFFSET (MokoIconViewClass, moko_icon_view_function),
+            NULL,
+            NULL,
+            g_cclosure_marshal_VOID__VOID,
+            G_TYPE_NONE, 
+            0);
+}
+
+/*@brief initialize 	MokoIconView instance
+ *@param mm	MokoIconView*
+ *@return none
+ */
+void
+moko_icon_view_init(MokoIconView *self)
+{
+  PangoFontDescription* PangoFont = pango_font_description_new(); //get system default PangoFontDesc
+  GtkWidget *table;
+  gint i,j;
+  
+  table = gtk_table_new (3, 3, TRUE);
+  gtk_container_add (GTK_CONTAINER(self), table);
+  gtk_widget_show (table);
+
+  for (i=0;i<3; i++)
+    for (j=0;j<3; j++)
+      {
+	self->btns[i][j] = gtk_toggle_button_new ();
+	gtk_table_attach_defaults (GTK_TABLE(table), self->btns[i][j], 
+				   i, i+1, j, j+1);
+	gtk_signal_connect (GTK_OBJECT (self->btns[i][j]), "clicked",
+			    GTK_SIGNAL_FUNC (moko_item_select_cb), NULL);
+	gtk_widget_set_size_request (self->btns[i][j], 20, 20);
+	gtk_widget_show (self->btns[i][j]);
+//	gtk_misc_set_padding (GTK_MISC (self->btns[i][j]), 30, 30);
+//	sleep (1);
+      }
+
+  if (PangoFont)
+    pango_font_description_free (PangoFont);
+}
+
+
+/* Construction */
+GtkWidget* 
+moko_icon_view_new()
+{
+  return GTK_WIDGET(g_object_new(moko_icon_view_get_type(), NULL));
+}
+
+/* Destruction */
+void 
+moko_icon_view_clear(MokoIconView *self)
+{ 
+  if (!self) g_free (self);
+}
+
+/*
+*
+*
+*/
+void
+moko_icon_view_update(GtkListStore *store) {
+    
+}
+
+
+
+

Added: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.h	2006-12-13 18:12:06 UTC (rev 406)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/mokoiconview.h	2006-12-14 01:15:54 UTC (rev 407)
@@ -0,0 +1,65 @@
+#ifndef _MOKO_ICON_VIEW_H__
+#define _MOKO_ICON_VIEW_H__
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+/*widgets property(s)*/
+#define ICON_HEIGHT 	160
+#define ICON_WIDTH 		160
+
+#define MOKO_TYPE_ICON_VIEW				(moko_icon_view_get_type ())
+#define MOKO_ICON_VIEW(obj)				(G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_TYPE_ICON_VIEW, MokoIconView))
+#define MOKO_ICON_VIEW_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_TYPE_ICON_VIEW, MokoIconViewClass))
+#define MOKO_IS_ICON_VIEW(obj)				(GTK_CHECK_TYPE ((obj), MOKO_TYPE_ICON_VIEW))
+#define MOKO_IS_ICON_VIEW_CLASS(klass)		(G_TYPE_CHECK_INSTANCE_CAST ((klass), MOKO_TYPE_ICON_VIEW))
+#define MOKO_ICON_VIEW_GET_CLASS(obj)    	(G_TYPE_CHECK_CLASS_CAST ((obj), MOKO_TYPE_ICON_VIEW, MokoIconViewClass))
+
+typedef struct _MokoIconView			MokoIconView;
+typedef struct _MokoIconViewClass      	MokoIconViewClass;
+//typedef struct _MokoIconViewPrivate    	MokoIconViewPrivate;
+
+typedef void 
+(* MokoIconViewForeachFunc) (GtkIconView *icon_view, 
+						GtkTreePath *path, gpointer data);
+
+struct _MokoIconView 
+{
+  GtkVBox vbox;
+
+  GtkWidget *btns[3][3];
+  
+};
+
+struct _MokoIconViewClass
+{
+  GtkVBoxClass parent_class;
+
+  void(*moko_icon_view_function)(MokoIconView *self);
+
+  /*void    (* set_scroll_adjustments) (GtkIconView      *icon_view,
+				      GtkAdjustment    *hadjustment,
+				      GtkAdjustment    *vadjustment);
+  
+  void    (* item_activated)         (GtkIconView      *icon_view,
+				      GtkTreePath      *path);
+  void    (* selection_changed)      (GtkIconView      *icon_view);
+
+  /* Key binding signals */
+  /*void    (* select_all)             (GtkIconView      *icon_view);
+  void    (* unselect_all)           (GtkIconView      *icon_view);
+  void    (* select_cursor_item)     (GtkIconView      *icon_view);
+  void    (* toggle_cursor_item)     (GtkIconView      *icon_view);
+  gboolean (* move_cursor)           (GtkIconView      *icon_view,
+				      GtkMovementStep   step,
+				      gint              count);
+  gboolean (* activate_cursor_item)  (GtkIconView      *icon_view);
+  */
+};
+
+GType 
+moko_icon_view_get_type (void);
+
+G_END_DECLS
+
+#endif /* mokoiconview.h */





More information about the commitlog mailing list