[maemo-commits] [maemo-commits] r8210 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop
From: lucasr at stage.maemo.org lucasr at stage.maemo.orgDate: Tue Nov 21 13:55:27 EET 2006
- Previous message: [maemo-commits] r8209 - projects/haf/branches/maemo-af-desktop/hildon-desktop/test
- Next message: [maemo-commits] r8214 - projects/haf/branches/osso-gnome-vfs2/2-16-upstream-merge/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: lucasr Date: 2006-11-21 13:55:25 +0200 (Tue, 21 Nov 2006) New Revision: 8210 Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.c projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.h projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.c projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.h projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.c projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.h Log: 2006-11-21 Lucas Rocha <lucas.rocha at nokia.com> * libhildondesktop/desktop-multiscreen.[ch], libhildondesktop/desktop-panel.[ch], libhildondesktop/desktop-panel-window.[ch], libhildondesktop/hildon-desktop-item.[ch]: GObject Love (chain finalize to parent, use of macros, memory leaks, coding style, other minor things). Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog 2006-11-21 11:55:25 UTC (rev 8210) @@ -1,3 +1,12 @@ +2006-11-21 Lucas Rocha <lucas.rocha at nokia.com> + + * libhildondesktop/desktop-multiscreen.[ch], + libhildondesktop/desktop-panel.[ch], + libhildondesktop/desktop-panel-window.[ch], + libhildondesktop/hildon-desktop-item.[ch]: GObject Love (chain + finalize to parent, use of macros, memory leaks, coding style, other + minor things). + 2006-11-20 Lucas Rocha <lucas.rocha at nokia.com> * src/hd-desktop.c: use new HildonDesktopWindow to add plugins Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.c 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.c 2006-11-21 11:55:25 UTC (rev 8210) @@ -27,61 +27,30 @@ * */ +#include <gtk/gtk.h> + #include "desktop-multiscreen.h" -#include <gtk/gtkwindow.h> +#define DESKTOP_MULTISCREEN_GET_PRIVATE(object) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((object), DESKTOP_TYPE_MULTISCREEN, DesktopMultiscreen)) +G_DEFINE_TYPE (DesktopMultiscreen, desktop_ms, G_TYPE_OBJECT); + typedef struct { gint x0; gint y0; gint x1; gint y1; -} -MonitorBounds; +} MonitorBounds; -static GObject *parent_class = NULL; - -/*NOTE: static declarations */ -static void desktop_ms_init (DesktopMultiscreen *dms); -static void desktop_ms_class_init (DesktopMultiscreenClass *dms_class); static void desktop_ms_finalize (GObject *object); -GType desktop_ms_get_type (void) -{ - static GType ms_type = 0; - - if ( !ms_type ) - { - static const GTypeInfo dms_info = - { - sizeof ( DesktopMultiscreenClass ), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) desktop_ms_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof ( DesktopMultiscreen ), - 0, /* n_preallocs */ - (GInstanceInitFunc) desktop_ms_init, - }; - - ms_type = g_type_register_static (G_TYPE_OBJECT, - "DesktopMultiscreen", - &dms_info, - 0); - } - - return ms_type; -} - static void desktop_ms_class_init (DesktopMultiscreenClass *dms_class) { GObjectClass *object_class = G_OBJECT_CLASS (dms_class); - parent_class = g_type_class_peek_parent( dms_class ); - object_class->finalize = desktop_ms_finalize; dms_class->get_screens = desktop_ms_get_screens; @@ -154,6 +123,7 @@ g_free (dms->geometries); g_free (dms->monitors); + G_OBJECT_CLASS (desktop_ms_parent_class)->finalize (object); } static inline void @@ -162,14 +132,14 @@ gint n_monitor, MonitorBounds *bounds) { - g_assert (n_screen >= 0 && n_screen < dms->screens); - g_assert (n_monitor >= 0 || n_monitor < dms->monitors[n_screen]); - g_assert (bounds != NULL); - - bounds->x0 = dms->geometries[n_screen][n_monitor].x; - bounds->y0 = dms->geometries[n_screen][n_monitor].y; - bounds->x1 = bounds->x0 + dms->geometries[n_screen][n_monitor].width; - bounds->y1 = bounds->y0 + dms->geometries[n_screen][n_monitor].height; + g_assert (n_screen >= 0 && n_screen < dms->screens); + g_assert (n_monitor >= 0 || n_monitor < dms->monitors[n_screen]); + g_assert (bounds != NULL); + + bounds->x0 = dms->geometries[n_screen][n_monitor].x; + bounds->y0 = dms->geometries[n_screen][n_monitor].y; + bounds->x1 = bounds->x0 + dms->geometries[n_screen][n_monitor].width; + bounds->y1 = bounds->y0 + dms->geometries[n_screen][n_monitor].height; } void Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.h 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-multiscreen.h 2006-11-21 11:55:25 UTC (rev 8210) @@ -32,36 +32,23 @@ G_BEGIN_DECLS -#define DESKTOP_TYPE_MULTISCREEN ( desktop_ms_get_type() ) -#define DESKTOP_MULTISCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, \ - DESKTOP_TYPE_MULTISCREEN, \ - DesktopMultiscreen)) - -#define DESKTOP_MULTISCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \ - DESKTOP_TYPE_MULTISCREEN, \ - DesktopMultiscreenClass)) - -#define DESKTOP_IS_MULTISCREEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, \ - DESKTOP_TYPE_MULTISCREEN)) - -#define DESKTOP_IS_MULTISCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - DESKTOP_TYPE_MULTISCREEN)) - -#define DESKTOP_MULTISCREEN_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \ - DESKTOP_TYPE_MULTISCREEN, DesktopMultiscreenPrivate)); - typedef struct _DesktopMultiscreen DesktopMultiscreen; typedef struct _DesktopMultiscreenClass DesktopMultiscreenClass; +#define DESKTOP_TYPE_MULTISCREEN (desktop_ms_get_type()) +#define DESKTOP_MULTISCREEN(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, DESKTOP_TYPE_MULTISCREEN, DesktopMultiscreen)) +#define DESKTOP_MULTISCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_TYPE_MULTISCREEN, DesktopMultiscreenClass)) +#define DESKTOP_IS_MULTISCREEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, DESKTOP_TYPE_MULTISCREEN)) +#define DESKTOP_IS_MULTISCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_TYPE_MULTISCREEN)) + struct _DesktopMultiscreen { - GObject parent; + GObject parent; - gint screens; - gint *monitors; /*NOTE: monitors[screen] */ - GdkRectangle **geometries; /*NOTE: geometries[screen][monitor]; */ - gboolean initialized; + gint screens; + gint *monitors; /*NOTE: monitors[screen] */ + GdkRectangle **geometries; /*NOTE: geometries[screen][monitor]; */ + gboolean initialized; }; struct _DesktopMultiscreenClass @@ -101,45 +88,46 @@ }; -GType desktop_ms_get_type (void); +GType desktop_ms_get_type (void); -void desktop_ms_reinit (DesktopMultiscreen *ms); +void desktop_ms_reinit (DesktopMultiscreen *ms); -gint desktop_ms_get_screens (DesktopMultiscreen *ms); +gint desktop_ms_get_screens (DesktopMultiscreen *ms); -gint desktop_ms_get_monitors (DesktopMultiscreen *ms, - GdkScreen *screen); +gint desktop_ms_get_monitors (DesktopMultiscreen *ms, + GdkScreen *screen); -gint desktop_ms_get_x (DesktopMultiscreen *ms, - GdkScreen *screen, - gint monitor); +gint desktop_ms_get_x (DesktopMultiscreen *ms, + GdkScreen *screen, + gint monitor); -gint desktop_ms_get_y (DesktopMultiscreen *ms, - GdkScreen *screen, - gint monitor); +gint desktop_ms_get_y (DesktopMultiscreen *ms, + GdkScreen *screen, + gint monitor); -gint desktop_ms_get_width (DesktopMultiscreen *ms, - GdkScreen *screen, - gint monitor); +gint desktop_ms_get_width (DesktopMultiscreen *ms, + GdkScreen *screen, + gint monitor); -gint desktop_ms_get_height (DesktopMultiscreen *ms, - GdkScreen *screen, - gint monitor); +gint desktop_ms_get_height (DesktopMultiscreen *ms, + GdkScreen *screen, + gint monitor); -gint desktop_ms_locate_widget_monitor (DesktopMultiscreen *ms, - GtkWidget *widget); +gint desktop_ms_locate_widget_monitor (DesktopMultiscreen *ms, + GtkWidget *widget); -void desktop_ms_is_at_visible_extreme (DesktopMultiscreen *ms, - GdkScreen *screen,gint monitor, - gboolean *leftmost, - gboolean *rightmost, - gboolean *topmost, - gboolean *bottommost); +void desktop_ms_is_at_visible_extreme (DesktopMultiscreen *ms, + GdkScreen *screen, + gint monitor, + gboolean *leftmost, + gboolean *rightmost, + gboolean *topmost, + gboolean *bottommost); -gchar **desktop_ms_make_environment_for_screen (DesktopMultiscreen *ms, - GdkScreen *screen, - gchar **envp); +gchar** desktop_ms_make_environment_for_screen (DesktopMultiscreen *ms, + GdkScreen *screen, + gchar **envp); G_END_DECLS -#endif /* __DESKTOP_MULTISCREEN_H__ */ +#endif Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c 2006-11-21 11:55:25 UTC (rev 8210) @@ -23,28 +23,16 @@ * */ -#include "desktop-panel-window.h" #include <gtk/gtk.h> #include <gdk/gdk.h> +#include "desktop-panel-window.h" + #define DESKTOP_PANEL_WINDOW_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), DESKTOP_TYPE_PANEL_WINDOW, DesktopPanelWindowPrivate)) -#define CHECK_MULTISCREEN_HANDLER(o) \ - if (!o) \ - { \ - o = g_object_new (DESKTOP_TYPE_MULTISCREEN,NULL); \ - g_object_ref (G_OBJECT (o)); \ - } +G_DEFINE_TYPE (DesktopPanelWindow, desktop_panel_window, HILDON_DESKTOP_TYPE_WINDOW); -#define IS_HORIZONTAL(w) (w->priv->orientation & DPANEL_ORIENTATION_HORIZONTAL) -#define IS_VERTICAL(w) (w->priv->orientation & DPANEL_ORIENTATION_VERTICAL) -#define IS_TOP(w) (w->priv->orientation & DPANEL_ORIENTATION_TOP) -#define IS_BOTTOM(w) (w->priv->orientation & DPANEL_ORIENTATION_BOTTOM) -#define IS_LEFT(w) (w->priv->orientation & DPANEL_ORIENTATION_LEFT) -#define IS_RIGHT(w) (w->priv->orientation & DPANEL_ORIENTATION_RIGHT) - -#define MAGIC_GEOMETRY(w) (w->priv->magic_geometry.width != -1 && w->priv->magic_geometry.height != -1) enum { PROP_0, @@ -64,20 +52,36 @@ struct _DesktopPanelWindowPrivate { - DesktopMultiscreen *ms; - DPanelWinOrientation orientation; - DPanelWinOpStates state; - GdkRectangle geometry; - GdkRectangle horiz_geometry; - GdkRectangle vert_geometry; - GdkRectangle magic_geometry; - gboolean stretch; - gboolean grab_keyboard; - gint drag_offset_x; /* For sure, this will be deleted */ - gint drag_offset_y; /* For sure, this will be deleted */ - gboolean move; + DesktopMultiscreen *ms; + DPanelWinOrientation orientation; + DPanelWinOpStates state; + GdkRectangle geometry; + GdkRectangle horiz_geometry; + GdkRectangle vert_geometry; + GdkRectangle magic_geometry; + gboolean stretch; + gboolean grab_keyboard; + gint drag_offset_x; /* For sure, this will be deleted */ + gint drag_offset_y; /* For sure, this will be deleted */ + gboolean move; }; +#define IS_HORIZONTAL(w) (w->priv->orientation & DPANEL_ORIENTATION_HORIZONTAL) +#define IS_VERTICAL(w) (w->priv->orientation & DPANEL_ORIENTATION_VERTICAL) +#define IS_TOP(w) (w->priv->orientation & DPANEL_ORIENTATION_TOP) +#define IS_BOTTOM(w) (w->priv->orientation & DPANEL_ORIENTATION_BOTTOM) +#define IS_LEFT(w) (w->priv->orientation & DPANEL_ORIENTATION_LEFT) +#define IS_RIGHT(w) (w->priv->orientation & DPANEL_ORIENTATION_RIGHT) + +#define CHECK_MULTISCREEN_HANDLER(o) \ + if (!o) \ + { \ + o = g_object_new (DESKTOP_TYPE_MULTISCREEN,NULL); \ + g_object_ref (G_OBJECT (o)); \ + } + +#define MAGIC_GEOMETRY(w) (w->priv->magic_geometry.width != -1 && w->priv->magic_geometry.height != -1) + static void desktop_panel_window_class_init (DesktopPanelWindowClass *dskwindow_class); /*static void set_focus_forall_cb (GtkWidget *widget, gpointer data);*/ static void desktop_panel_window_finalize (GObject *self); @@ -103,7 +107,7 @@ static gboolean desktop_panel_motion_notify_event (GtkWidget *widget, GdkEventMotion *event); static void desktop_panel_size_request (GtkWidget *widget, GtkRequisition *requisition); static void desktop_panel_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -/* */ + static void desktop_panel_begin_grab (DesktopPanelWindow *window, DPanelWinOpStates state, gboolean grab_keyboard, @@ -120,37 +124,6 @@ gint px, gint py); -/* */ -static GtkWindowClass *parent_class; - -GType -desktop_panel_window_get_type (void) -{ - static GType window_type = 0; - - if ( !window_type ) - { - static const GTypeInfo window_info = - { - sizeof (DesktopPanelWindowClass) , - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) desktop_panel_window_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (DesktopPanelWindow), - 0, /* n_preallocs */ - (GInstanceInitFunc) desktop_panel_window_init, - }; - - window_type = g_type_register_static (HILDON_DESKTOP_TYPE_WINDOW, - "DesktopPanelWindow", - &window_info,0); - } - - return window_type; -} - static void desktop_panel_window_class_init (DesktopPanelWindowClass *dskwindow_class) { @@ -160,8 +133,6 @@ g_type_class_add_private (dskwindow_class, sizeof (DesktopPanelWindowPrivate)); - parent_class = g_type_class_peek_parent (dskwindow_class); - object_class->constructor = desktop_panel_window_constructor; object_class->finalize = desktop_panel_window_finalize; object_class->set_property = desktop_panel_window_set_property; @@ -361,10 +332,11 @@ DesktopPanelWindow *window; GtkWidget *widget; - object = G_OBJECT_CLASS (parent_class)->constructor (gtype, - n_params, - params); - widget = GTK_WIDGET (object); + object = G_OBJECT_CLASS (desktop_panel_window_parent_class)->constructor (gtype, + n_params, + params); + + widget = GTK_WIDGET (object); window = DESKTOP_PANEL_WINDOW (object); GTK_WINDOW (window)->type = GTK_WINDOW_TOPLEVEL; @@ -1059,4 +1031,3 @@ window->priv->ms = ms; } - Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h 2006-11-21 11:55:25 UTC (rev 8210) @@ -30,41 +30,37 @@ #include <libhildondesktop/desktop-multiscreen.h> #include <libhildondesktop/hildon-desktop-window.h> - #include <libhildondesktop/desktop-panel.h> G_BEGIN_DECLS - -#define DESKTOP_TYPE_PANEL_WINDOW ( desktop_panel_window_get_type() ) -#define DESKTOP_PANEL_WINDOW(obj) (GTK_CHECK_CAST (obj, DESKTOP_TYPE_PANEL_WINDOW, DesktopPanelWindow)) -#define DESKTOP_PANEL_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), DESKTOP_TYPE_PANEL_WINDOW, DesktopPanelWindowClass)) -#define DESKTOP_IS_PANEL_WINDOW(obj) (GTK_CHECK_TYPE (obj, DESKTOP_TYPE_PANEL_WINDOW)) -#define DESKTOP_IS_PANEL_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), DESKTOP_TYPE_PANEL_WINDOW)) - - typedef struct _DesktopPanelWindow DesktopPanelWindow; typedef struct _DesktopPanelWindowClass DesktopPanelWindowClass; typedef struct _DesktopPanelWindowPrivate DesktopPanelWindowPrivate; +#define DESKTOP_TYPE_PANEL_WINDOW (desktop_panel_window_get_type()) +#define DESKTOP_PANEL_WINDOW(obj) (GTK_CHECK_CAST (obj, DESKTOP_TYPE_PANEL_WINDOW, DesktopPanelWindow)) +#define DESKTOP_PANEL_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), DESKTOP_TYPE_PANEL_WINDOW, DesktopPanelWindowClass)) +#define DESKTOP_IS_PANEL_WINDOW(obj) (GTK_CHECK_TYPE (obj, DESKTOP_TYPE_PANEL_WINDOW)) +#define DESKTOP_IS_PANEL_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), DESKTOP_TYPE_PANEL_WINDOW)) + typedef enum { DPANEL_ORIENTATION_TOP = 1 << 0, DPANEL_ORIENTATION_LEFT = 1 << 1, DPANEL_ORIENTATION_RIGHT = 1 << 2, DPANEL_ORIENTATION_BOTTOM = 1 << 3 -} -DPanelWinOrientation; +} DPanelWinOrientation; typedef enum { DESKTOP_PANEL_GRAB_NONE = 0, DESKTOP_PANEL_GRAB_MOVE -} -DPanelWinOpStates; +} DPanelWinOpStates; #define DPANEL_ORIENTATION_HORIZONTAL \ (DPANEL_ORIENTATION_TOP | DPANEL_ORIENTATION_BOTTOM) + #define DPANEL_ORIENTATION_VERTICAL \ (DPANEL_ORIENTATION_LEFT | DPANEL_ORIENTATION_RIGHT) @@ -86,20 +82,21 @@ void (*set_focus) (DesktopPanelWindow *window, gboolean focus); - }; -GType desktop_panel_window_get_type (void); +GType desktop_panel_window_get_type (void); -DesktopPanelWindow *desktop_panel_window_new (void); +DesktopPanelWindow* desktop_panel_window_new (void); -void set_multiscreen_handler (DesktopPanelWindow *window, DesktopMultiscreen *ms); +void set_multiscreen_handler (DesktopPanelWindow *window, + DesktopMultiscreen *ms); -void desktop_panel_window_set_sensitive (DesktopPanelWindow *window, gboolean sensitive); +void desktop_panel_window_set_sensitive (DesktopPanelWindow *window, + gboolean sensitive); -void desktop_panel_window_set_focus (DesktopPanelWindow *window, gboolean focus); +void desktop_panel_window_set_focus (DesktopPanelWindow *window, + gboolean focus); - G_END_DECLS #endif Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.c 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.c 2006-11-21 11:55:25 UTC (rev 8210) @@ -26,24 +26,27 @@ #include "desktop-panel.h" #include "hildon-desktop-item.h" +#define DESKTOP_PANEL_GET_PRIVATE(object) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((object), DESKTOP_TYPE_PANEL, DesktopPanel)) + +G_DEFINE_TYPE (DesktopPanel, desktop_panel, GTK_TYPE_BOX); + enum { PROP_0, - DESKTOP_PANEL_ORI_PROP, - DESKTOP_PANEL_ITEM_WIDTH_PROP, - DESKTOP_PANEL_ITEM_HEIGHT_PROP + PROP_ORI, + PROP_ITEM_WIDTH, + PROP_ITEM_HEIGHT }; enum { - DESKTOP_PANEL_FLIP, - DPANEL_N_SIGNALS + SIGNAL_FLIP, + N_SIGNALS }; -static gint desktop_signals[DPANEL_N_SIGNALS]; +static gint desktop_signals[N_SIGNALS]; -/* static declarations */ - static void desktop_panel_class_init (DesktopPanelClass *panel_class); static void desktop_panel_init (DesktopPanel *panel); @@ -76,35 +79,6 @@ static void desktop_panel_cadd (GtkContainer *container, GtkWidget *widget); -GType -desktop_panel_get_type (void) -{ - static GType panel_type = 0; - - if ( !panel_type ) - { - static const GTypeInfo panel_info = - { - sizeof (DesktopPanelClass) , - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) desktop_panel_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (DesktopPanel), - 0, /* n_preallocs */ - (GInstanceInitFunc) desktop_panel_init, - }; - - panel_type = g_type_register_static (GTK_TYPE_BOX, - "DesktopPanel", - &panel_info,0); - /*G_TYPE_FLAG_ABSTRACT);*/ - } - - return panel_type; -} - static void desktop_panel_class_init (DesktopPanelClass *panel_class) { @@ -112,21 +86,21 @@ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (panel_class); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (panel_class); - widget_class->size_request = desktop_panel_size_request; - widget_class->size_allocate = desktop_panel_size_allocate; + widget_class->size_request = desktop_panel_size_request; + widget_class->size_allocate = desktop_panel_size_allocate; - panel_class->get_orientation = desktop_panel_get_orientation; - panel_class->set_orientation = desktop_panel_set_orientation; - panel_class->flip_panel = desktop_panel_flip_panel; - panel_class->add_button = desktop_panel_add_button; - panel_class->panel_flipped = NULL; + panel_class->get_orientation = desktop_panel_get_orientation; + panel_class->set_orientation = desktop_panel_set_orientation; + panel_class->flip_panel = desktop_panel_flip_panel; + panel_class->add_button = desktop_panel_add_button; + panel_class->panel_flipped = NULL; - container_class->add = desktop_panel_cadd; + container_class->add = desktop_panel_cadd; - object_class->get_property = desktop_panel_get_property; - object_class->set_property = desktop_panel_set_property; + object_class->get_property = desktop_panel_get_property; + object_class->set_property = desktop_panel_set_property; - desktop_signals[DESKTOP_PANEL_FLIP] = + desktop_signals[SIGNAL_FLIP] = g_signal_new("desktop_panel_flip", G_OBJECT_CLASS_TYPE(object_class), G_SIGNAL_RUN_FIRST, @@ -136,7 +110,7 @@ G_TYPE_NONE, 0); g_object_class_install_property (object_class, - DESKTOP_PANEL_ORI_PROP, + PROP_ORI, g_param_spec_int ("orientation", "orientation", "orientation", @@ -146,7 +120,7 @@ G_PARAM_CONSTRUCT | G_PARAM_READWRITE)); g_object_class_install_property (object_class, - DESKTOP_PANEL_ITEM_WIDTH_PROP, + PROP_ITEM_WIDTH, g_param_spec_int ("item_width", "itwidth", "item's width in the container", @@ -156,7 +130,7 @@ G_PARAM_CONSTRUCT | G_PARAM_READWRITE)); g_object_class_install_property (object_class, - DESKTOP_PANEL_ITEM_HEIGHT_PROP, + PROP_ITEM_HEIGHT, g_param_spec_int ("item_height", "itheigth", "item's width in the container", @@ -164,7 +138,6 @@ G_MAXINT, 0, G_PARAM_CONSTRUCT | G_PARAM_READWRITE)); - } static void @@ -196,14 +169,14 @@ switch (prop_id) { - case DESKTOP_PANEL_ORI_PROP: - g_value_set_int (value,panel->orient); + case PROP_ORI: + g_value_set_int (value, panel->orient); break; - case DESKTOP_PANEL_ITEM_WIDTH_PROP: - g_value_set_int (value,panel->item_width); + case PROP_ITEM_WIDTH: + g_value_set_int (value, panel->item_width); break; - case DESKTOP_PANEL_ITEM_HEIGHT_PROP: - g_value_set_int (value,panel->item_height); + case PROP_ITEM_HEIGHT: + g_value_set_int (value, panel->item_height); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -225,13 +198,13 @@ switch (prop_id) { - case DESKTOP_PANEL_ORI_PROP: + case PROP_ORI: panel->orient = g_value_get_int (value); break; - case DESKTOP_PANEL_ITEM_WIDTH_PROP: - panel->item_width = g_value_get_int (value); + case PROP_ITEM_WIDTH: + panel->item_width = g_value_get_int (value); break; - case DESKTOP_PANEL_ITEM_HEIGHT_PROP: + case PROP_ITEM_HEIGHT: panel->item_height = g_value_get_int (value); break; default: @@ -824,8 +797,8 @@ #ifndef PERFORMANCE GtkOrientation orientation; - g_object_get (G_OBJECT (panel), "orientation",&orientation,NULL); - g_object_set (G_OBJECT (panel),"orientation",!orientation,NULL); + g_object_get (G_OBJECT (panel), "orientation", &orientation,NULL); + g_object_set (G_OBJECT (panel), "orientation", !orientation,NULL); #else panel->orient = !priv->orient; #endif Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.h 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel.h 2006-11-21 11:55:25 UTC (rev 8210) @@ -31,20 +31,15 @@ G_BEGIN_DECLS -#define DESKTOP_TYPE_PANEL ( desktop_panel_get_type() ) -#define DESKTOP_PANEL(obj) (GTK_CHECK_CAST (obj, \ - DESKTOP_TYPE_PANEL, \ - DesktopPanel)) -#define DESKTOP_PANEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), \ - DESKTOP_TYPE_PANEL, DesktopPanelClass)) -#define DESKTOP_IS_PANEL(obj) (GTK_CHECK_TYPE (obj, \ - DESKTOP_TYPE_PANEL)) -#define DESKTOP_IS_PANEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), \ - DESKTOP_TYPE_PANEL)) - typedef struct _DesktopPanel DesktopPanel; typedef struct _DesktopPanelClass DesktopPanelClass; +#define DESKTOP_TYPE_PANEL (desktop_panel_get_type()) +#define DESKTOP_PANEL(obj) (GTK_CHECK_CAST (obj, DESKTOP_TYPE_PANEL, DesktopPanel)) +#define DESKTOP_PANEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), DESKTOP_TYPE_PANEL, DesktopPanelClass)) +#define DESKTOP_IS_PANEL(obj) (GTK_CHECK_TYPE (obj, DESKTOP_TYPE_PANEL)) +#define DESKTOP_IS_PANEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), DESKTOP_TYPE_PANEL)) + struct _DesktopPanel { GtkBox parent; @@ -64,26 +59,26 @@ void (*set_orientation) (DesktopPanel *panel, GtkOrientation orientation); - GtkOrientation - (*get_orientation) (DesktopPanel *panel); + GtkOrientation (*get_orientation) (DesktopPanel *panel); + void (*flip_panel) (DesktopPanel *panel); void (*panel_flipped) (DesktopPanel *panel); }; -GType desktop_panel_get_type (void); +GType desktop_panel_get_type (void); -void desktop_panel_add_button (DesktopPanel *panel, GtkWidget *widget); +void desktop_panel_add_button (DesktopPanel *panel, + GtkWidget *widget); -void desktop_panel_set_orientation (DesktopPanel *panel, GtkOrientation orientation); +void desktop_panel_set_orientation (DesktopPanel *panel, + GtkOrientation orientation); -GtkOrientation desktop_panel_get_orientation (DesktopPanel *panel); +GtkOrientation desktop_panel_get_orientation (DesktopPanel *panel); -void desktop_panel_flip_panel (DesktopPanel *panel); +void desktop_panel_flip_panel (DesktopPanel *panel); G_END_DECLS -#endif/*__DESKTOP_PANEL_H__*/ - - +#endif Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.c =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.c 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.c 2006-11-21 11:55:25 UTC (rev 8210) @@ -25,80 +25,51 @@ #include "hildon-desktop-item.h" -/* static declarations */ +#define HILDON_DESKTOP_ITEM_GET_PRIVATE(object) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((object), HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItem)) -static void hildon_desktop_item_class_init (HildonDesktopItemClass *item_class); -static void hildon_desktop_item_init (HildonDesktopItem *item); -static void hildon_desktop_item_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void hildon_desktop_item_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); -static void hildon_desktop_item_size_request (GtkWidget *item, GtkRequisition *requisition); -static void hildon_desktop_item_size_allocate (GtkWidget *item, GtkAllocation *allocation); +G_DEFINE_TYPE (HildonDesktopItem, hildon_desktop_item, GTK_TYPE_BIN); -static GtkBinClass *parent_class; - -typedef enum +enum { - DESKTOP_ITEM_CREATE, - DESKTOP_ITEM_INIT, - D_ITEM_SIGNALS -} -din_signals; + SIGNAL_CREATE, + SIGNAL_INIT, + N_SIGNALS +}; -typedef enum +enum { PROP_0, - DESKTOP_ITEM_ID_PROP, - DESKTOP_ITEM_NAM_PROP, - D_ITEM_PROPS -} -din_props; + PROP_ID, + PROP_NAME +}; -static gint desktop_signals[D_ITEM_SIGNALS]; +static gint desktop_signals[N_SIGNALS]; -GType hildon_desktop_item_get_type (void) -{ - static GType item_type = 0; +static void hildon_desktop_item_class_init (HildonDesktopItemClass *item_class); +static void hildon_desktop_item_init (HildonDesktopItem *item); +static void hildon_desktop_item_finalize (GObject *object); +static void hildon_desktop_item_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); +static void hildon_desktop_item_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); +static void hildon_desktop_item_size_request (GtkWidget *item, GtkRequisition *requisition); +static void hildon_desktop_item_size_allocate (GtkWidget *item, GtkAllocation *allocation); - if ( !item_type ) - { - static const GTypeInfo item_info = - { - sizeof (HildonDesktopItemClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) hildon_desktop_item_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (HildonDesktopItem), - 0, /* n_preallocs */ - ( GInstanceInitFunc ) hildon_desktop_item_init, - }; - item_type = g_type_register_static ( GTK_TYPE_BIN, - "HildonDesktopItem", - &item_info,0); - /*G_TYPE_FLAG_ABSTRACT);*/ - } - - return item_type; -} - static void hildon_desktop_item_class_init (HildonDesktopItemClass *item_class) { - GObjectClass *object_class = G_OBJECT_CLASS (item_class); - GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (item_class); + GObjectClass *object_class = G_OBJECT_CLASS (item_class); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (item_class); - parent_class = g_type_class_peek_parent (item_class); + object_class->finalize = hildon_desktop_item_finalize; + object_class->set_property = hildon_desktop_item_set_property; + object_class->get_property = hildon_desktop_item_get_property; - object_class->set_property = hildon_desktop_item_set_property; - object_class->get_property = hildon_desktop_item_get_property; - - widget_class->size_request = hildon_desktop_item_size_request; - widget_class->size_allocate = hildon_desktop_item_size_allocate; + widget_class->size_request = hildon_desktop_item_size_request; + widget_class->size_allocate = hildon_desktop_item_size_allocate; - item_class->get_widget = hildon_desktop_item_get_widget; + item_class->get_widget = hildon_desktop_item_get_widget; - desktop_signals[DESKTOP_ITEM_CREATE] = + desktop_signals[SIGNAL_CREATE] = g_signal_new("item_create", G_OBJECT_CLASS_TYPE(object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_DETAILED, @@ -106,7 +77,7 @@ g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); - desktop_signals[DESKTOP_ITEM_INIT] = + desktop_signals[SIGNAL_INIT] = g_signal_new("init", G_OBJECT_CLASS_TYPE(object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_DETAILED, @@ -115,7 +86,7 @@ G_TYPE_NONE, 1, G_TYPE_STRING); g_object_class_install_property (object_class, - DESKTOP_ITEM_ID_PROP, + PROP_ID, g_param_spec_string("id", "Plugin's ID", "ID of the plugin", @@ -123,13 +94,12 @@ G_PARAM_CONSTRUCT | G_PARAM_READWRITE)); g_object_class_install_property (object_class, - DESKTOP_ITEM_NAM_PROP, + PROP_NAME, g_param_spec_string("name", "Plugin's Name", "Name of the plugin, not widget", "HildonDesktopItem", G_PARAM_CONSTRUCT | G_PARAM_READWRITE)); - } static void @@ -162,8 +132,8 @@ requisition->height = req.height; } else - if (GTK_WIDGET_CLASS (parent_class)) - GTK_WIDGET_CLASS (parent_class)->size_request (widget,requisition); + if (GTK_WIDGET_CLASS (hildon_desktop_item_parent_class)) + GTK_WIDGET_CLASS (hildon_desktop_item_parent_class)->size_request (widget,requisition); } static void @@ -193,6 +163,26 @@ } static void +hildon_desktop_item_finalize (GObject *object) +{ + HildonDesktopItem *item = HILDON_DESKTOP_ITEM (object); + + if (item->id) + { + g_free (item->id); + item->id = NULL; + } + + if (item->name) + { + g_free (item->name); + item->name = NULL; + } + + G_OBJECT_CLASS (hildon_desktop_item_parent_class)->finalize (object); +} + +static void hildon_desktop_item_set_property (GObject *object, guint prop_id, const GValue *value, @@ -206,11 +196,11 @@ switch (prop_id) { - case DESKTOP_ITEM_ID_PROP: + case PROP_ID: g_free (item->id); item->id = g_strdup (g_value_get_string (value)); break; - case DESKTOP_ITEM_NAM_PROP: + case PROP_NAME: g_free (item->name); item->name = g_strdup (g_value_get_string (value)); break; @@ -234,10 +224,10 @@ switch (prop_id) { - case DESKTOP_ITEM_ID_PROP: + case PROP_ID: g_value_set_string (value,item->id); break; - case DESKTOP_ITEM_NAM_PROP: + case PROP_NAME: g_value_set_string (value,item->name); break; default: Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.h =================================================================== --- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.h 2006-11-21 11:39:55 UTC (rev 8209) +++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-item.h 2006-11-21 11:55:25 UTC (rev 8210) @@ -26,46 +26,47 @@ #ifndef __HILDON_DESKTOP_ITEM_H__ #define __HILDON_DESKTOP_ITEM_H__ -#include <gtk/gtkbin.h> +#include <gtk/gtk.h> G_BEGIN_DECLS -#define HILDON_DESKTOP_TYPE_ITEM ( hildon_desktop_item_get_type() ) -#define HILDON_DESKTOP_ITEM(obj) (GTK_CHECK_CAST (obj, HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItem)) -#define HILDON_DESKTOP_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItemClass)) -#define HILDON_DESKTOP_IS_ITEM(obj) (GTK_CHECK_TYPE (obj, HILDON_DESKTOP_TYPE_ITEM)) -#define HILDON_DESKTOP_IS_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), HILDON_DESKTOP_TYPE_ITEM)) - - typedef struct _HildonDesktopItem HildonDesktopItem; typedef struct _HildonDesktopItemClass HildonDesktopItemClass; +#define HILDON_DESKTOP_TYPE_ITEM (hildon_desktop_item_get_type()) +#define HILDON_DESKTOP_ITEM(obj) (GTK_CHECK_CAST (obj, HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItem)) +#define HILDON_DESKTOP_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), HILDON_DESKTOP_TYPE_ITEM, HildonDesktopItemClass)) +#define HILDON_DESKTOP_IS_ITEM(obj) (GTK_CHECK_TYPE (obj, HILDON_DESKTOP_TYPE_ITEM)) +#define HILDON_DESKTOP_IS_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), HILDON_DESKTOP_TYPE_ITEM)) + struct _HildonDesktopItem { - GtkBin parent; + GtkBin parent; - gchar *id; + gchar *id; - gchar *name; - - GdkRectangle geometry; + gchar *name; + + GdkRectangle geometry; }; struct _HildonDesktopItemClass { - GtkBinClass parent_class; + GtkBinClass parent_class; - GtkWidget *(*get_widget) (HildonDesktopItem *item); - gchar *(*get_name) (HildonDesktopItem *item); + GtkWidget *(*get_widget) (HildonDesktopItem *item); + + gchar *(*get_name) (HildonDesktopItem *item); }; -GType hildon_desktop_item_get_type (void); +GType hildon_desktop_item_get_type (void); +GtkWidget* hildon_desktop_item_get_widget (HildonDesktopItem *item); -GtkWidget *hildon_desktop_item_get_widget (HildonDesktopItem *item); -const gchar *hildon_desktop_item_get_id (HildonDesktopItem *item); -const gchar *hildon_desktop_item_get_name (HildonDesktopItem *item); +const gchar* hildon_desktop_item_get_id (HildonDesktopItem *item); +const gchar* hildon_desktop_item_get_name (HildonDesktopItem *item); + G_END_DECLS -#endif/*__HILDON_DESKTOP_ITEM_H__*/ +#endif
- Previous message: [maemo-commits] r8209 - projects/haf/branches/maemo-af-desktop/hildon-desktop/test
- Next message: [maemo-commits] r8214 - projects/haf/branches/osso-gnome-vfs2/2-16-upstream-merge/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]