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