Ejemplo n.º 1
0
xmlNodePtr
gnc_budget_dom_tree_create (GncBudget* bgt)
{
    xmlNodePtr ret;

    ENTER ("(budget=%p)", bgt);

    ret = xmlNewNode (NULL, BAD_CAST gnc_budget_string);
    xmlSetProp (ret, BAD_CAST "version", BAD_CAST budget_version_string);

    /* field: GncGUID */
    xmlAddChild (ret, guid_to_dom_tree (bgt_id_string,
                                        gnc_budget_get_guid (bgt)));
    /* field: char* name */
    xmlAddChild (ret, text_to_dom_tree (bgt_name_string,
                                        gnc_budget_get_name (bgt)));
    /* field: char* description */
    xmlAddChild (ret, text_to_dom_tree (bgt_description_string,
                                        gnc_budget_get_description (bgt)));
    /* field: guint num_periods */
    xmlAddChild (ret, guint_to_dom_tree (bgt_num_periods_string,
                                         gnc_budget_get_num_periods (bgt)));
    /* field: Recurrence*  */
    xmlAddChild (ret, recurrence_to_dom_tree (bgt_recurrence_string,
                                              gnc_budget_get_recurrence (bgt)));
    /* xmlAddChild won't do anything with a NULL, so tests are superfluous. */
    xmlAddChild (ret, qof_instance_slots_to_dom_tree (bgt_slots_string,
                                                      QOF_INSTANCE (bgt)));

    LEAVE (" ");
    return ret;
}
Ejemplo n.º 2
0
gboolean
gnc_tree_model_budget_get_iter_for_budget(GtkTreeModel *tm, GtkTreeIter *iter,
        GncBudget *bgt)
{
    GValue gv = { 0 };
    const GncGUID *guid1;
    GncGUID *guid2;

    g_return_val_if_fail(GNC_BUDGET(bgt), FALSE);

    guid1 = gnc_budget_get_guid(bgt);
    if (!gtk_tree_model_get_iter_first(tm, iter))
        return FALSE;
    while (gtk_list_store_iter_is_valid(GTK_LIST_STORE(tm), iter))
    {
        gtk_tree_model_get_value(tm, iter, BUDGET_GUID_COLUMN, &gv);
        guid2 = (GncGUID *) g_value_get_pointer(&gv);
        g_value_unset(&gv);

        if (guid_equal(guid1, guid2))
            return TRUE;

        if (!gtk_tree_model_iter_next(tm, iter))
            return FALSE;
    }
    return FALSE;
}
Ejemplo n.º 3
0
/*----------------------------------------------------------------*/
static  GncBudget*
load_single_budget (GncSqlBackend* sql_be, GncSqlRow& row)
{
    const GncGUID* guid;
    GncBudget* pBudget = NULL;
    Recurrence* r;

    g_return_val_if_fail (sql_be != NULL, NULL);

    guid = gnc_sql_load_guid (sql_be, row);
    if (guid != NULL)
    {
        pBudget = gnc_budget_lookup (guid, sql_be->book());
    }
    if (pBudget == NULL)
    {
        pBudget = gnc_budget_new (sql_be->book());
    }

    gnc_budget_begin_edit (pBudget);
    gnc_sql_load_object (sql_be, row, GNC_ID_BUDGET, pBudget, col_table);
    load_budget_amounts (sql_be, pBudget);
    r = gnc_sql_recurrence_load (sql_be, gnc_budget_get_guid (pBudget));
    if (r != NULL)
    {
        gnc_budget_set_recurrence (pBudget, r);
        g_free (r);
    }
    gnc_budget_commit_edit (pBudget);

    return pBudget;
}
Ejemplo n.º 4
0
/* Add the new budget object to the tree model.  */
static void add_budget_to_model(QofInstance* data, gpointer user_data )
{
    GtkTreeIter iter;
    GncBudget* budget = GNC_BUDGET(data);
    GtkTreeModel* treeModel = user_data;

    g_return_if_fail(GNC_IS_BUDGET(budget));
    g_return_if_fail(budget && treeModel);

    gtk_list_store_append (GTK_LIST_STORE(treeModel), &iter);
    gtk_list_store_set (GTK_LIST_STORE(treeModel), &iter,
                        BUDGET_GUID_COLUMN, gnc_budget_get_guid(budget),
                        BUDGET_NAME_COLUMN, gnc_budget_get_name(budget),
                        BUDGET_DESCRIPTION_COLUMN,
                        gnc_budget_get_description(budget), -1);
}