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; }
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)); }