/* * Copyright 2015 Javier S. Pedro * * This file is part of MDock. * * MDock is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MDock is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU General Public License * along with MDock. If not, see . */ #include "mdock-item-window-selector.h" #define MDOCK_ITEM_WINDOW_SELECTOR_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), MDOCK_TYPE_ITEM_WINDOW_SELECTOR, MDockItemWindowSelectorPrivate)) struct _MDockItemWindowSelectorPrivate { GList *temp; }; G_DEFINE_TYPE (MDockItemWindowSelector, mdock_item_window_selector, GTK_TYPE_WINDOW) enum { PROP_0, PROP_ITEM, N_PROPERTIES }; static GParamSpec *obj_properties[N_PROPERTIES] = { NULL }; static void mdock_item_window_selector_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { MDockItemWindowSelector *self = MDOCK_ITEM_WINDOW_SELECTOR(object); switch (property_id) { case PROP_ITEM: g_clear_object(&self->item); self->item = g_value_dup_object(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); break; } } static void mdock_item_window_selector_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { MDockItemWindowSelector *self = MDOCK_ITEM_WINDOW_SELECTOR(object); switch (property_id) { case PROP_ITEM: g_value_set_object(value, self->item); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); break; } } static void mdock_item_window_selector_constructed(GObject *object) { G_OBJECT_CLASS(mdock_item_window_selector_parent_class)->constructed(object); } static void mdock_item_window_selector_dispose(GObject *object) { G_OBJECT_CLASS(mdock_item_window_selector_parent_class)->dispose(object); } static void mdock_item_window_selector_finalize(GObject *object) { G_OBJECT_CLASS(mdock_item_window_selector_parent_class)->finalize(object); } static void mdock_item_window_selector_class_init(MDockItemWindowSelectorClass *klass) { GObjectClass *obj_class = G_OBJECT_CLASS (klass); obj_class->set_property = mdock_item_window_selector_set_property; obj_class->get_property = mdock_item_window_selector_get_property; obj_class->constructed = mdock_item_window_selector_constructed; obj_class->dispose = mdock_item_window_selector_dispose; obj_class->finalize = mdock_item_window_selector_finalize; g_type_class_add_private(obj_class, sizeof(MDockItemWindowSelectorPrivate)); obj_properties[PROP_ITEM] = g_param_spec_object("item", "The MDockItem the options in this menu apply to", "Set the MDockItem the options in this menu apply to", MDOCK_TYPE_ITEM, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties(obj_class, N_PROPERTIES, obj_properties); } static void mdock_item_window_selector_init (MDockItemWindowSelector *self) { self->priv = MDOCK_ITEM_WINDOW_SELECTOR_GET_PRIVATE (self); } MDockItemWindowSelector * mdock_item_window_selector_new(MDockItem *item) { return g_object_new(MDOCK_TYPE_ITEM_WINDOW_SELECTOR, "item", item, NULL); }