29 #ifndef GNC_SPLIT_REG_H
30 #define GNC_SPLIT_REG_H
32 #include "gnc-ledger-display.h"
33 #include "gnucash-sheet.h"
35 #define GNC_SPLIT_REG(obj) G_TYPE_CHECK_INSTANCE_CAST( obj, gnc_split_reg_get_type(), GNCSplitReg )
36 #define GNC_SPLIT_REG_CLASS(klass) G_TYPE_CHECK_CLASS_CAST( klass, gnc_split_reg_get_type(), GNCSplitRegClass )
37 #define IS_GNC_SPLIT_REG(obj) G_TYPE_CHECK_INSTANCE_TYPE( obj, gnc_split_reg_get_type() )
53 GtkWidget *summarybar;
55 GtkWidget *popup_menu;
59 GtkWidget *style_submenu;
60 GtkWidget *sort_submenu;
61 GtkWidget *action_menu;
63 GtkWidget * double_line_check;
65 GtkWidget *split_button;
66 GtkWidget *split_menu_check;
67 GtkWidget *split_popup_check;
70 GtkWidget *balance_label;
71 GtkWidget *cleared_label;
72 GtkWidget *reconciled_label;
73 GtkWidget *future_label;
74 GtkWidget *projectedminimum_label;
75 GtkWidget *shares_label;
76 GtkWidget *value_label;
92 GtkVBoxClass parent_class;
95 void (*enter_ent_cb) (
GNCSplitReg *w, gpointer user_data );
96 void (*cancel_ent_cb) (
GNCSplitReg *w, gpointer user_data );
97 void (*delete_ent_cb) (
GNCSplitReg *w, gpointer user_data );
98 void (*reinit_ent_cb) (
GNCSplitReg *w, gpointer user_data );
99 void (*dup_ent_cb) (
GNCSplitReg *w, gpointer user_data );
100 void (*schedule_ent_cb) (
GNCSplitReg *w, gpointer user_data );
101 void (*expand_ent_cb) (
GNCSplitReg *w, gpointer user_data );
102 void (*blank_cb) (
GNCSplitReg *w, gpointer user_data );
103 void (*jump_cb) (
GNCSplitReg *w, gpointer user_data );
104 void (*cut_cb) (
GNCSplitReg *w, gpointer user_data );
105 void (*cut_txn_cb) (
GNCSplitReg *w, gpointer user_data );
106 void (*copy_cb) (
GNCSplitReg *w, gpointer user_data );
107 void (*copy_txn_cb) (
GNCSplitReg *w, gpointer user_data );
108 void (*paste_cb) (
GNCSplitReg *w, gpointer user_data );
109 void (*paste_txn_cb) (
GNCSplitReg *w, gpointer user_data );
110 void (*void_txn_cb) (
GNCSplitReg *w, gpointer user_data );
111 void (*unvoid_txn_cb) (
GNCSplitReg *w, gpointer user_data );
112 void (*reverse_txn_cb) (
GNCSplitReg *w, gpointer user_data );
113 void (*help_changed_cb) (
GNCSplitReg *w, gpointer user_data );
138 } GNC_SPLIT_REG_ITEM;
145 #define ENUM_LIST_SORTTYPE(_) \
149 _(BY_DATE_ENTERED,) \
150 _(BY_DATE_RECONCILED,) \
158 DEFINE_ENUM(SortType, ENUM_LIST_SORTTYPE)
159 AS_STRING_DEC(SortType, ENUM_LIST_SORTTYPE)
160 FROM_STRING_DEC(SortType, ENUM_LIST_SORTTYPE)
165 GType gnc_split_reg_get_type(
void);
177 gboolean read_only );
187 GtkWidget *gsr_create_summary_bar(
GNCSplitReg *gsr );
193 SortType gnc_split_reg_get_sort_type(
GNCSplitReg *gsr );
194 void gnc_split_reg_set_sort_type(
GNCSplitReg *gsr, SortType t );
195 void gnc_split_reg_set_sort_type_force(
GNCSplitReg *gsr, SortType t, gboolean force);
200 void gnc_split_reg_set_sort_reversed(
GNCSplitReg *gsr, gboolean rev);
211 GtkWidget *gnc_split_reg_get_summarybar(
GNCSplitReg *gsr );
217 void gnc_split_reg_set_split_state(
GNCSplitReg *gsr, gboolean split );
218 void gnc_split_reg_set_double_line(
GNCSplitReg *gsr, gboolean doubleLine );
227 gboolean gnc_split_reg_get_read_only(
GNCSplitReg *gsr );
232 void gnc_split_reg_jump_to_blank (
GNCSplitReg *gsr);
246 void gsr_default_delete_handler(
GNCSplitReg *gsr, gpointer data );
247 void gsr_default_associate_handler_file(
GNCSplitReg *gsr, gpointer data );
248 void gsr_default_associate_handler_location(
GNCSplitReg *gsr, gpointer data );
249 void gsr_default_execassociated_handler(
GNCSplitReg *gsr, gpointer data );
250 void gnc_split_reg_enter(
GNCSplitReg *gsr, gboolean next_transaction );
251 void gsr_default_delete_handler(
GNCSplitReg *gsr, gpointer data );
252 void gsr_default_reinit_handler(
GNCSplitReg *gsr, gpointer data );
253 void gsr_default_expand_handler(
GNCSplitReg *gsr, gpointer data );
254 void gsr_default_schedule_handler(
GNCSplitReg *gsr, gpointer data );
256 void gnc_split_reg_set_moved_cb(
GNCSplitReg *gsr, GFunc cb, gpointer cb_data );
#define ENTER(format, args...)
GNCLedgerDisplay * ledger