aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/calendar-view-factory.c
diff options
context:
space:
mode:
authorHans Petter Jansson <hpj@ximian.com>2002-12-07 03:38:26 +0800
committerHans Petter <hansp@src.gnome.org>2002-12-07 03:38:26 +0800
commit7bb980e76d7207855e87ffefbffaa304dd779372 (patch)
treeff1524650853ff2749729a8edf5bf9f20c75a3a5 /calendar/gui/calendar-view-factory.c
parent4b1cfd51be51cc0ff40a5439ea9bf008f71405e8 (diff)
downloadgsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.tar
gsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.tar.gz
gsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.tar.bz2
gsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.tar.lz
gsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.tar.xz
gsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.tar.zst
gsoc2013-evolution-7bb980e76d7207855e87ffefbffaa304dd779372.zip
Create a non-abstract enumeration type derived from GEnum.
2002-12-06 Hans Petter Jansson <hpj@ximian.com> * cal-client/cal-client.c (cal_client_open_status_enum_get_type): Create a non-abstract enumeration type derived from GEnum. (cal_client_set_mode_status_enum_get_type): Ditto. (cal_mode_enum_get_type): Ditto. (cal_client_class_init): Use our enumerations and not the abstract one. (cal_client_finalize): Don't destroy factories, since the CalClient doesn't own them anymore. They're shared between CalClients now. (get_factories): Implement. Move the factory setup code here from cal_client_construct (), and cache the factories. This is hopefully temporary, until wombat goes away or is fixed. (cal_client_construct): Most of the code moved to get_factories (). * cal-client/cal-client.h: Add enumeration type macros and protos. * gui/cal-search-bar.c (cal_search_bar_get_type): Removed in favour of E_MAKE_TYPE, which uses GObject calls. (cal_search_bar_class_init): Use g_type_class_peek_parent (). * gui/calendar-model.c (calendar_model_get_type): (calendar_model_class_init): Ditto, like above file. * gui/calendar-view.c (calendar_view_get_type): (calendar_view_class_init): Ditto. * gui/e-calendar-table.c (e_calendar_table_get_type): (e_calendar_table_class_init): Ditto. * gui/e-comp-editor-registry.c (e_comp_editor_registry_get_type): (class_init): Ditto. * gui/e-day-view-main-item.c (e_day_view_main_item_get_type): (e_day_view_main_item_class_init): Ditto. * gui/e-day-view-time-item.c (e_day_view_time_item_get_type): (e_day_view_time_item_class_init): Ditto. * gui/e-day-view-top-item.c (e_day_view_top_item_get_type): (e_day_view_top_item_class_init): Ditto. * gui/e-day-view.c (e_day_view_get_type): (e_day_view_class_init): Ditto. * gui/e-itip-control.c (e_itip_control_get_type): (class_init): Ditto. * gui/e-meeting-attendee.c (e_meeting_attendee_get_type): (class_init): Ditto. * gui/e-meeting-model.c (e_meeting_model_get_type): (class_init): Ditto. * gui/e-meeting-time-sel-item.c (e_meeting_time_selector_item_get_type): (e_meeting_time_selector_item_class_init): Ditto. * gui/e-meeting-time-sel.c (e_meeting_time_selector_get_type): (e_meeting_time_selector_class_init): Ditto. * gui/e-timezone-entry.c (e_timezone_entry_get_type): (e_timezone_entry_class_init): Ditto. * gui/e-week-view-event-item.c (e_week_view_event_item_get_type): (e_week_view_event_item_class_init): Ditto. * gui/e-week-view-main-item.c (e_week_view_main_item_get_type): (e_week_view_main_item_class_init): Ditto. * gui/e-week-view-titles-item.c (e_week_view_titles_item_get_type): (e_week_view_titles_item_class_init): Ditto. * gui/gnome-cal.c (gnome_calendar_get_type): (gnome_calendar_class_init): Ditto. * gui/weekday-picker.c (weekday_picker_get_type): (weekday_picker_class_init): Ditto. * gui/e-week-view.c (e_week_view_get_type): (e_week_view_class_init): Ditto, but parent_class init was moved from get_type() to class_init(). * gui/calendar-view-factory.c (calendar_view_factory_get_type): (calendar_view_factory_class_init): Ditto, and set up finalize callback instead of destroy. (calendar_view_factory_finalize): It's a GObject, so implement this. (celendar_view_factory_destroy): Move code to _finalize() and remove. * gui/main.c (init_bonobo): Remove extraneous bonobo_activation_init(). svn path=/trunk/; revision=19043
Diffstat (limited to 'calendar/gui/calendar-view-factory.c')
-rw-r--r--calendar/gui/calendar-view-factory.c51
1 files changed, 11 insertions, 40 deletions
diff --git a/calendar/gui/calendar-view-factory.c b/calendar/gui/calendar-view-factory.c
index e4521e4436..f8d2d92ce3 100644
--- a/calendar/gui/calendar-view-factory.c
+++ b/calendar/gui/calendar-view-factory.c
@@ -39,7 +39,7 @@ struct _CalendarViewFactoryPrivate {
static void calendar_view_factory_class_init (CalendarViewFactoryClass *class);
static void calendar_view_factory_init (CalendarViewFactory *cal_view_factory);
-static void calendar_view_factory_destroy (GtkObject *object);
+static void calendar_view_factory_finalize (GObject *object);
static const char *calendar_view_factory_get_title (GalViewFactory *factory);
static const char *calendar_view_factory_get_type_code (GalViewFactory *factory);
@@ -49,55 +49,26 @@ static GalViewFactoryClass *parent_class = NULL;
-/**
- * calendar_view_factory_get_type:
- *
- * Registers the #CalendarViewFactory class if necessary, and returns the type
- * ID associated to it.
- *
- * Return value: The type ID of the #CalendarViewFactory class.
- **/
-GtkType
-calendar_view_factory_get_type (void)
-{
- static GtkType calendar_view_factory_type;
-
- if (!calendar_view_factory_type) {
- static const GtkTypeInfo calendar_view_factory_info = {
- "CalendarViewFactory",
- sizeof (CalendarViewFactory),
- sizeof (CalendarViewFactoryClass),
- (GtkClassInitFunc) calendar_view_factory_class_init,
- (GtkObjectInitFunc) calendar_view_factory_init,
- NULL, /* reserved_1 */
- NULL, /* reserved_2 */
- (GtkClassInitFunc) NULL
- };
-
- calendar_view_factory_type = gtk_type_unique (GAL_VIEW_FACTORY_TYPE,
- &calendar_view_factory_info);
- }
-
- return calendar_view_factory_type;
-}
+E_MAKE_TYPE (calendar_view_factory, "CalendarViewFactory", CalendarViewFactory,
+ calendar_view_factory_class_init, calendar_view_factory_init, GAL_VIEW_FACTORY_TYPE);
/* Class initialization function for the calendar view factory */
static void
calendar_view_factory_class_init (CalendarViewFactoryClass *class)
{
GalViewFactoryClass *gal_view_factory_class;
- GtkObjectClass *object_class;
+ GObjectClass *gobject_class;
- parent_class = gtk_type_class (GAL_VIEW_FACTORY_TYPE);
+ parent_class = g_type_class_peek_parent (class);
gal_view_factory_class = (GalViewFactoryClass *) class;
- object_class = (GtkObjectClass *) class;
+ gobject_class = (GObjectClass *) class;
gal_view_factory_class->get_title = calendar_view_factory_get_title;
gal_view_factory_class->get_type_code = calendar_view_factory_get_type_code;
gal_view_factory_class->new_view = calendar_view_factory_new_view;
- object_class->destroy = calendar_view_factory_destroy;
+ gobject_class->finalize = calendar_view_factory_finalize;
}
/* Object initialization class for the calendar view factory */
@@ -110,9 +81,9 @@ calendar_view_factory_init (CalendarViewFactory *cal_view_factory)
cal_view_factory->priv = priv;
}
-/* Destroy method for the calendar view factory */
+/* Finalize method for the calendar view factory */
static void
-calendar_view_factory_destroy (GtkObject *object)
+calendar_view_factory_finalize (GObject *object)
{
CalendarViewFactory *cal_view_factory;
CalendarViewFactoryPrivate *priv;
@@ -126,8 +97,8 @@ calendar_view_factory_destroy (GtkObject *object)
g_free (priv);
cal_view_factory->priv = NULL;
- if (GTK_OBJECT_CLASS (parent_class)->destroy)
- (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+ if (G_OBJECT_CLASS (parent_class)->finalize)
+ (* G_OBJECT_CLASS (parent_class)->finalize) (object);
}