38 #include <glib/gi18n.h>
43 #include "gnc-sx-list-tree-model-adapter.h"
45 #define LOG_MOD "gnc.ui.tree-view.sx-list"
48 #define G_LOG_DOMAIN LOG_MOD
52 static void gnc_tree_view_sx_list_dispose(GObject *
object);
53 static void gnc_tree_view_sx_list_finalize(GObject *
object);
57 GtkTreeModel *tree_model;
61 #define GNC_TREE_VIEW_SX_LIST_GET_PRIVATE(o) \
62 (G_TYPE_INSTANCE_GET_PRIVATE ((o), GNC_TYPE_TREE_VIEW_SX_LIST, GncTreeViewSxListPrivate))
64 static GObjectClass *parent_class = NULL;
67 gnc_tree_view_sx_list_get_type(
void)
69 static GType gnc_tree_view_sx_list_type = 0;
71 if (gnc_tree_view_sx_list_type == 0)
73 static const GTypeInfo our_info =
78 (GClassInitFunc) gnc_tree_view_sx_list_class_init,
83 (GInstanceInitFunc) gnc_tree_view_sx_list_init
86 gnc_tree_view_sx_list_type = g_type_register_static (GNC_TYPE_TREE_VIEW,
91 return gnc_tree_view_sx_list_type;
97 GObjectClass *o_class;
99 parent_class = g_type_class_peek_parent (klass);
101 o_class = G_OBJECT_CLASS (klass);
103 o_class->dispose = gnc_tree_view_sx_list_dispose;
104 o_class->finalize = gnc_tree_view_sx_list_finalize;
116 gnc_tree_view_sx_list_dispose(GObject *
object)
124 view = GNC_TREE_VIEW_SX_LIST (
object);
125 priv = GNC_TREE_VIEW_SX_LIST_GET_PRIVATE(view);
129 priv->disposed = TRUE;
131 g_object_unref(G_OBJECT(priv->tree_model));
132 priv->tree_model = NULL;
134 if (G_OBJECT_CLASS (parent_class)->dispose)
135 (* G_OBJECT_CLASS (parent_class)->dispose) (
object);
139 gnc_tree_view_sx_list_finalize(GObject *
object)
144 if (G_OBJECT_CLASS(parent_class)->finalize)
145 (* G_OBJECT_CLASS(parent_class)->finalize) (
object);
152 GtkTreeViewColumn *col;
155 view = (
GncTreeView*)g_object_new(GNC_TYPE_TREE_VIEW_SX_LIST, NULL);
156 g_object_set(view,
"name",
"sx_list_tree", NULL);
158 priv = GNC_TREE_VIEW_SX_LIST_GET_PRIVATE(view);
160 priv->tree_model = GTK_TREE_MODEL(gnc_sx_list_tree_model_adapter_new(sx_instances));
161 gtk_tree_view_set_model (GTK_TREE_VIEW (view), GTK_TREE_MODEL(priv->tree_model));
164 "Semi-Monthly Paycheck",
165 SXLTMA_COL_NAME, -1, NULL);
166 g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
171 Q_(
"Single-character short column-title form of 'Enabled'|E"),
172 "enabled", SXLTMA_COL_ENABLED,
173 GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
175 g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
178 "Weekly (x3): -------",
179 SXLTMA_COL_FREQUENCY, -1, NULL);
180 g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
184 SXLTMA_COL_LAST_OCCUR, -1, NULL);
185 g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
189 SXLTMA_COL_NEXT_OCCUR, -1, NULL);
190 g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
194 gtk_widget_show(GTK_WIDGET(view));
195 return GTK_TREE_VIEW(view);
199 gnc_tree_view_sx_list_get_sx_from_path(
GncTreeViewSxList *view, GtkTreePath *path)
203 gtk_tree_model_get_iter(GTK_TREE_MODEL(priv->tree_model), &iter, path);
204 return gnc_sx_list_tree_model_adapter_get_sx_instances(
205 GNC_SX_LIST_TREE_MODEL_ADAPTER(priv->tree_model), &iter)->sx;
GtkTreeViewColumn * gnc_tree_view_add_text_column(GncTreeView *view, const gchar *column_title, const gchar *pref_name, const gchar *stock_icon_name, const gchar *sizing_text, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn)
GncTreeView implementation for Scheduled Transaction List.
common utilities for manipulating a GtkTreeView within gnucash
GtkTreeViewColumn * gnc_tree_view_add_toggle_column(GncTreeView *view, const gchar *column_title, const gchar *column_short_title, const gchar *pref_name, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn, renderer_toggled toggle_edited_cb)
void gnc_tree_view_configure_columns(GncTreeView *view)
#define gnc_leave_return_if_fail(test)
const gchar * QofLogModule