|
GnuCash 2.4.99
|
Data Structures | |
| struct | GncPluginPageBudget |
| struct | GncPluginPageBudgetClass |
Files | |
| file | gnc-budget.h |
GnuCash Budgets. | |
| file | gnc-plugin-page-budget.h |
| file | gnc-tree-model-budget.h |
provides some utilities for working with the list of budgets in a book. | |
Defines | |
| #define | GNC_TYPE_BUDGET (gnc_budget_get_type ()) |
| #define | GNC_BUDGET(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_BUDGET, GncBudget)) |
| #define | GNC_BUDGET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_BUDGET, GncBudgetClass)) |
| #define | GNC_IS_BUDGET(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_BUDGET)) |
| #define | GNC_IS_BUDGET_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_BUDGET)) |
| #define | GNC_BUDGET_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_BUDGET, GncBudgetClass)) |
| #define | GNC_BUDGET_MAX_NUM_PERIODS_DIGITS 3 |
| #define | gnc_budget_return_guid(X) (X ? *(qof_entity_get_guid(QOF_INSTANCE(X))) : *(guid_null())) |
| #define | gnc_budget_lookup_direct(g, b) gnc_budget_lookup(&(g),(b)) |
| #define | GNC_TYPE_PLUGIN_PAGE_BUDGET (gnc_plugin_page_budget_get_type ()) |
| #define | GNC_PLUGIN_PAGE_BUDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNC_TYPE_PLUGIN_PAGE_BUDGET, GncPluginPageBudget)) |
| #define | GNC_PLUGIN_PAGE_BUDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNC_TYPE_PLUGIN_PAGE_BUDGET, GncPluginPageBudgetClass)) |
| #define | GNC_IS_PLUGIN_PAGE_BUDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNC_TYPE_PLUGIN_PAGE_BUDGET)) |
| #define | GNC_IS_PLUGIN_PAGE_BUDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNC_TYPE_PLUGIN_PAGE_BUDGET)) |
| #define | GNC_PLUGIN_PAGE_BUDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNC_TYPE_PLUGIN_PAGE_BUDGET, GncPluginPageBudgetClass)) |
| #define | GNC_PLUGIN_PAGE_BUDGET_NAME "GncPluginPageBudget" |
Typedefs | |
| typedef struct budget_s | GncBudget |
| typedef struct _GncBudgetClass | GncBudgetClass |
Enumerations | |
| enum | { BUDGET_GUID_COLUMN, BUDGET_NAME_COLUMN, BUDGET_DESCRIPTION_COLUMN, BUDGET_LIST_NUM_COLS } |
Functions | |
| GType | gnc_budget_get_type (void) |
| gboolean | gnc_budget_register (void) |
| GncBudget * | gnc_budget_new (QofBook *book) |
| void | gnc_budget_destroy (GncBudget *budget) |
| void | gnc_budget_begin_edit (GncBudget *bgt) |
| void | gnc_budget_commit_edit (GncBudget *bgt) |
| GncBudget * | gnc_budget_clone (const GncBudget *budget) |
| const GncGUID * | gnc_budget_get_guid (const GncBudget *budget) |
| void | gnc_budget_set_name (GncBudget *budget, const gchar *name) |
| const gchar * | gnc_budget_get_name (const GncBudget *budget) |
| void | gnc_budget_set_description (GncBudget *budget, const gchar *description) |
| const gchar * | gnc_budget_get_description (const GncBudget *budget) |
| void | gnc_budget_set_num_periods (GncBudget *budget, guint num_periods) |
| guint | gnc_budget_get_num_periods (const GncBudget *budget) |
| void | gnc_budget_set_recurrence (GncBudget *budget, const Recurrence *r) |
| const Recurrence * | gnc_budget_get_recurrence (const GncBudget *budget) |
| Timespec | gnc_budget_get_period_start_date (const GncBudget *budget, guint period_num) |
| Timespec | gnc_budget_get_period_end_date (const GncBudget *budget, guint period_num) |
| void | gnc_budget_set_account_period_value (GncBudget *budget, const Account *account, guint period_num, gnc_numeric val) |
| void | gnc_budget_unset_account_period_value (GncBudget *budget, const Account *account, guint period_num) |
| gboolean | gnc_budget_is_account_period_value_set (const GncBudget *budget, const Account *account, guint period_num) |
| gnc_numeric | gnc_budget_get_account_period_value (const GncBudget *budget, const Account *account, guint period_num) |
| gnc_numeric | gnc_budget_get_account_period_actual_value (const GncBudget *budget, Account *account, guint period_num) |
| GncBudget * | gnc_budget_get_default (QofBook *book) |
| GncBudget * | gnc_budget_lookup (const GncGUID *guid, const QofBook *book) |
| GType | gnc_plugin_page_budget_get_type (void) |
| GncPluginPage * | gnc_plugin_page_budget_new (GncBudget *budget) |
| void | gnc_budget_gui_delete_budget (GncBudget *budget) |
| GtkTreeModel * | gnc_tree_model_budget_new (QofBook *book) |
| void | gnc_tree_view_budget_set_model (GtkTreeView *tv, GtkTreeModel *tm) |
| GncBudget * | gnc_tree_model_budget_get_budget (GtkTreeModel *tm, GtkTreeIter *iter) |
| gboolean | gnc_tree_model_budget_get_iter_for_budget (GtkTreeModel *tm, GtkTreeIter *iter, GncBudget *bgt) |
The budget data.
Definition at line 70 of file gnc-budget.h.
| anonymous enum |
Definition at line 38 of file gnc-tree-model-budget.h.
{
BUDGET_GUID_COLUMN,
BUDGET_NAME_COLUMN,
BUDGET_DESCRIPTION_COLUMN,
BUDGET_LIST_NUM_COLS
};
Clones a budget creating a copy
Definition at line 335 of file gnc-budget.c.
{
GncBudget* new_b;
Account* root;
CloneBudgetData_t clone_data;
g_return_val_if_fail(old_b != NULL, NULL);
ENTER(" ");
new_b = gnc_budget_new(qof_instance_get_book(old_b));
gnc_budget_begin_edit(new_b);
gnc_budget_set_name(new_b, gnc_budget_get_name(old_b));
gnc_budget_set_description(new_b, gnc_budget_get_description(old_b));
gnc_budget_set_recurrence(new_b, gnc_budget_get_recurrence(old_b));
gnc_budget_set_num_periods(new_b, gnc_budget_get_num_periods(old_b));
root = gnc_book_get_root_account(qof_instance_get_book(old_b));
clone_data.old_b = old_b;
clone_data.new_b = new_b;
clone_data.num_periods = gnc_budget_get_num_periods(new_b);
gnc_account_foreach_descendant(root, clone_budget_values_cb, &clone_data);
gnc_budget_commit_edit(new_b);
LEAVE(" ");
return new_b;
}
| void gnc_budget_destroy | ( | GncBudget * | budget | ) |
Deletes the given budget object.
Definition at line 301 of file gnc-budget.c.
{
g_return_if_fail(GNC_IS_BUDGET(budget));
gnc_budget_begin_edit(budget);
qof_instance_set_dirty(&budget->inst);
qof_instance_set_destroying(budget, TRUE);
gnc_budget_commit_edit(budget);
}
Get the ending date of the Budget period
Definition at line 580 of file gnc-budget.c.
{
Timespec ts;
timespecFromTime_t(
&ts, recurrenceGetPeriodTime(&GET_PRIVATE(budget)->recurrence, period_num, TRUE));
return ts;
}
Get the starting date of the Budget period
Definition at line 571 of file gnc-budget.c.
{
Timespec ts;
timespecFromTime_t(
&ts, recurrenceGetPeriodTime(&GET_PRIVATE(budget)->recurrence, period_num, FALSE));
return ts;
}
Creates and initializes a Budget.
Definition at line 284 of file gnc-budget.c.
{
GncBudget* budget;
g_return_val_if_fail(book, NULL);
ENTER(" ");
budget = g_object_new(GNC_TYPE_BUDGET, NULL);
qof_instance_init_data (&budget->inst, GNC_ID_BUDGET, book);
qof_event_gen( &budget->inst, QOF_EVENT_CREATE , NULL);
LEAVE(" ");
return budget;
}
| void gnc_budget_set_description | ( | GncBudget * | budget, |
| const gchar * | description | ||
| ) |
Set/Get the description of the Budget
Definition at line 391 of file gnc-budget.c.
{
BudgetPrivate* priv;
g_return_if_fail(GNC_IS_BUDGET(budget));
g_return_if_fail(description);
priv = GET_PRIVATE(budget);
if ( description == priv->description ) return;
gnc_budget_begin_edit(budget);
CACHE_REPLACE(priv->description, description);
qof_instance_set_dirty(&budget->inst);
gnc_budget_commit_edit(budget);
qof_event_gen( &budget->inst, QOF_EVENT_MODIFY, NULL);
}
| void gnc_budget_set_name | ( | GncBudget * | budget, |
| const gchar * | name | ||
| ) |
Set/Get the name of the Budget
Definition at line 366 of file gnc-budget.c.
{
BudgetPrivate* priv;
g_return_if_fail(GNC_IS_BUDGET(budget) && name);
priv = GET_PRIVATE(budget);
if ( name == priv->name ) return;
gnc_budget_begin_edit(budget);
CACHE_REPLACE(priv->name, name);
qof_instance_set_dirty(&budget->inst);
gnc_budget_commit_edit(budget);
qof_event_gen( &budget->inst, QOF_EVENT_MODIFY, NULL);
}
| void gnc_budget_set_num_periods | ( | GncBudget * | budget, |
| guint | num_periods | ||
| ) |
Set/Get the number of periods in the Budget
Definition at line 447 of file gnc-budget.c.
{
BudgetPrivate* priv;
g_return_if_fail(GNC_IS_BUDGET(budget));
priv = GET_PRIVATE(budget);
if ( priv->num_periods == num_periods ) return;
gnc_budget_begin_edit(budget);
priv->num_periods = num_periods;
qof_instance_set_dirty(&budget->inst);
gnc_budget_commit_edit(budget);
qof_event_gen( &budget->inst, QOF_EVENT_MODIFY, NULL);
}
| GncPluginPage* gnc_plugin_page_budget_new | ( | GncBudget * | budget | ) |
Create a new "budget" plugin page.
Definition at line 248 of file gnc-plugin-page-budget.c.
{
GncPluginPageBudget *plugin_page;
GncPluginPageBudgetPrivate *priv;
gchar* label;
const GList *item;
g_return_val_if_fail(GNC_IS_BUDGET(budget), NULL);
ENTER(" ");
/* Is there an existing page? */
item = gnc_gobject_tracking_get_list(GNC_PLUGIN_PAGE_BUDGET_NAME);
for ( ; item; item = g_list_next(item))
{
plugin_page = (GncPluginPageBudget *)item->data;
priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(plugin_page);
if (priv->budget == budget)
{
LEAVE("existing budget page %p", plugin_page);
return GNC_PLUGIN_PAGE(plugin_page);
}
}
plugin_page = g_object_new(GNC_TYPE_PLUGIN_PAGE_BUDGET, NULL);
priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(plugin_page);
priv->budget = budget;
priv->delete_budget = FALSE;
label = g_strdup_printf("%s: %s", _("Budget"), gnc_budget_get_name(budget));
g_object_set(G_OBJECT(plugin_page), "page-name", label, NULL);
g_free(label);
priv->key = *gnc_budget_get_guid(budget);
LEAVE("new budget page %p", plugin_page);
return GNC_PLUGIN_PAGE(plugin_page);
}
1.7.4