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