r21922 - gnucash/trunk/src - Add more order gobject properties and convert sql backend to use them for loading/saving.

Phil Longstaff plongstaff at code.gnucash.org
Mon Jan 30 20:17:20 EST 2012


Author: plongstaff
Date: 2012-01-30 20:17:20 -0500 (Mon, 30 Jan 2012)
New Revision: 21922
Trac: http://svn.gnucash.org/trac/changeset/21922

Modified:
   gnucash/trunk/src/backend/sql/gnc-order-sql.c
   gnucash/trunk/src/engine/gncOrder.c
Log:
Add more order gobject properties and convert sql backend to use them for loading/saving.


Modified: gnucash/trunk/src/backend/sql/gnc-order-sql.c
===================================================================
--- gnucash/trunk/src/backend/sql/gnc-order-sql.c	2012-01-31 00:00:15 UTC (rev 21921)
+++ gnucash/trunk/src/backend/sql/gnc-order-sql.c	2012-01-31 01:17:20 UTC (rev 21922)
@@ -56,13 +56,13 @@
 static GncSqlColumnTableEntry col_table[] =
 {
     { "guid",        CT_GUID,     0,                 COL_NNUL | COL_PKEY, "guid" },
-    { "id",          CT_STRING,   MAX_ID_LEN,        COL_NNUL,          NULL, ORDER_ID },
-    { "notes",       CT_STRING,   MAX_NOTES_LEN,     COL_NNUL,          "notes" },
-    { "reference",   CT_STRING,   MAX_REFERENCE_LEN, COL_NNUL,          NULL, ORDER_REFERENCE },
-    { "active",      CT_BOOLEAN,  0,                 COL_NNUL,          NULL, QOF_PARAM_ACTIVE },
-    { "date_opened", CT_TIMESPEC, 0,                 COL_NNUL,          NULL, ORDER_OPENED },
-    { "date_closed", CT_TIMESPEC, 0,                 COL_NNUL,          NULL, ORDER_CLOSED },
-    { "owner",       CT_OWNERREF, 0,                 COL_NNUL,          NULL, ORDER_OWNER },
+    { "id",          CT_STRING,   MAX_ID_LEN,        COL_NNUL,            "id" },
+    { "notes",       CT_STRING,   MAX_NOTES_LEN,     COL_NNUL,            "notes" },
+    { "reference",   CT_STRING,   MAX_REFERENCE_LEN, COL_NNUL,            "reference" },
+    { "active",      CT_BOOLEAN,  0,                 COL_NNUL,            "order" },
+    { "date_opened", CT_TIMESPEC, 0,                 COL_NNUL,            "date-opened" },
+    { "date_closed", CT_TIMESPEC, 0,                 COL_NNUL,            "date-closed" },
+    { "owner",       CT_OWNERREF, 0,                 COL_NNUL,            NULL, ORDER_OWNER },
     { NULL },
 };
 

Modified: gnucash/trunk/src/engine/gncOrder.c
===================================================================
--- gnucash/trunk/src/engine/gncOrder.c	2012-01-31 00:00:15 UTC (rev 21921)
+++ gnucash/trunk/src/engine/gncOrder.c	2012-01-31 01:17:20 UTC (rev 21922)
@@ -84,7 +84,12 @@
 enum
 {
     PROP_0,
-    PROP_NOTES
+    PROP_ID,
+    PROP_NOTES,
+    PROP_ACTIVE,
+    PROP_DATE_OPENED,
+    PROP_DATE_CLOSED,
+    PROP_REFERENCE
 };
 
 /* GObject Initialization */
@@ -113,16 +118,31 @@
                         GValue          *value,
                         GParamSpec      *pspec)
 {
-    GncOrder *order;
+    GncOrder *priv;
 
     g_return_if_fail(GNC_IS_ORDER(object));
 
-    order = GNC_ORDER(object);
+    priv = GNC_ORDER(object);
     switch (prop_id)
     {
+    case PROP_ID:
+        g_value_set_string(value, priv->id);
+        break;
     case PROP_NOTES:
-        g_value_set_string(value, order->notes);
+        g_value_set_string(value, priv->notes);
         break;
+    case PROP_ACTIVE:
+        g_value_set_boolean(value, priv->active);
+        break;
+    case PROP_DATE_OPENED:
+        g_value_set_boxed(value, &priv->opened);
+        break;
+    case PROP_DATE_CLOSED:
+        g_value_set_boxed(value, &priv->closed);
+        break;
+    case PROP_REFERENCE:
+        g_value_set_string(value, priv->reference);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -142,9 +162,24 @@
     order = GNC_ORDER(object);
     switch (prop_id)
     {
+    case PROP_ID:
+        gncOrderSetID(order, g_value_get_string(value));
+        break;
     case PROP_NOTES:
         gncOrderSetNotes(order, g_value_get_string(value));
         break;
+    case PROP_ACTIVE:
+        gncOrderSetActive(order, g_value_get_boolean(value));
+        break;
+    case PROP_DATE_OPENED:
+        gncOrderSetDateOpened(order, *(Timespec*)g_value_get_boxed(value));
+        break;
+    case PROP_DATE_CLOSED:
+        gncOrderSetDateClosed(order, *(Timespec*)g_value_get_boxed(value));
+        break;
+    case PROP_REFERENCE:
+        gncOrderSetReference(order, g_value_get_string(value));
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -181,14 +216,62 @@
 
     g_object_class_install_property
     (gobject_class,
+     PROP_ID,
+     g_param_spec_string ("id",
+                          "Order ID",
+                          "The order id is an arbitrary string "
+                          "assigned by the user to identify the order.",
+                          NULL,
+                          G_PARAM_READWRITE));
+
+    g_object_class_install_property
+    (gobject_class,
      PROP_NOTES,
-     g_param_spec_string ("name",
+     g_param_spec_string ("notes",
                           "Order Notes",
                           "The order notes is an arbitrary string "
                           "assigned by the user to provide notes about "
                           "this order.",
                           NULL,
                           G_PARAM_READWRITE));
+
+    g_object_class_install_property
+    (gobject_class,
+     PROP_ACTIVE,
+     g_param_spec_boolean ("active",
+                           "Active",
+                           "TRUE if the order is active.  FALSE if inactive.",
+                           FALSE,
+                           G_PARAM_READWRITE));
+
+    g_object_class_install_property
+    (gobject_class,
+     PROP_DATE_OPENED,
+     g_param_spec_boxed("date-opened",
+                        "Date Opened",
+                        "The date the order was opened.",
+                        GNC_TYPE_TIMESPEC,
+                        G_PARAM_READWRITE));
+
+    g_object_class_install_property
+    (gobject_class,
+     PROP_DATE_CLOSED,
+     g_param_spec_boxed("date-closed",
+                        "Date Closed",
+                        "The date the order was closed.",
+                        GNC_TYPE_TIMESPEC,
+                        G_PARAM_READWRITE));
+
+    g_object_class_install_property
+    (gobject_class,
+     PROP_REFERENCE,
+     g_param_spec_string ("reference",
+                          "Order Reference",
+                          "The order reference is an arbitrary string "
+                          "assigned by the user to provide a reference for "
+                          "this order.",
+                          NULL,
+                          G_PARAM_READWRITE));
 }
 
 /* Create/Destroy Functions */



More information about the gnucash-changes mailing list