29 #ifndef GNC_SPLIT_REG_H 30 #define GNC_SPLIT_REG_H 33 #include "gnucash-register.h" 40 #define GNC_SPLIT_REG(obj) G_TYPE_CHECK_INSTANCE_CAST( obj, gnc_split_reg_get_type(), GNCSplitReg ) 41 #define GNC_SPLIT_REG_CLASS(klass) G_TYPE_CHECK_CLASS_CAST( klass, gnc_split_reg_get_type(), GNCSplitRegClass ) 42 #define IS_GNC_SPLIT_REG(obj) G_TYPE_CHECK_INSTANCE_TYPE( obj, gnc_split_reg_get_type() ) 44 #define STATE_SECTION_REG_PREFIX "Register" 45 #define KEY_PAGE_SORT "register_order" 46 #define KEY_PAGE_SORT_REV "register_reversed" 47 #define KEY_PAGE_FILTER "register_filter" 63 GtkWidget *summarybar;
65 GtkWidget *popup_menu;
69 GtkWidget *style_submenu;
70 GtkWidget *sort_submenu;
71 GtkWidget *action_menu;
73 GtkWidget * double_line_check;
75 GtkWidget *split_button;
76 GtkWidget *split_menu_check;
77 GtkWidget *split_popup_check;
80 GtkWidget *balance_label;
81 GtkWidget *cleared_label;
82 GtkWidget *reconciled_label;
83 GtkWidget *future_label;
84 GtkWidget *projectedminimum_label;
85 GtkWidget *shares_label;
86 GtkWidget *value_label;
87 GtkWidget *sort_label;
88 GtkWidget *sort_arrow;
89 GtkWidget *filter_label;
100 gulong sort_arrow_handler_id;
108 GtkBoxClass parent_class;
111 void (*enter_ent_cb) ( GNCSplitReg *w, gpointer user_data );
112 void (*cancel_ent_cb) ( GNCSplitReg *w, gpointer user_data );
113 void (*delete_ent_cb) ( GNCSplitReg *w, gpointer user_data );
114 void (*reinit_ent_cb) ( GNCSplitReg *w, gpointer user_data );
115 void (*dup_ent_cb) ( GNCSplitReg *w, gpointer user_data );
116 void (*schedule_ent_cb) ( GNCSplitReg *w, gpointer user_data );
117 void (*expand_ent_cb) ( GNCSplitReg *w, gpointer user_data );
118 void (*blank_cb) ( GNCSplitReg *w, gpointer user_data );
119 void (*jump_cb) ( GNCSplitReg *w, gpointer user_data );
120 void (*cut_cb) ( GNCSplitReg *w, gpointer user_data );
121 void (*cut_txn_cb) ( GNCSplitReg *w, gpointer user_data );
122 void (*copy_cb) ( GNCSplitReg *w, gpointer user_data );
123 void (*copy_txn_cb) ( GNCSplitReg *w, gpointer user_data );
124 void (*paste_cb) ( GNCSplitReg *w, gpointer user_data );
125 void (*paste_txn_cb) ( GNCSplitReg *w, gpointer user_data );
126 void (*void_txn_cb) ( GNCSplitReg *w, gpointer user_data );
127 void (*unvoid_txn_cb) ( GNCSplitReg *w, gpointer user_data );
128 void (*reverse_txn_cb) ( GNCSplitReg *w, gpointer user_data );
129 void (*help_changed_cb) ( GNCSplitReg *w, gpointer user_data );
130 void (*show_popup_menu_cb) ( GNCSplitReg *w, gpointer user_data );
154 } GNC_SPLIT_REG_ITEM;
161 #define ENUM_LIST_SORTTYPE(_) \ 165 _(BY_DATE_ENTERED,) \ 166 _(BY_DATE_RECONCILED,) \ 174 DEFINE_ENUM(SortType, ENUM_LIST_SORTTYPE)
175 AS_STRING_DEC(SortType, ENUM_LIST_SORTTYPE)
181 GType gnc_split_reg_get_type(
void);
190 GtkWidget* gnc_split_reg_new( GNCLedgerDisplay *ld,
193 gboolean read_only );
198 GnucashRegister *gnc_split_reg_get_register( GNCSplitReg *gsr );
203 GtkWidget *gsr_create_summary_bar( GNCSplitReg *gsr );
209 SortType gnc_split_reg_get_sort_type( GNCSplitReg *gsr );
210 void gnc_split_reg_set_sort_type( GNCSplitReg *gsr, SortType t );
211 void gnc_split_reg_set_sort_type_force( GNCSplitReg *gsr, SortType t, gboolean force);
216 void gnc_split_reg_set_sort_reversed(GNCSplitReg *gsr,
217 gboolean rev, gboolean refresh);
223 void gnc_split_reg_change_style (GNCSplitReg *gsr,
229 GtkWidget *gnc_split_reg_get_summarybar( GNCSplitReg *gsr );
235 void gnc_split_reg_set_split_state( GNCSplitReg *gsr, gboolean split );
236 void gnc_split_reg_set_double_line( GNCSplitReg *gsr, gboolean doubleLine );
238 void gnc_split_reg_raise( GNCSplitReg *gsr );
245 gboolean gnc_split_reg_get_read_only( GNCSplitReg *gsr );
250 void gnc_split_reg_jump_to_blank (GNCSplitReg *gsr);
251 void gnc_split_reg_jump_to_split(GNCSplitReg *gsr, Split *split);
252 void gnc_split_reg_jump_to_split_amount(GNCSplitReg *gsr, Split *split);
263 gboolean gnc_split_reg_clear_filter_for_split (GNCSplitReg *gsr, Split *split);
268 void gnc_split_reg_focus_on_sheet (GNCSplitReg *gsr);
269 void gnc_split_reg_set_sheet_focus (GNCSplitReg *gsr, gboolean has_focus);
278 void gnc_split_reg_balancing_entry (GNCSplitReg *gsr,
Account *account,
279 time64 statement_date, gnc_numeric balancing_amount);
285 void gsr_default_doclink_handler (GNCSplitReg *gsr);
291 void gsr_default_doclink_open_handler (GNCSplitReg *gsr);
297 void gsr_default_doclink_remove_handler (GNCSplitReg *gsr);
299 void gnc_split_reg_enter( GNCSplitReg *gsr, gboolean next_transaction );
300 void gsr_default_delete_handler( GNCSplitReg *gsr, gpointer data );
301 void gsr_default_cut_txn_handler( GNCSplitReg *gsr, gpointer data );
302 void gsr_default_reinit_handler( GNCSplitReg *gsr, gpointer data );
303 void gsr_default_expand_handler( GNCSplitReg *gsr, gpointer data );
304 void gsr_default_schedule_handler( GNCSplitReg *gsr, gpointer data );
312 gchar *gsr_get_register_state_section (GNCSplitReg *gsr);
314 void gnc_split_reg_set_moved_cb( GNCSplitReg *gsr, GFunc cb, gpointer cb_data );
Public declarations for GncLedgerDisplay class.
#define ENTER(format, args...)
Print a function entry debugging message.
GnucashRegister * reg
The actual gnucash register widget.
GNCLedgerDisplay * ledger
The current ledger display.
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...
FROM_STRING_DEC(CheckItemType, ENUM_CHECK_ITEM_TYPE)
SplitRegisterStyle
Register styles.