Extend LdDiagramObject.

* Add generic methods for data storage, making it able
  to store data in a hierarchy.
* Reimplement ld_diagram_{get,set}_data_for_param on top
  of the generic methods.
* Add a "data-changed" signal.
This commit is contained in:
2011-01-27 19:35:54 +01:00
parent b7fa5372fd
commit c2403fdcf7
4 changed files with 320 additions and 46 deletions

View File

@@ -8,6 +8,8 @@
*
*/
#include <string.h>
#include "liblogdiag.h"
#include "config.h"
@@ -65,12 +67,16 @@ ld_diagram_symbol_get_property (GObject *object, guint property_id,
GValue *value, GParamSpec *pspec)
{
LdDiagramObject *self;
GValue tmp_value;
self = LD_DIAGRAM_OBJECT (object);
switch (property_id)
{
case PROP_CLASS:
ld_diagram_object_get_data_for_param (self, value, pspec);
memset (&tmp_value, 0, sizeof (GValue));
ld_diagram_object_get_data_for_param (self, &tmp_value, pspec);
g_value_copy (&tmp_value, value);
g_value_unset (&tmp_value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);