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: Ben Abbott
Subject: Re: how to initialize "tightinset" for new axes?
Date: Sat, 27 Jul 2013 12:37:17 -0400

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.

Ben

Attachment: changeset.patch
Description: Binary data



reply via email to

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