26 #ifndef _GNC_SX_INSTANCE_MODEL_H
27 #define _GNC_SX_INSTANCE_MODEL_H
31 #include <glib-object.h>
37 #define GNC_TYPE_SX_INSTANCE_MODEL (gnc_sx_instance_model_get_type ())
38 #define GNC_SX_INSTANCE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNC_TYPE_SX_INSTANCE_MODEL, GncSxInstanceModel))
39 #define GNC_SX_INSTANCE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNC_TYPE_SX_INSTANCE_MODEL, GncSxInstanceModelClass))
40 #define GNC_IS_SX_INSTANCE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNC_TYPE_SX_INSTANCE_MODEL))
41 #define GNC_IS_SX_INSTANCE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNC_TYPE_SX_INSTANCE_MODEL))
42 #define GNC_SX_INSTANCE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNC_TYPE_SX_INSTANCE_MODEL, GncSxInstanceModelClass))
50 gint qof_event_handler_id;
59 gboolean include_disabled;
60 GList *sx_instance_list;
67 guint removing_signal_id;
68 guint updated_signal_id;
69 guint added_signal_id;
76 gboolean variable_names_parsed;
78 GDate next_instance_date;
86 SX_INSTANCE_STATE_IGNORED,
87 SX_INSTANCE_STATE_POSTPONED,
88 SX_INSTANCE_STATE_TO_CREATE,
89 SX_INSTANCE_STATE_REMINDER,
90 SX_INSTANCE_STATE_CREATED,
91 SX_INSTANCE_STATE_MAX_STATE
117 GType gnc_sx_instance_model_get_type(
void);
180 GncSxInstanceState new_state);
196 gboolean auto_create_only,
197 GList **created_transaction_guids,
198 GList **creation_errors);
220 void gnc_sx_get_variables(
SchedXaction *sx, GHashTable *var_hash);
221 int gnc_sx_parse_vars_from_formula(
const char *formula, GHashTable *var_hash,
gnc_numeric *result);
222 void gnc_sx_randomize_variables(GHashTable *vars);
240 const GDate *range_start,
const GDate *range_end,
241 GHashTable* map, GList **creation_errors);
254 #endif // _GNC_SX_INSTANCE_MODEL_H
GHashTable * gnc_g_hash_new_guid_numeric(void)
gint num_auto_create_no_notify_instances
void gnc_sx_instance_model_change_instance_state(GncSxInstanceModel *model, GncSxInstance *instance, GncSxInstanceState new_state)
GHashTable * gnc_sx_all_instantiate_cashflow_all(GDate range_start, GDate range_end)
An exact-rational-number library for gnucash. (to be renamed qofnumeric.h in libqof2) ...
GncSxInstanceState orig_state
GHashTable * gnc_sx_instance_get_variables_for_parser(GHashTable *instance_var_hash)
void gnc_sx_instance_model_summarize(GncSxInstanceModel *model, GncSxSummary *summary)
void gnc_sx_instance_model_update_sx_instances(GncSxInstanceModel *model, SchedXaction *sx)
void gnc_sx_instance_model_effect_change(GncSxInstanceModel *model, gboolean auto_create_only, GList **created_transaction_guids, GList **creation_errors)
void gnc_sx_summary_print(const GncSxSummary *summary)
gint num_auto_create_instances
void gnc_sx_all_instantiate_cashflow(GList *all_sxes, const GDate *range_start, const GDate *range_end, GHashTable *map, GList **creation_errors)
GList * gnc_sx_instance_get_variables(GncSxInstance *inst)
GHashTable * variable_bindings
GncSxInstanceModel * gnc_sx_get_instances(const GDate *range_end, gboolean include_disabled)
GHashTable * variable_names
GncSxInstanceModel * gnc_sx_get_current_instances(void)
Scheduled Transactions public handling routines.
gint num_to_create_instances
GList * gnc_sx_instance_model_check_variables(GncSxInstanceModel *model)