From 0e20d3d258e5531f752361566679354065de2bee Mon Sep 17 00:00:00 2001 From: Travis Reitter Date: Sun, 13 Sep 2009 20:17:16 -0700 Subject: [PATCH] Turn main-window into a GObject --- src/milk-main-window.c | 77 +++++++++++++++++++++++++++++++++++++++++++----- src/milk-main-window.h | 47 +++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 8 deletions(-) diff --git a/src/milk-main-window.c b/src/milk-main-window.c index 4e8afcc..03d54a7 100644 --- a/src/milk-main-window.c +++ b/src/milk-main-window.c @@ -23,16 +23,77 @@ #include #include -GtkWidget* -milk_main_window_new () +#include "milk-main-window.h" + +G_DEFINE_TYPE (MilkMainWindow, milk_main_window, HILDON_TYPE_WINDOW) + +#define MILK_MAIN_WINDOW_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), MILK_TYPE_MAIN_WINDOW, MilkMainWindowPrivate)) + +struct _MilkMainWindowPrivate +{ +}; + +static void +milk_main_window_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + switch (property_id) + { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +static void +milk_main_window_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (property_id) + { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +static void +milk_main_window_dispose (GObject *object) { - HildonProgram *program; - GtkWidget *window; + G_OBJECT_CLASS (milk_main_window_parent_class)->dispose (object); +} - program = hildon_program_get_instance (); +static void +milk_main_window_constructed (GObject* object) +{ + MilkMainWindow *self = MILK_MAIN_WINDOW (object); +} - window = hildon_window_new (); - hildon_program_add_window (program, HILDON_WINDOW (window)); +static void +milk_main_window_class_init (MilkMainWindowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + g_type_class_add_private (klass, sizeof (MilkMainWindowPrivate)); + + object_class->get_property = milk_main_window_get_property; + object_class->set_property = milk_main_window_set_property; + object_class->constructed = milk_main_window_constructed; + object_class->dispose = milk_main_window_dispose; +} - return window; +static void +milk_main_window_init (MilkMainWindow *self) +{ + self->priv = MILK_MAIN_WINDOW_PRIVATE (self); +} + +GtkWidget* +milk_main_window_new () +{ + return g_object_new (MILK_TYPE_MAIN_WINDOW, + NULL); } diff --git a/src/milk-main-window.h b/src/milk-main-window.h index 13fd249..31d9777 100644 --- a/src/milk-main-window.h +++ b/src/milk-main-window.h @@ -17,4 +17,51 @@ * Authors: Travis Reitter */ +#ifndef _MILK_MAIN_WINDOW_H +#define _MILK_MAIN_WINDOW_H + +G_BEGIN_DECLS + +#define MILK_TYPE_MAIN_WINDOW milk_main_window_get_type() + +#define MILK_MAIN_WINDOW(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + MILK_TYPE_MAIN_WINDOW, MilkMainWindow)) + +#define MILK_MAIN_WINDOW_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), \ + MILK_TYPE_MAIN_WINDOW, MilkMainWindowClass)) + +#define MILK_IS_MAIN_WINDOW(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ + MILK_TYPE_MAIN_WINDOW)) + +#define MILK_IS_MAIN_WINDOW_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), \ + MILK_TYPE_MAIN_WINDOW)) + +#define MILK_MAIN_WINDOW_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), \ + MILK_TYPE_MAIN_WINDOW, MilkMainWindowClass)) + +typedef struct _MilkMainWindow MilkMainWindow; +typedef struct _MilkMainWindowClass MilkMainWindowClass; +typedef struct _MilkMainWindowPrivate MilkMainWindowPrivate; + +struct _MilkMainWindow +{ + HildonWindow parent; + MilkMainWindowPrivate *priv; +}; + +struct _MilkMainWindowClass +{ + HildonWindowClass parent_class; +}; + +GType milk_main_window_get_type (void); + + GtkWidget* milk_main_window_new (); + +#endif /* _MILK_MAIN_WINDOW_H */ -- 1.7.9.5