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