static void gnc_plugin_page_sx_list_finalize (GObject *object) { GncPluginPageSxList *page; GncPluginPageSxListPrivate *priv; page = GNC_PLUGIN_PAGE_SX_LIST (object); g_return_if_fail(GNC_IS_PLUGIN_PAGE_SX_LIST (page)); priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(page); g_return_if_fail(priv != NULL); G_OBJECT_CLASS (parent_class)->finalize (object); }
GncPluginPage * gnc_plugin_page_sx_list_new (void) { GncPluginPageSxList *plugin_page; const GList *object = gnc_gobject_tracking_get_list (GNC_PLUGIN_PAGE_SX_LIST_NAME); if (object && GNC_IS_PLUGIN_PAGE_SX_LIST (object->data)) plugin_page = GNC_PLUGIN_PAGE_SX_LIST (object->data); else { plugin_page = g_object_new (GNC_TYPE_PLUGIN_PAGE_SX_LIST, NULL); } return GNC_PLUGIN_PAGE(plugin_page); }
/* Virtual Functions */ static void gnc_plugin_page_sx_list_refresh_cb (GHashTable *changes, gpointer user_data) { GncPluginPageSxList *page = user_data; GncPluginPageSxListPrivate *priv; g_return_if_fail(GNC_IS_PLUGIN_PAGE_SX_LIST(page)); /* We're only looking for forced updates here. */ if (changes) return; priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(page); gtk_widget_queue_draw(priv->widget); }
/** Save enough information about this page that it can be recreated next time * the user starts gnucash. * @param plugin_page The page to save. * @param key_file A pointer to the GKeyFile data structure where the * page information should be written. * @param group_name The group name to use when saving data. **/ static void gnc_plugin_page_sx_list_save_page (GncPluginPage *plugin_page, GKeyFile *key_file, const gchar *group_name) { GncPluginPageSxList *page; GncPluginPageSxListPrivate *priv; g_return_if_fail(GNC_IS_PLUGIN_PAGE_SX_LIST(plugin_page)); g_return_if_fail(key_file != NULL); g_return_if_fail(group_name != NULL); page = GNC_PLUGIN_PAGE_SX_LIST(plugin_page); priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(page); g_key_file_set_integer(key_file, group_name, "dense_cal_num_months", gnc_dense_cal_get_num_months(priv->gdcal)); g_key_file_set_integer(key_file, group_name, "paned_position", gtk_paned_get_position(GTK_PANED(priv->widget))); }
static void gnc_plugin_page_sx_list_dispose(GObject *object) { GncPluginPageSxList *page; GncPluginPageSxListPrivate *priv; page = GNC_PLUGIN_PAGE_SX_LIST (object); g_return_if_fail(GNC_IS_PLUGIN_PAGE_SX_LIST (page)); priv = GNC_PLUGIN_PAGE_SX_LIST_GET_PRIVATE(page); g_return_if_fail(priv != NULL); g_return_if_fail(!priv->disposed); priv->disposed = TRUE; g_object_unref(G_OBJECT(priv->dense_cal_model)); priv->dense_cal_model = NULL; g_object_unref(GTK_WIDGET(priv->gdcal)); priv->gdcal = NULL; g_object_unref(G_OBJECT(priv->instances)); priv->instances = NULL; G_OBJECT_CLASS (parent_class)->dispose(object); }