r18767 - gnucash/trunk/src/engine - Add more gobject property definitions to GNCPrice, Transaction, SchedXaction and Split.
Phil Longstaff
plongstaff at code.gnucash.org
Mon Mar 1 11:46:49 EST 2010
Author: plongstaff
Date: 2010-03-01 11:46:49 -0500 (Mon, 01 Mar 2010)
New Revision: 18767
Trac: http://svn.gnucash.org/trac/changeset/18767
Modified:
gnucash/trunk/src/engine/SchedXaction.c
gnucash/trunk/src/engine/Split.c
gnucash/trunk/src/engine/Transaction.c
gnucash/trunk/src/engine/gnc-pricedb.c
Log:
Add more gobject property definitions to GNCPrice, Transaction, SchedXaction and Split.
Modified: gnucash/trunk/src/engine/SchedXaction.c
===================================================================
--- gnucash/trunk/src/engine/SchedXaction.c 2010-02-28 23:19:34 UTC (rev 18766)
+++ gnucash/trunk/src/engine/SchedXaction.c 2010-03-01 16:46:49 UTC (rev 18767)
@@ -47,12 +47,17 @@
enum {
PROP_0,
PROP_NAME,
+ PROP_ENABLED,
PROP_NUM_OCCURANCE,
PROP_REM_OCCURANCE,
PROP_AUTO_CREATE,
PROP_AUTO_CREATE_NOTIFY,
PROP_ADVANCE_CREATION_DAYS,
- PROP_ADVANCE_REMINDER_DAYS
+ PROP_ADVANCE_REMINDER_DAYS,
+ PROP_START_DATE,
+ PROP_END_DATE,
+ PROP_LAST_OCCURANCE_DATE,
+ PROP_INSTANCE_COUNT
};
/* GObject initialization */
@@ -104,6 +109,9 @@
case PROP_NAME:
g_value_set_string(value, sx->name);
break;
+ case PROP_ENABLED:
+ g_value_set_boolean(value, sx->enabled);
+ break;
case PROP_NUM_OCCURANCE:
g_value_set_int(value, sx->num_occurances_total);
break;
@@ -122,6 +130,18 @@
case PROP_ADVANCE_REMINDER_DAYS:
g_value_set_int(value, sx->advanceRemindDays);
break;
+ case PROP_START_DATE:
+ g_value_set_boxed(value, &sx->start_date);
+ break;
+ case PROP_END_DATE:
+ g_value_set_boxed(value, &sx->end_date);
+ break;
+ case PROP_LAST_OCCURANCE_DATE:
+ g_value_set_boxed(value, &sx->last_date);
+ break;
+ case PROP_INSTANCE_COUNT:
+ g_value_set_int(value, sx->instance_num);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -135,6 +155,7 @@
GParamSpec *pspec)
{
SchedXaction *sx;
+ GDate* date;
g_return_if_fail(GNC_IS_SCHEDXACTION(object));
@@ -143,6 +164,9 @@
case PROP_NAME:
xaccSchedXactionSetName(sx, g_value_get_string(value));
break;
+ case PROP_ENABLED:
+ xaccSchedXactionSetEnabled(sx, g_value_get_boolean(value));
+ break;
case PROP_NUM_OCCURANCE:
xaccSchedXactionSetNumOccur(sx, g_value_get_int(value));
break;
@@ -161,6 +185,27 @@
case PROP_ADVANCE_REMINDER_DAYS:
xaccSchedXactionSetAdvanceReminder(sx, g_value_get_int(value));
break;
+ case PROP_START_DATE:
+ /* Note: when passed through a boxed gvalue, the julian value of the date is copied.
+ The date may appear invalid until a function requiring for dmy calculation is
+ called. */
+ xaccSchedXactionSetStartDate(sx, g_value_get_boxed(value));
+ break;
+ case PROP_END_DATE:
+ /* Note: when passed through a boxed gvalue, the julian value of the date is copied.
+ The date may appear invalid until a function requiring for dmy calculation is
+ called. */
+ xaccSchedXactionSetEndDate(sx, g_value_get_boxed(value));
+ break;
+ case PROP_LAST_OCCURANCE_DATE:
+ /* Note: when passed through a boxed gvalue, the julian value of the date is copied.
+ The date may appear invalid until a function requiring for dmy calculation is
+ called. */
+ xaccSchedXactionSetLastOccurDate(sx, g_value_get_boxed(value));
+ break;
+ case PROP_INSTANCE_COUNT:
+ gnc_sx_set_instance_count(sx, g_value_get_int(value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -190,6 +235,15 @@
G_PARAM_READWRITE));
g_object_class_install_property
+ (gobject_class,
+ PROP_ENABLED,
+ g_param_spec_boolean ("enabled",
+ "Enabled",
+ "TRUE if the scheduled transaction is enabled.",
+ TRUE,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
(gobject_class,
PROP_NUM_OCCURANCE,
g_param_spec_int ("num-occurance",
@@ -252,6 +306,44 @@
G_MAXINT16,
0,
G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_START_DATE,
+ g_param_spec_boxed("start-date",
+ "Start Date",
+ "Date for the first occurence for the scheduled transaction.",
+ G_TYPE_DATE,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_END_DATE,
+ g_param_spec_boxed("end-date",
+ "End Date",
+ "Date for the scheduled transaction to end.",
+ G_TYPE_DATE,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_LAST_OCCURANCE_DATE,
+ g_param_spec_boxed("last-occurance-date",
+ "Last Occurance Date",
+ "Date for the last occurance of the scheduled transaction.",
+ G_TYPE_DATE,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_INSTANCE_COUNT,
+ g_param_spec_int ("instance-count",
+ "Instance count",
+ "Number of instances of this scheduled transaction.",
+ 0,
+ G_MAXINT16,
+ 0,
+ G_PARAM_READWRITE));
}
static void
Modified: gnucash/trunk/src/engine/Split.c
===================================================================
--- gnucash/trunk/src/engine/Split.c 2010-02-28 23:19:34 UTC (rev 18766)
+++ gnucash/trunk/src/engine/Split.c 2010-03-01 16:46:49 UTC (rev 18767)
@@ -64,7 +64,11 @@
PROP_ACTION,
PROP_MEMO,
PROP_VALUE,
- PROP_AMOUNT
+ PROP_AMOUNT,
+ PROP_RECONCILE_DATE,
+ PROP_TX,
+ PROP_ACCOUNT,
+ PROP_LOT
};
/* GObject Initialization */
@@ -132,6 +136,18 @@
case PROP_AMOUNT:
g_value_set_boxed(value, &split->amount);
break;
+ case PROP_RECONCILE_DATE:
+ g_value_set_boxed(value, &split->date_reconciled);
+ break;
+ case PROP_TX:
+ g_value_set_object(value, split->parent);
+ break;
+ case PROP_ACCOUNT:
+ g_value_set_object(value, split->acc);
+ break;
+ case PROP_LOT:
+ g_value_set_object(value, split->lot);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -165,6 +181,18 @@
number = g_value_get_boxed(value);
xaccSplitSetAmount(split, *number);
break;
+ case PROP_RECONCILE_DATE:
+ xaccSplitSetDateReconciledTS(split, g_value_get_boxed(value));
+ break;
+ case PROP_TX:
+ xaccSplitSetParent(split, g_value_get_object(value));
+ break;
+ case PROP_ACCOUNT:
+ xaccSplitSetAccount(split, g_value_get_object(value));
+ break;
+ case PROP_LOT:
+ xaccSplitSetLot(split, g_value_get_object(value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -226,6 +254,42 @@
"calculate a conversion rate.",
GNC_TYPE_NUMERIC,
G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_RECONCILE_DATE,
+ g_param_spec_boxed("reconcile-date",
+ "Reconcile Date",
+ "The date this split was reconciled.",
+ GNC_TYPE_TIMESPEC,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_TX,
+ g_param_spec_object ("transaction",
+ "Transaction",
+ "The transaction that this split belongs to.",
+ GNC_TYPE_TRANSACTION,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_ACCOUNT,
+ g_param_spec_object ("account",
+ "Account",
+ "The account that this split belongs to.",
+ GNC_TYPE_ACCOUNT,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_LOT,
+ g_param_spec_object ("lot",
+ "Lot",
+ "The lot that this split belongs to.",
+ GNC_TYPE_LOT,
+ G_PARAM_READWRITE));
}
/********************************************************************\
Modified: gnucash/trunk/src/engine/Transaction.c
===================================================================
--- gnucash/trunk/src/engine/Transaction.c 2010-02-28 23:19:34 UTC (rev 18766)
+++ gnucash/trunk/src/engine/Transaction.c 2010-03-01 16:46:49 UTC (rev 18767)
@@ -189,7 +189,10 @@
enum {
PROP_0,
PROP_NUM,
- PROP_DESCRIPTION
+ PROP_DESCRIPTION,
+ PROP_CURRENCY,
+ PROP_POST_DATE,
+ PROP_ENTER_DATE
};
void check_open (const Transaction *trans)
@@ -301,6 +304,15 @@
case PROP_DESCRIPTION:
g_value_set_string(value, tx->description);
break;
+ case PROP_CURRENCY:
+ g_value_set_object(value, tx->common_currency);
+ break;
+ case PROP_POST_DATE:
+ g_value_set_boxed(value, &tx->date_posted);
+ break;
+ case PROP_ENTER_DATE:
+ g_value_set_boxed(value, &tx->date_entered);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
}
@@ -313,6 +325,7 @@
GParamSpec* pspec)
{
Transaction* tx;
+ Timespec* ts;
g_return_if_fail(GNC_IS_TRANSACTION(object));
@@ -324,6 +337,15 @@
case PROP_DESCRIPTION:
xaccTransSetDescription(tx, g_value_get_string(value));
break;
+ case PROP_CURRENCY:
+ xaccTransSetCurrency(tx, g_value_get_object(value));
+ break;
+ case PROP_POST_DATE:
+ xaccTransSetDatePostedTS(tx, g_value_get_boxed(value));
+ break;
+ case PROP_ENTER_DATE:
+ xaccTransSetDateEnteredTS(tx, g_value_get_boxed(value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
}
@@ -364,6 +386,33 @@
"transaction.",
NULL,
G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_CURRENCY,
+ g_param_spec_object ("currency",
+ "Currency",
+ "The base currency for this transaction.",
+ GNC_TYPE_COMMODITY,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_POST_DATE,
+ g_param_spec_boxed("post-date",
+ "Post Date",
+ "The date the transaction occurred.",
+ GNC_TYPE_NUMERIC,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_ENTER_DATE,
+ g_param_spec_boxed("enter-date",
+ "Enter Date",
+ "The date the transaction was entered.",
+ GNC_TYPE_NUMERIC,
+ G_PARAM_READWRITE));
}
/********************************************************************\
Modified: gnucash/trunk/src/engine/gnc-pricedb.c
===================================================================
--- gnucash/trunk/src/engine/gnc-pricedb.c 2010-02-28 23:19:34 UTC (rev 18766)
+++ gnucash/trunk/src/engine/gnc-pricedb.c 2010-03-01 16:46:49 UTC (rev 18767)
@@ -37,6 +37,9 @@
enum {
PROP_0,
+ PROP_COMMODITY,
+ PROP_CURRENCY,
+ PROP_DATE,
PROP_SOURCE,
PROP_TYPE,
PROP_VALUE
@@ -84,6 +87,15 @@
case PROP_VALUE:
g_value_set_boxed(value, &price->value);
break;
+ case PROP_COMMODITY:
+ g_value_set_object(value, price->commodity);
+ break;
+ case PROP_CURRENCY:
+ g_value_set_object(value, price->currency);
+ break;
+ case PROP_DATE:
+ g_value_set_boxed(value, &price->tmspec);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -95,6 +107,7 @@
{
GNCPrice* price;
gnc_numeric* number;
+ Timespec* ts;
g_return_if_fail(GNC_IS_PRICE(object));
@@ -110,6 +123,16 @@
number = g_value_get_boxed(value);
gnc_price_set_value(price, *number);
break;
+ case PROP_COMMODITY:
+ gnc_price_set_commodity(price, g_value_get_object(value));
+ break;
+ case PROP_CURRENCY:
+ gnc_price_set_currency(price, g_value_get_object(value));
+ break;
+ case PROP_DATE:
+ ts = g_value_get_boxed(value);
+ gnc_price_set_time(price, *ts);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -127,6 +150,28 @@
gobject_class->get_property = gnc_price_get_property;
g_object_class_install_property
+ (gobject_class,
+ PROP_COMMODITY,
+ g_param_spec_object ("commodity",
+ "Commodity",
+ "The commodity field denotes the base kind of "
+ "'stuff' for the units of this quote, whether "
+ "it is USD, gold, stock, etc.",
+ GNC_TYPE_COMMODITY,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
+ PROP_CURRENCY,
+ g_param_spec_object ("currency",
+ "Currency",
+ "The currency field denotes the external kind "
+ "'stuff' for the units of this quote, whether "
+ "it is USD, gold, stock, etc.",
+ GNC_TYPE_COMMODITY,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
(gobject_class,
PROP_SOURCE,
g_param_spec_string ("source",
@@ -151,6 +196,15 @@
g_object_class_install_property
(gobject_class,
+ PROP_DATE,
+ g_param_spec_boxed("date",
+ "Date",
+ "The date of the price quote.",
+ GNC_TYPE_NUMERIC,
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property
+ (gobject_class,
PROP_VALUE,
g_param_spec_boxed("value",
"Value",
More information about the gnucash-changes
mailing list