static void exo_wrap_table_class_init (ExoWrapTableClass *klass) { GtkContainerClass *gtkcontainer_class; GtkWidgetClass *gtkwidget_class; GObjectClass *gobject_class; /* add our private data to the class */ g_type_class_add_private (klass, sizeof (ExoWrapTablePrivate)); gobject_class = G_OBJECT_CLASS (klass); gobject_class->get_property = exo_wrap_table_get_property; gobject_class->set_property = exo_wrap_table_set_property; gtkwidget_class = GTK_WIDGET_CLASS (klass); gtkwidget_class->size_request = exo_wrap_table_size_request; gtkwidget_class->size_allocate = exo_wrap_table_size_allocate; gtkcontainer_class = GTK_CONTAINER_CLASS (klass); gtkcontainer_class->add = exo_wrap_table_add; gtkcontainer_class->remove = exo_wrap_table_remove; gtkcontainer_class->forall = exo_wrap_table_forall; /* initialize the library's i18n support */ _exo_i18n_init (); /** * ExoWrapTable::col-spacing: * * The amount of space between two consecutive columns. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_COL_SPACING, g_param_spec_uint ("col-spacing", _("Column spacing"), _("The amount of space between two consecutive columns"), 0, G_MAXUINT, 0, EXO_PARAM_READWRITE)); /** * ExoWrapTable::row-spacing: * * The amount of space between two consecutive rows. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_ROW_SPACING, g_param_spec_uint ("row-spacing", _("Row spacing"), _("The amount of space between two consecutive rows"), 0, G_MAXUINT, 0, EXO_PARAM_READWRITE)); /** * ExoWrapTable::homogeneous: * * Whether the children should be all the same size. * * Since: 0.3.1 **/ g_object_class_install_property (gobject_class, PROP_HOMOGENEOUS, g_param_spec_boolean ("homogeneous", _("Homogeneous"), _("Whether the children should be all the same size"), FALSE, EXO_PARAM_READWRITE)); }
static void exo_cell_renderer_icon_class_init (ExoCellRendererIconClass *klass) { GtkCellRendererClass *gtkcell_renderer_class; GObjectClass *gobject_class; /* add our private data to the type's instances */ g_type_class_add_private (klass, sizeof (ExoCellRendererIconPrivate)); gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = exo_cell_renderer_icon_finalize; gobject_class->get_property = exo_cell_renderer_icon_get_property; gobject_class->set_property = exo_cell_renderer_icon_set_property; gtkcell_renderer_class = GTK_CELL_RENDERER_CLASS (klass); gtkcell_renderer_class->get_size = exo_cell_renderer_icon_get_size; gtkcell_renderer_class->render = exo_cell_renderer_icon_render; /* initialize the library's i18n support */ _exo_i18n_init (); /** * ExoCellRendererIcon:follow-state: * * Specifies whether the icon renderer should render icon based on the * selection state of the items. This is necessary for #ExoIconView, * which doesn't draw any item state indicators itself. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_FOLLOW_STATE, g_param_spec_boolean ("follow-state", _("Follow state"), _("Render differently based on the selection state."), TRUE, EXO_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * ExoCellRendererIcon:icon: * * The name of the themed icon to render or an absolute path to an image file * to render. May also be %NULL in which case no icon will be rendered for the * cell. * * Image files are loaded via the thumbnail database, creating a thumbnail * as necessary. The thumbnail database is also used to load scalable icons * in the icon theme, because loading scalable icons is quite expensive * these days. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_ICON, g_param_spec_string ("icon", _("Icon"), _("The icon to render."), NULL, EXO_PARAM_READWRITE)); /** * ExoCellRendererIcon:gicon: * * The #GIcon to render. May also be %NULL in which case no icon will be * rendered for the cell. * * Currently only #GThemedIcon<!---->s are supported which are loaded * using the current icon theme. * * Since: 0.4.0 **/ g_object_class_install_property (gobject_class, PROP_GICON, g_param_spec_object ("gicon", _("GIcon"), _("The GIcon to render."), G_TYPE_ICON, EXO_PARAM_READWRITE)); /** * ExoCellRendererIcon:size: * * The size in pixel at which to render the icon. This is also the fixed * size that the renderer will request no matter if the actual icons are * smaller than this size. * * This improves the performance of the layouting in the icon and tree * view, because during the layouting phase no icons will need to be * loaded, but the icons will only be loaded when they need to be rendered, * i.e. the view scrolls to the cell. * * Since: 0.3.1.9 **/ g_object_class_install_property (gobject_class, PROP_SIZE, g_param_spec_int ("size", _("size"), _("The size of the icon to render in pixels."), 1, G_MAXINT, 48, EXO_PARAM_READWRITE | G_PARAM_CONSTRUCT)); }