remove template group from the book

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8533 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Linas Vepstas 2003-06-10 04:31:47 +00:00
parent fc0189c3f5
commit cb9ea67de7
5 changed files with 37 additions and 47 deletions

View File

@ -32,6 +32,7 @@
#include "SX-ttinfo.h"
#include "SchedXactionP.h"
#include "Transaction.h"
#include "gnc-book.h"
#include "gnc-book-p.h"
#include "gnc-date.h"
#include "gnc-engine.h"
@ -789,3 +790,27 @@ gnc_sx_get_defer_instances( SchedXaction *sx )
{
return sx->deferredList;
}
#define GNC_TEMPLATE_GROUP "gnc_template_group"
AccountGroup *
gnc_book_get_template_group( GNCBook *book )
{
if (!book) return NULL;
return gnc_book_get_data (book, GNC_TEMPLATE_GROUP);
}
void
gnc_book_set_template_group (GNCBook *book, AccountGroup *templateGroup)
{
if (!book) return;
if (templateGroup && templateGroup->book != book)
{
PERR ("cannot mix and match books freely!");
return;
}
gnc_book_set_data (book, GNC_TEMPLATE_GROUP, templateGroup);
}

View File

@ -34,9 +34,10 @@
#include "GNCId.h"
#include "FreqSpec.h"
#include "date.h"
#include "kvp_frame.h"
#include "gnc-date.h"
#include "gnc-book.h"
#include "gnc-engine.h"
#include "kvp_frame.h"
/*
* #defines for kvp_frame strings
@ -252,6 +253,11 @@ void gnc_sx_remove_defer_instance( SchedXaction *sx, void *deferStateData );
**/
GList *gnc_sx_get_defer_instances( SchedXaction *sx );
/** Returns the template group from the book.
**/
AccountGroup * gnc_book_get_template_group (GNCBook *book);
#endif /* XACC_SCHEDXACTION_H */
/** @} */

View File

@ -94,4 +94,8 @@ typedef struct _temporalStateData {
gint num_inst;
} temporalStateData;
/* Associate the given template group with a book */
void gnc_book_set_template_group (GNCBook *book, AccountGroup *templateGroup);
#endif

View File

@ -83,30 +83,6 @@ gnc_book_set_schedxactions( GNCBook *book, GList *newList )
book->sx_notsaved = TRUE;
}
/* ====================================================================== */
#define GNC_TEMPLATE_GROUP "gnc_template_group"
AccountGroup *
gnc_book_get_template_group( GNCBook *book )
{
if (!book) return NULL;
return gnc_book_get_data (book, GNC_TEMPLATE_GROUP);
}
void
gnc_book_set_template_group (GNCBook *book, AccountGroup *templateGroup)
{
if (!book) return;
if (templateGroup && templateGroup->book != book)
{
PERR ("cannot mix and match books freely!");
return;
}
gnc_book_set_data (book, GNC_TEMPLATE_GROUP, templateGroup);
}
/* ====================================================================== */
/* dirty flag stuff */
@ -168,24 +144,6 @@ gnc_book_mark_saved(GNCBook *book)
/* ====================================================================== */
static gboolean
counter_thunk(Transaction *t, void *data)
{
(*((guint*)data))++;
return TRUE;
}
guint
gnc_book_count_transactions(GNCBook *book)
{
guint count = 0;
xaccGroupForEachTransaction(xaccGetAccountGroup(book),
counter_thunk, (void*)&count);
return count;
}
/* ====================================================================== */
static void
gnc_book_populate (GNCBook *book)
{

View File

@ -58,9 +58,6 @@ kvp_frame * gnc_book_get_slots (GNCBook *book);
/** \return A GList of the scheduled transactions in the book. */
GList * gnc_book_get_schedxactions( GNCBook *book );
/** \return The template AccountGroup of the book. */
AccountGroup * gnc_book_get_template_group( GNCBook *book );
/** The gnc_book_set_data() allows
* arbitrary pointers to structs to be stored in GNCBook.
* This is the "prefered" method for extending GNCBook to hold