r64 - in trunk/src/target/OM-2007: examples/openmoko-paned-demo libraries/mokoui

mickey at gta01.hmw-consulting.de mickey at gta01.hmw-consulting.de
Sat Sep 30 15:05:41 CEST 2006


Author: mickey
Date: 2006-09-30 13:05:40 +0000 (Sat, 30 Sep 2006)
New Revision: 64

Added:
   trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.c
   trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h
Modified:
   trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c
   trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.h
   trunk/src/target/OM-2007/libraries/mokoui/moko-application.c
   trunk/src/target/OM-2007/libraries/mokoui/moko-application.h
   trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro
Log:
mokoui: add openmoko-paned-window class
openmoko-paned-demo: use openmoko-paned-window class


Modified: trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c
===================================================================
--- trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c	2006-09-30 13:05:40 UTC (rev 64)
@@ -1,5 +1,5 @@
 /*
- *  3 Part Demo -- OpenMoko Demo Application
+ *  Paned-Demo -- OpenMoko Demo Application
  *
  *  Authored By Michael 'Mickey' Lauer <mlauer at vanille-media.de>
  *
@@ -18,7 +18,7 @@
  */
 
 #include <mokoui/moko-application.h>
-#include <mokoui/moko-window.h>
+#include <mokoui/moko-paned-window.h>
 #include <mokoui/moko-menubar.h>
 #include <mokoui/moko-toolbar.h>
 
@@ -136,53 +136,40 @@
 
 int main( int argc, char** argv )
 {
+    g_debug( "OPENMOKO-PANED-DEMO starting up" );
     /* Initialize GTK+ */
     gtk_init( &argc, &argv );
 
-    MokoApplication* app = MOKO_APPLICATION( moko_application_get_instance() );
-    g_set_application_name( "Hello OpenMoko!" );
+    /* application object */
+    MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance());
+    g_set_application_name( "OpenMoko-Paned-Demo" );
 
-    MokoWindow* window = MOKO_WINDOW(moko_window_new());
-    // moko_application_set_main_window( window );
+    /* main window */
+    MokoPanedWindow* window = MOKO_PANED_WINDOW(moko_paned_window_new());
 
-    /* Set up application menu */
+    /* application menu */
     GtkMenu* appmenu = gtk_menu_new();
     GtkMenuItem* closeitem = gtk_menu_item_new_with_label( "Close" );
-    g_signal_connect( G_OBJECT(closeitem), "activate", G_CALLBACK( gtk_main_quit ), NULL );
+    g_signal_connect( G_OBJECT(closeitem), "activate", G_CALLBACK(gtk_main_quit), NULL );
     gtk_menu_shell_append( appmenu, closeitem );
+    moko_paned_window_set_application_menu( window, appmenu );
 
-    GtkMenuItem* appitem = gtk_menu_item_new_with_label( "File" );
-    gtk_menu_item_set_submenu( appitem, appmenu );
+    /* connect close event */
+    g_signal_connect( G_OBJECT(window), "delete_event", G_CALLBACK( gtk_main_quit ), NULL );
 
-    gtk_widget_show( closeitem );
-
-    /* Set up upper frame */
-    GtkVBox* upperframe = gtk_vbox_new( FALSE, 0 );
-    MokoMenuBar* menubar = GTK_MENU_BAR(moko_menu_bar_new());
-    gtk_menu_shell_append( GTK_MENU_BAR(menubar), appitem );
-
-    //MokoMenuBar* menubar = get_menubar_menu( window );
-
-    gtk_box_pack_start( GTK_BOX(upperframe), GTK_WIDGET(menubar), TRUE, TRUE, 0 );
+    /* navigation area */
     GtkButton* navigationlist = gtk_button_new_with_label( "Hello Navigation Area!" );
-    gtk_box_pack_start( GTK_BOX(upperframe), GTK_WIDGET(navigationlist), TRUE, TRUE, 0 );
+    moko_paned_window_set_upper_pane( window, GTK_WIDGET(navigationlist) );
 
-    /* Set up lower frame */
-    GtkVBox* lowerframe = gtk_vbox_new( FALSE, 0 );
-
+    /* details area */
     GtkButton* detailslist = gtk_button_new_with_label( "Hello Details Area!" );
-    gtk_box_pack_start( GTK_BOX(lowerframe), GTK_WIDGET(detailslist), TRUE, TRUE, 0 );
+    moko_paned_window_set_lower_pane( window, GTK_WIDGET(detailslist) );
 
-    GtkVPaned* outerframe = gtk_vpaned_new();
-    gtk_paned_add1( GTK_PANED(outerframe), GTK_WIDGET(upperframe) );
-    gtk_paned_add2( GTK_PANED(outerframe), GTK_WIDGET(lowerframe) );
-    
-    gtk_container_add( GTK_CONTAINER(window), outerframe );
-
-    g_signal_connect( G_OBJECT(window), "delete_event", G_CALLBACK( gtk_main_quit ), NULL );
-
+    /* show everything and run main loop */
     gtk_widget_show_all( GTK_WIDGET(window) );
+    g_debug( "OPENMOKO-PANED-DEMO entering main loop" );
     gtk_main();
+    g_debug( "OPENMOKO-PANED-DEMO left main loop" );
 
     return 0;
 }

Modified: trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.h
===================================================================
--- trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.h	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.h	2006-09-30 13:05:40 UTC (rev 64)
@@ -1,5 +1,5 @@
 /*
- *  3 Part Demo -- OpenMoko Demo Application
+ *  Paned-Demo -- OpenMoko Demo Application
  *
  *  Authored By Michael 'Mickey' Lauer <mlauer at vanille-media.de>
  *

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-application.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-application.c	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-application.c	2006-09-30 13:05:40 UTC (rev 64)
@@ -75,6 +75,7 @@
 
 static void moko_application_init (MokoApplication *self)
 {
+    g_debug( "moko_application_init" );
     MokoApplicationPriv *priv = MOKO_APPLICATION_GET_PRIVATE (self);
 
     priv->killable = FALSE;
@@ -89,6 +90,7 @@
 
 static void moko_application_finalize (GObject *self)
 {
+    g_debug( "moko_application_finalize", self );
     MokoApplicationPriv *priv = MOKO_APPLICATION_GET_PRIVATE (MOKO_APPLICATION(self));
 
     if (priv->common_toolbar)

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-application.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-application.h	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-application.h	2006-09-30 13:05:40 UTC (rev 64)
@@ -23,7 +23,6 @@
 #include <glib-object.h>
 #include <gtk/gtkmenu.h>
 #include <gtk/gtktoolbar.h>
-//#include "hildon-window.h"
 
 G_BEGIN_DECLS
 
@@ -39,12 +38,6 @@
 typedef struct _MokoApplicationClass
 {
     GObjectClass parent;
-
-    /* Padding for future extension */
-    void (*_moko_reserved1)(void);
-    void (*_moko_reserved2)(void);
-    void (*_moko_reserved3)(void);
-    void (*_moko_reserved4)(void);
 } MokoApplicationClass;
 
 GType moko_application_get_type (void);

Added: trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.c	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.c	2006-09-30 13:05:40 UTC (rev 64)
@@ -0,0 +1,143 @@
+/*
+ *  libmokoui -- OpenMoko Application Framework UI Library
+ *
+ *  Authored By Michael 'Mickey' Lauer <mlauer at vanille-media.de>
+ *
+ *  Copyright (C) 2006 First International Computer Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU Lesser 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 Lesser Public License for more details.
+ *
+ *  Current Version: $Rev$ ($Date$) [$Author$]
+ */
+#include "moko-paned-window.h"
+#include "moko-menubar.h"
+#include "moko-toolbar.h"
+
+#include <gtk/gtkvbox.h>
+#include <gtk/gtkvpaned.h>
+
+#define MOKO_PANED_WINDOW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MOKO_TYPE_PANED_WINDOW, MokoPanedWindowPriv));
+
+typedef struct _MokoPanedWindowPriv
+{
+    GtkVPaned* outerframe;
+    GtkVBox* upper;
+    GtkVBox* lower;
+    MokoMenuBar* menubar;
+    MokoToolBar* toolbar;
+
+} MokoPanedWindowPriv;
+
+/* add your signals here */
+enum {
+    MOKO_PANED_WINDOW_SIGNAL,
+    LAST_SIGNAL
+};
+
+static void moko_paned_window_class_init          (MokoPanedWindowClass *klass);
+static void moko_paned_window_init                (MokoPanedWindow      *self);
+
+static guint moko_paned_window_signals[LAST_SIGNAL] = { 0 };
+
+GType moko_paned_window_get_type (void) /* Typechecking */
+{
+    static GType self_type = 0;
+
+    if (!self_type)
+    {
+        static const GTypeInfo f_info =
+        {
+            sizeof (MokoPanedWindowClass),
+            NULL, /* base_init */
+            NULL, /* base_finalize */
+            (GClassInitFunc) moko_paned_window_class_init,
+            NULL, /* class_finalize */
+            NULL, /* class_data */
+            sizeof (MokoPanedWindow),
+            0,
+            (GInstanceInitFunc) moko_paned_window_init,
+        };
+
+        /* add the type of your parent class here */
+        self_type = g_type_register_static(MOKO_TYPE_WINDOW, "MokoPanedWindow", &f_info, 0);
+    }
+
+    return self_type;
+}
+
+static void moko_paned_window_class_init (MokoPanedWindowClass *klass) /* Class Initialization */
+{
+    g_type_class_add_private(klass, sizeof(MokoPanedWindowPriv));
+
+    moko_paned_window_signals[MOKO_PANED_WINDOW_SIGNAL] = g_signal_new ("moko_paned_window",
+            G_TYPE_FROM_CLASS (klass),
+            G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+            G_STRUCT_OFFSET (MokoPanedWindowClass, moko_paned_window),
+            NULL,
+            NULL,
+            g_cclosure_marshal_VOID__VOID,
+            G_TYPE_NONE, 0);
+}
+
+static void moko_paned_window_init (MokoPanedWindow *self) /* Instance Construction */
+{
+    g_debug( "moko_paned_window_init" );
+    MokoPanedWindowPriv* priv = MOKO_PANED_WINDOW_GET_PRIVATE(self);
+    priv->outerframe = gtk_vpaned_new();
+    gtk_container_add( GTK_CONTAINER(self), GTK_WIDGET(priv->outerframe) );
+    priv->upper = gtk_vbox_new( FALSE, 0 );
+    gtk_paned_add1( GTK_PANED(priv->outerframe), GTK_WIDGET(priv->upper) );
+    priv->lower = gtk_vbox_new( FALSE, 0 );
+    gtk_paned_add2( GTK_PANED(priv->outerframe), GTK_WIDGET(priv->lower) );
+    priv->menubar = NULL;
+    priv->toolbar = NULL;
+}
+
+GtkWidget* moko_paned_window_new() /* Construction */
+{
+    return GTK_WIDGET(g_object_new(moko_paned_window_get_type(), NULL));
+}
+
+void moko_paned_window_clear(MokoPanedWindow *self) /* Destruction */
+{
+    g_debug( "moko_paned_window_clear" );
+    /* destruct your widgets here */
+}
+
+void moko_paned_window_set_application_menu(MokoPanedWindow* self, GtkMenu* menu)
+{
+    g_debug( "moko_paned_window_set_application_menu" );
+
+    MokoPanedWindowPriv* priv = MOKO_PANED_WINDOW_GET_PRIVATE(self);
+    if (!priv->menubar )
+    {
+        priv->menubar = moko_menu_bar_new();
+        gtk_box_pack_start( GTK_BOX(priv->upper), GTK_WIDGET(priv->menubar), FALSE, FALSE, 0 );
+    }
+    GtkMenuItem* appitem = gtk_menu_item_new_with_label( g_get_application_name() );
+    gtk_menu_item_set_submenu( appitem, menu );
+    gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar), appitem );
+}
+
+void moko_paned_window_set_upper_pane(MokoPanedWindow* self, GtkWidget* child)
+{
+    g_debug( "moko_paned_window_set_upper_pane" );
+    
+    MokoPanedWindowPriv* priv = MOKO_PANED_WINDOW_GET_PRIVATE(self);
+    gtk_box_pack_end( GTK_BOX(priv->upper), child, TRUE, TRUE, 0 );
+}
+
+void moko_paned_window_set_lower_pane(MokoPanedWindow* self, GtkWidget* child)
+{
+    g_debug( "moko_paned_window_set_lower_pane" );
+    
+    MokoPanedWindowPriv* priv = MOKO_PANED_WINDOW_GET_PRIVATE(self);
+    gtk_box_pack_start( GTK_BOX(priv->lower), child, TRUE, TRUE, 0 );
+}


Property changes on: trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.c
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h	2006-09-30 13:05:40 UTC (rev 64)
@@ -0,0 +1,63 @@
+/*
+ *  libmokoui -- OpenMoko Application Framework UI Library
+ *
+ *  Authored By Michael 'Mickey' Lauer <mlauer at vanille-media.de>
+ *
+ *  Copyright (C) 2006 First International Computer Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU Lesser 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 Lesser Public License for more details.
+ *
+ *  Current Version: $Rev$ ($Date$) [$Author$]
+ */
+#ifndef _MOKO_PANED_WINDOW_H_
+#define _MOKO_PANED_WINDOW_H_
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtkmenu.h>
+#include "moko-window.h"
+
+G_BEGIN_DECLS
+
+#define MOKO_TYPE_PANED_WINDOW            (moko_paned_window_get_type())
+#define MOKO_PANED_WINDOW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_TYPE_PANED_WINDOW, MokoPanedWindow))
+#define MOKO_PANED_WINDOW_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_TYPE_PANED_WINDOW, MokoPanedWindowClass))
+#define IS_MOKO_PANED_WINDOW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_PANED_WINDOW))
+#define IS_MOKO_PANED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_PANED_WINDOW))
+
+typedef struct _MokoPanedWindow       MokoPanedWindow;
+typedef struct _MokoPanedWindowClass  MokoPanedWindowClass;
+
+struct _MokoPanedWindow
+{
+    MokoWindow parent;
+    /* add pointers to new members here */
+};
+
+struct _MokoPanedWindowClass
+{
+    /* add your parent class here */
+    MokoWindowClass parent_class;
+    void (*moko_paned_window) (MokoPanedWindow *self);
+};
+
+GType          moko_paned_window_get_type        (void);
+GtkWidget*     moko_paned_window_new             (void);
+void           moko_paned_window_clear           (MokoPanedWindow *self);
+
+/* add additional methods here */
+void moko_paned_window_set_application_menu(MokoPanedWindow* self, GtkMenu* menu);
+
+void moko_paned_window_set_upper_pane(MokoPanedWindow* self, GtkWidget* child);
+void moko_paned_window_set_lower_pane(MokoPanedWindow* self, GtkWidget* child);
+
+G_END_DECLS
+
+#endif /* _MOKO_PANED_WINDOW_H_ */


Property changes on: trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro	2006-09-30 10:40:34 UTC (rev 63)
+++ trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro	2006-09-30 13:05:40 UTC (rev 64)
@@ -1,8 +1,8 @@
 TEMPLATE = lib
 VERSION = 0.0.1
 
-HEADERS = moko-application.h moko-window.h moko-menubar.h moko-toolbar.h
-SOURCES = moko-application.c moko-window.c moko-menubar.c moko-toolbar.c
+HEADERS = moko-application.h moko-window.h moko-paned-window.h moko-menubar.h moko-toolbar.h
+SOURCES = moko-application.c moko-window.c moko-paned-window.c moko-menubar.c moko-toolbar.c
 
 PKGCONFIG += gtk+-2.0
 





More information about the commitlog mailing list