39 #include <glib/gi18n.h> 44 #include "gnc-sx-list-tree-model-adapter.h" 46 #define LOG_MOD "gnc.ui.tree-view.sx-list" 47 static QofLogModule log_module = LOG_MOD;
49 #define G_LOG_DOMAIN LOG_MOD 51 static void gnc_tree_view_sx_list_dispose (GObject *
object);
52 static void gnc_tree_view_sx_list_finalize (GObject *
object);
56 GncTreeView gnc_tree_view;
58 GtkTreeModel *tree_model;
62 G_DEFINE_TYPE(GncTreeViewSxList, gnc_tree_view_sx_list, GNC_TYPE_TREE_VIEW)
65 gnc_tree_view_sx_list_class_init (GncTreeViewSxListClass *klass)
67 GObjectClass *o_class = G_OBJECT_CLASS(klass);
69 o_class->dispose = gnc_tree_view_sx_list_dispose;
70 o_class->finalize = gnc_tree_view_sx_list_finalize;
74 gnc_tree_view_sx_list_init (GncTreeViewSxList *view)
80 gnc_tree_view_sx_list_dispose (GObject *
object)
82 GncTreeViewSxList *view;
87 view = GNC_TREE_VIEW_SX_LIST(
object);
91 view->disposed = TRUE;
93 g_object_unref (G_OBJECT(view->tree_model));
94 view->tree_model = NULL;
96 G_OBJECT_CLASS(gnc_tree_view_sx_list_parent_class)->dispose (
object);
100 gnc_tree_view_sx_list_finalize(GObject *
object)
105 G_OBJECT_CLASS(gnc_tree_view_sx_list_parent_class)->finalize (
object);
109 gnc_tree_view_sx_list_new (GncSxInstanceModel *sx_instances)
111 GncTreeViewSxList *view = (GncTreeViewSxList*)g_object_new (GNC_TYPE_TREE_VIEW_SX_LIST, NULL);
112 g_object_set (view,
"name",
"gnc-id-sx-list-tree", NULL);
114 view->tree_model = GTK_TREE_MODEL(gnc_sx_list_tree_model_adapter_new (sx_instances));
115 gtk_tree_view_set_model (GTK_TREE_VIEW(view), GTK_TREE_MODEL(view->tree_model));
118 "Semi-Monthly Paycheck",
119 SXLTMA_COL_NAME, -1, NULL);
120 g_object_set_data (G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
123 C_(
"Single-character short column-title form of 'Enabled'",
"E"),
124 "enabled", SXLTMA_COL_ENABLED,
125 GNC_TREE_VIEW_COLUMN_VISIBLE_ALWAYS,
127 g_object_set_data (G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
130 "Weekly (x3): -------",
131 SXLTMA_COL_FREQUENCY, -1, NULL);
132 g_object_set_data (G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
136 SXLTMA_COL_LAST_OCCUR, -1, NULL);
137 g_object_set_data (G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
141 SXLTMA_COL_NEXT_OCCUR, -1, NULL);
142 g_object_set_data (G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
146 gtk_widget_show (GTK_WIDGET(view));
147 return GTK_TREE_VIEW(view);
151 gnc_tree_view_sx_list_get_sx_from_path (GncTreeViewSxList *view, GtkTreePath *path)
154 gtk_tree_model_get_iter (GTK_TREE_MODEL(view->tree_model), &iter, path);
155 return gnc_sx_list_tree_model_adapter_get_sx_instances(
156 GNC_SX_LIST_TREE_MODEL_ADAPTER(view->tree_model), &iter)->sx;
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)
This function adds a new toggle column to a GncTreeView base view.
void gnc_tree_view_configure_columns(GncTreeView *view)
Make all the correct columns visible, respecting their default visibility setting, their "always" visibility setting, and the last saved state if available.
#define gnc_leave_return_if_fail(test)
Replacement for g_return_if_fail, but calls LEAVE if the test fails.
GtkTreeViewColumn * gnc_tree_view_add_text_column(GncTreeView *view, const gchar *column_title, const gchar *pref_name, const gchar *icon_name, const gchar *sizing_text, gint model_data_column, gint model_visibility_column, GtkTreeIterCompareFunc column_sort_fn)
This function adds a new text column to a GncTreeView base view.