static void gdl_dock_class_init (GdlDockClass *klass) { GObjectClass *g_object_class; GtkObjectClass *gtk_object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; GdlDockObjectClass *object_class; g_object_class = G_OBJECT_CLASS (klass); gtk_object_class = GTK_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); container_class = GTK_CONTAINER_CLASS (klass); object_class = GDL_DOCK_OBJECT_CLASS (klass); g_object_class->constructor = gdl_dock_constructor; g_object_class->set_property = gdl_dock_set_property; g_object_class->get_property = gdl_dock_get_property; /* properties */ g_object_class_install_property ( g_object_class, PROP_FLOATING, g_param_spec_boolean ("floating", _("Floating"), _("Whether the dock is floating in its own window"), FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_DEFAULT_TITLE, g_param_spec_string ("default-title", _("Default title"), _("Default title for the newly created floating docks"), NULL, G_PARAM_READWRITE)); g_object_class_install_property ( g_object_class, PROP_WIDTH, g_param_spec_int ("width", _("Width"), _("Width for the dock when it's of floating type"), -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_HEIGHT, g_param_spec_int ("height", _("Height"), _("Height for the dock when it's of floating type"), -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_FLOAT_X, g_param_spec_int ("floatx", _("Float X"), _("X coordinate for a floating dock"), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_FLOAT_Y, g_param_spec_int ("floaty", _("Float Y"), _("Y coordinate for a floating dock"), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); gtk_object_class->destroy = gdl_dock_destroy; widget_class->size_request = gdl_dock_size_request; widget_class->size_allocate = gdl_dock_size_allocate; widget_class->map = gdl_dock_map; widget_class->unmap = gdl_dock_unmap; widget_class->show = gdl_dock_show; widget_class->hide = gdl_dock_hide; container_class->add = gdl_dock_add; container_class->remove = gdl_dock_remove; container_class->forall = gdl_dock_forall; container_class->child_type = gdl_dock_child_type; object_class->is_compound = TRUE; object_class->detach = gdl_dock_detach; object_class->reduce = gdl_dock_reduce; object_class->dock_request = gdl_dock_dock_request; object_class->dock = gdl_dock_dock; object_class->reorder = gdl_dock_reorder; object_class->child_placement = gdl_dock_child_placement; object_class->present = gdl_dock_present; /* signals */ dock_signals [LAYOUT_CHANGED] = g_signal_new ("layout-changed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GdlDockClass, layout_changed), NULL, /* accumulator */ NULL, /* accu_data */ gdl_marshal_VOID__VOID, G_TYPE_NONE, /* return type */ 0); klass->layout_changed = NULL; }
/* Class init methods */ static void eel_wrap_table_class_init (EelWrapTableClass *wrap_table_class) { GObjectClass *gobject_class = G_OBJECT_CLASS (wrap_table_class); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (wrap_table_class); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (wrap_table_class); /* GObjectClass */ gobject_class->finalize = eel_wrap_table_finalize; gobject_class->set_property = eel_wrap_table_set_property; gobject_class->get_property = eel_wrap_table_get_property; /* GtkWidgetClass */ widget_class->size_allocate = eel_wrap_table_size_allocate; #if GTK_CHECK_VERSION (3, 0, 0) widget_class->get_preferred_width = eel_wrap_table_get_preferred_width; widget_class->get_preferred_height = eel_wrap_table_get_preferred_height; widget_class->draw = eel_wrap_table_draw; #else widget_class->size_request = eel_wrap_table_size_request; widget_class->expose_event = eel_wrap_table_expose_event; #endif widget_class->map = eel_wrap_table_map; widget_class->unmap = eel_wrap_table_unmap; widget_class->realize = eel_wrap_table_realize; /* GtkContainerClass */ container_class->add = eel_wrap_table_add; container_class->remove = eel_wrap_table_remove; container_class->forall = eel_wrap_table_forall; container_class->child_type = eel_wrap_table_child_type; /* Arguments */ g_object_class_install_property (gobject_class, PROP_X_SPACING, g_param_spec_uint ("x_spacing", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_Y_SPACING, g_param_spec_uint ("y_spacing", NULL, NULL, 0, G_MAXINT, 0, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_X_JUSTIFICATION, g_param_spec_enum ("x_justification", NULL, NULL, GTK_TYPE_JUSTIFICATION, GTK_JUSTIFY_LEFT, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_Y_JUSTIFICATION, g_param_spec_enum ("y_justification", NULL, NULL, GTK_TYPE_JUSTIFICATION, GTK_JUSTIFY_LEFT, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_HOMOGENEOUS, g_param_spec_boolean ("homogenous", NULL, NULL, FALSE, G_PARAM_READWRITE)); g_type_class_add_private (wrap_table_class, sizeof (EelWrapTableDetails)); }
static void gdl_dock_object_class_init (GdlDockObjectClass *klass) { GObjectClass *g_object_class; GtkObjectClass *object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; g_object_class = G_OBJECT_CLASS (klass); object_class = GTK_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); container_class = GTK_CONTAINER_CLASS (klass); g_object_class->set_property = gdl_dock_object_set_property; g_object_class->get_property = gdl_dock_object_get_property; g_object_class->finalize = gdl_dock_object_finalize; g_object_class_install_property ( g_object_class, PROP_NAME, g_param_spec_string (GDL_DOCK_NAME_PROPERTY, _("Name"), _("Unique name for identifying the dock object"), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_LONG_NAME, g_param_spec_string ("long-name", _("Long name"), _("Human readable name for the dock object"), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property ( g_object_class, PROP_STOCK_ID, g_param_spec_string ("stock-id", _("Stock Icon"), _("Stock icon for the dock object"), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property ( g_object_class, PROP_MASTER, g_param_spec_object ("master", _("Dock master"), _("Dock master this dock object is bound to"), GDL_TYPE_DOCK_MASTER, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); object_class->destroy = gdl_dock_object_destroy; widget_class->show = gdl_dock_object_show; widget_class->hide = gdl_dock_object_hide; klass->is_compound = TRUE; klass->detach = gdl_dock_object_real_detach; klass->reduce = gdl_dock_object_real_reduce; klass->dock_request = NULL; klass->dock = gdl_dock_object_dock_unimplemented; klass->reorder = NULL; klass->present = gdl_dock_object_real_present; klass->child_placement = NULL; gdl_dock_object_signals [DETACH] = g_signal_new ("detach", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GdlDockObjectClass, detach), NULL, NULL, gdl_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); gdl_dock_object_signals [DOCK] = g_signal_new ("dock", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GdlDockObjectClass, dock), NULL, NULL, gdl_marshal_VOID__OBJECT_ENUM_BOXED, G_TYPE_NONE, 3, GDL_TYPE_DOCK_OBJECT, GDL_TYPE_DOCK_PLACEMENT, G_TYPE_VALUE); }
static void gdl_dock_class_init (GdlDockClass *klass) { GObjectClass *g_object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; GdlDockObjectClass *object_class; g_object_class = G_OBJECT_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass); container_class = GTK_CONTAINER_CLASS (klass); object_class = GDL_DOCK_OBJECT_CLASS (klass); g_object_class->constructor = gdl_dock_constructor; g_object_class->set_property = gdl_dock_set_property; g_object_class->get_property = gdl_dock_get_property; g_object_class->dispose = gdl_dock_dispose; /* properties */ g_object_class_install_property ( g_object_class, PROP_FLOATING, g_param_spec_boolean ("floating", _("Floating"), _("Whether the dock is floating in its own window"), FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_DEFAULT_TITLE, g_param_spec_string ("default-title", _("Default title"), _("Default title for the newly created floating docks"), NULL, G_PARAM_READWRITE)); g_object_class_install_property ( g_object_class, PROP_WIDTH, g_param_spec_int ("width", _("Width"), _("Width for the dock when it's of floating type"), -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_HEIGHT, g_param_spec_int ("height", _("Height"), _("Height for the dock when it's of floating type"), -1, G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_FLOAT_X, g_param_spec_int ("floatx", _("Float X"), _("X coordinate for a floating dock"), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); g_object_class_install_property ( g_object_class, PROP_FLOAT_Y, g_param_spec_int ("floaty", _("Float Y"), _("Y coordinate for a floating dock"), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); /** * GdlDock:skip-taskbar: * * Whether or not to prevent a floating dock window from appearing in the * taskbar. Note that this only affects floating windows that are created * after this flag is set; existing windows are not affected. Usually, * this property is used when you create the dock. * * Since: 3.6 */ g_object_class_install_property ( g_object_class, PROP_SKIP_TASKBAR, g_param_spec_boolean ("skip-taskbar", _("Skip taskbar"), _("Whether or not to prevent a floating dock window from appearing in the taskbar"), TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GDL_DOCK_PARAM_EXPORT)); widget_class->get_preferred_width = gdl_dock_get_preferred_width; widget_class->get_preferred_height = gdl_dock_get_preferred_height; widget_class->size_allocate = gdl_dock_size_allocate; widget_class->map = gdl_dock_map; widget_class->unmap = gdl_dock_unmap; widget_class->show = gdl_dock_show; widget_class->hide = gdl_dock_hide; container_class->add = gdl_dock_add; container_class->remove = gdl_dock_remove; container_class->forall = gdl_dock_forall; container_class->child_type = gdl_dock_child_type; gtk_container_class_handle_border_width (container_class); gdl_dock_object_class_set_is_compound (object_class, TRUE); object_class->detach = gdl_dock_detach; object_class->reduce = gdl_dock_reduce; object_class->dock_request = gdl_dock_dock_request; object_class->dock = gdl_dock_dock; object_class->reorder = gdl_dock_reorder; object_class->child_placement = gdl_dock_child_placement; object_class->present = gdl_dock_present; /* signals */ /** * GdlDock::layout-changed: * * Signals that the layout has changed, one or more widgets have been moved, * added or removed. */ dock_signals [LAYOUT_CHANGED] = g_signal_new ("layout-changed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GdlDockClass, layout_changed), NULL, /* accumulator */ NULL, /* accu_data */ gdl_marshal_VOID__VOID, G_TYPE_NONE, /* return type */ 0); klass->layout_changed = NULL; g_type_class_add_private (object_class, sizeof (GdlDockPrivate)); }