octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to initialize "tightinset" for new axes?


From: Michael Goffioul
Subject: Re: how to initialize "tightinset" for new axes?
Date: Sat, 27 Jul 2013 20:41:22 -0400

On Sat, Jul 27, 2013 at 12:37 PM, Ben Abbott <address@hidden> wrote:
On Jul 25, 2013, at 2:29 PM, Ben Abbott wrote:

> On Jul 25, 2013, at 6:52 PM, Michael Goffioul wrote:
>
>> On Thu, Jul 25, 2013 at 12:21 PM, Ben Abbott <address@hidden> wrote:
>>
>> On Jul 25, 2013, at 2:32 PM, Michael Goffioul wrote:
>>
>>> On Thu, Jul 25, 2013 at 8:13 AM, Ben Abbott <address@hidden> wrote:
>>>
>>> On Jul 25, 2013, at 1:28 PM, Michael Goffioul wrote:
>>>
>>>> On Thu, Jul 25, 2013 at 5:52 AM, Ben Abbott <address@hidden> wrote:
>>>> The tightinset property for axes is not being initialized properly for new axes.  I'm unfamiliar with how should be done .... but .... do we essentially need to add
>>>>
>>>>        sync_positions ();
>>>>
>>>> ... to graphics.cc(axes::initialize)?
>>>>
>>>> void
>>>> axes::initialize (const graphics_object& go)
>>>> {
>>>>  base_graphics_object::initialize (go);
>>>>
>>>>  xinitialize (xproperties.get_title ());
>>>>  xinitialize (xproperties.get_xlabel ());
>>>>  xinitialize (xproperties.get_ylabel ());
>>>>  xinitialize (xproperties.get_zlabel ());
>>>> }
>>>>
>>>> Since sync_positions() is out of the scope of axes::initialize,  how can that be done?
>>>>
>>>> I'm not sure, but the above seems like a valid candidate. Just give it a try.
>>>>
>>>> Michael.
>>>
>>> I get a scoping error.
>>>
>>> corefcn/graphics.cc: In member function 'virtual void axes::initialize(const graphics_object&)':
>>> corefcn/graphics.cc:6901:19: error: 'sync_positions' was not declared in this scope
>>>
>>> sync_positions is defined in the properties, so it has to be "xproperties.sync_positions ()". But even then, sync_positions is declared private, so it might not work out of the box. You may need to move it to the public section.
>>>
>>> Michael.
>>
>> I'm not exactly following along :-(
>>
>> I think I can figure out the public/private part, but I don't see how the xproperties works.  Is there another public function which I can use as an example to get started?
>>
>> First, it would be easier that you provide what you're tried so far.
>>
>> Michael.
>
> Ok.  I tried several things, but didn't do anything systematic.  I may not have time to document what I've tried for a few days, but i"ll get to it as soon as I have the spare time.

My problem was determining where the public section was.  Without the attached patch ...

        close all
        axes
        get (gca, 'tightinset')
        ans = 0 0 0 0

... And with the changeset

        close all
        axes
        get (gca (), "tightinset")
        ans =   0.046429   0.042868   0.000000   0.023810

If the patch looks ok, I'll push.

Looks fine to me.

Michael.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]