[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Graphics properties as objects
From: |
Michael Goffioul |
Subject: |
Re: Graphics properties as objects |
Date: |
Sun, 6 Jan 2008 22:24:00 +0100 |
On 1/6/08, John W. Eaton <address@hidden> wrote:
> OK, I think my understanding of the problem is better now.
>
> Can we hide some of the details so that we can write
>
> all_props.insert ("my_property", string_property (...));
>
> ? I don't mind that the property class might need a series of
> constructors like
>
> property (const color_property& p) : rep (new color_property (p)) { ... }
> property (const radio_property& p) : rep (new radio_property (p)) { ... }
> property (const string_property& p) : rep (new string_property (p)) { ... }
> ...
>
> Also, I'd like to hide the following details in some way:
>
> property p (&string);
> p.increment_count_by_one ();
> xproperties.add (p);
>
> So maybe we could write
>
> axes::properties::properties (const graphics_handle& mh,
> const graphics_handle& p)
> : base_properties (go_name, mh, p),
> position (Matrix ()),
> ...
> {
> ...
>
> all_props.insert_static_property ("position", position);
> ...
> }
>
> and have all the reference counting and address-of details hidden?
I agree with the concept og hiding things, but from the code above,
I have the impression that the typed property object (contained in
the "property" interface object) stored in the property map would be
a copy of the typed property field contained in the graphic object.
Is this what you want? Or do you mean that "insert_static_property"
should get an implementation like the following to make sure the
typed property object is really shared:
void insert_static_property (const std::string& name, position_property& p)
{
all_props[name] = property (&p);
}
I have the impression that using a copy of "position" in the property map
will get you into trouble: if you change the position from octave, the
obvious implementation will probably be to access the map and change
the property. But the C++ backend will use get_position() to access
the property. If you use copies, the values won't match?
Or did I miss something?
Michael.
- Re: Graphics properties as objects, (continued)
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/05
- Re: Graphics properties as objects, John Swensen, 2008/01/05
- Re: Graphics properties as objects, John W. Eaton, 2008/01/05
- Re: Graphics properties as objects, John W. Eaton, 2008/01/05
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/06
- Re: Graphics properties as objects, John W. Eaton, 2008/01/06
- Re: Graphics properties as objects,
Michael Goffioul <=
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/08
- Re: Graphics properties as objects, John W. Eaton, 2008/01/08
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/08
- Re: Graphics properties as objects, Shai Ayal, 2008/01/08
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/08
- Re: Graphics properties as objects, John W. Eaton, 2008/01/08
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/08
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/09
- Re: Graphics properties as objects, Shai Ayal, 2008/01/09
- Re: Graphics properties as objects, Michael Goffioul, 2008/01/09