static void gtk_cell_view_class_init (GtkCellViewClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); parent_class = g_type_class_peek_parent (klass); gobject_class->get_property = gtk_cell_view_get_property; gobject_class->set_property = gtk_cell_view_set_property; gobject_class->finalize = gtk_cell_view_finalize; widget_class->expose_event = gtk_cell_view_expose; widget_class->size_allocate = gtk_cell_view_size_allocate; widget_class->size_request = gtk_cell_view_size_request; widget_class->style_set = gtk_cell_view_style_set; /* properties */ g_object_class_install_property (gobject_class, PROP_BACKGROUND, g_param_spec_string ("background", P_("Background color name"), P_("Background color as a string"), NULL, G_PARAM_WRITABLE)); g_object_class_install_property (gobject_class, PROP_BACKGROUND_GDK, g_param_spec_boxed ("background_gdk", P_("Background color"), P_("Background color as a GdkColor"), GDK_TYPE_COLOR, G_PARAM_READABLE | G_PARAM_WRITABLE)); #define ADD_SET_PROP(propname, propval, nick, blurb) g_object_class_install_property (gobject_class, propval, g_param_spec_boolean (propname, nick, blurb, FALSE, G_PARAM_READABLE | G_PARAM_WRITABLE)) ADD_SET_PROP ("background_set", PROP_BACKGROUND_SET, P_("Background set"), P_("Whether this tag affects the background color")); }
static void gtk_cell_view_class_init (GtkCellViewClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); gobject_class->constructor = gtk_cell_view_constructor; gobject_class->get_property = gtk_cell_view_get_property; gobject_class->set_property = gtk_cell_view_set_property; gobject_class->finalize = gtk_cell_view_finalize; gobject_class->dispose = gtk_cell_view_dispose; widget_class->draw = gtk_cell_view_draw; widget_class->size_allocate = gtk_cell_view_size_allocate; widget_class->get_preferred_width = gtk_cell_view_get_preferred_width; widget_class->get_preferred_height = gtk_cell_view_get_preferred_height; widget_class->get_preferred_width_for_height = gtk_cell_view_get_preferred_width_for_height; widget_class->get_preferred_height_for_width = gtk_cell_view_get_preferred_height_for_width; /* properties */ g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); g_object_class_install_property (gobject_class, PROP_BACKGROUND, g_param_spec_string ("background", P_("Background color name"), P_("Background color as a string"), NULL, GTK_PARAM_WRITABLE)); g_object_class_install_property (gobject_class, PROP_BACKGROUND_GDK, g_param_spec_boxed ("background-gdk", P_("Background color"), P_("Background color as a GdkColor"), GDK_TYPE_COLOR, GTK_PARAM_READWRITE)); /** * GtkCellView:background-rgba * * The background color as a #GdkRGBA * * Since: 3.0 */ g_object_class_install_property (gobject_class, PROP_BACKGROUND_RGBA, g_param_spec_boxed ("background-rgba", P_("Background RGBA color"), P_("Background color as a GdkRGBA"), GDK_TYPE_RGBA, GTK_PARAM_READWRITE)); /** * GtkCellView:model * * The model for cell view * * since 2.10 */ g_object_class_install_property (gobject_class, PROP_MODEL, g_param_spec_object ("model", P_("CellView model"), P_("The model for cell view"), GTK_TYPE_TREE_MODEL, GTK_PARAM_READWRITE)); /** * GtkCellView:cell-area * * The #GtkCellArea rendering cells * * since 3.0 */ g_object_class_install_property (gobject_class, PROP_CELL_AREA, g_param_spec_object ("cell-area", P_("Cell Area"), P_("The GtkCellArea used to layout cells"), GTK_TYPE_CELL_AREA, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkCellView:cell-area-context * * The #GtkCellAreaContext used to compute the geometry of the cell view. * * A group of cell views can be assigned the same context in order to * ensure the sizes and cell alignments match across all the views with * the same context. * * #GtkComboBox menus uses this to assign the same context to all cell views * in the menu items for a single menu (each submenu creates it's own * context since the size of each submenu does not depend on parent * or sibling menus). * * since 3.0 */ g_object_class_install_property (gobject_class, PROP_CELL_AREA_CONTEXT, g_param_spec_object ("cell-area-context", P_("Cell Area Context"), P_("The GtkCellAreaContext used to " "compute the geometry of the cell view"), GTK_TYPE_CELL_AREA_CONTEXT, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkCellView:draw-sensitive * * Whether all cells should be draw as sensitive for this view regardless * of the actual cell properties (used to make menus with submenus appear * sensitive when the items in submenus might be insensitive). * * since 3.0 */ g_object_class_install_property (gobject_class, PROP_DRAW_SENSITIVE, g_param_spec_boolean ("draw-sensitive", P_("Draw Sensitive"), P_("Whether to force cells to be drawn in a " "sensitive state"), FALSE, GTK_PARAM_READWRITE)); /** * GtkCellView:fit-model * * Whether the view should request enough space to always fit * the size of every row in the model (used by the combo box to * ensure the combo box size doesnt change when different items * are selected). * * since 3.0 */ g_object_class_install_property (gobject_class, PROP_FIT_MODEL, g_param_spec_boolean ("fit-model", P_("Fit Model"), P_("Whether to request enough space for " "every row in the model"), FALSE, GTK_PARAM_READWRITE)); #define ADD_SET_PROP(propname, propval, nick, blurb) g_object_class_install_property (gobject_class, propval, g_param_spec_boolean (propname, nick, blurb, FALSE, GTK_PARAM_READWRITE)) ADD_SET_PROP ("background-set", PROP_BACKGROUND_SET, P_("Background set"), P_("Whether this tag affects the background color")); g_type_class_add_private (gobject_class, sizeof (GtkCellViewPrivate)); }