[Top][All Lists]

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

[Octave-bug-tracker] [bug #52621] root graphics object property "current

From: Rik
Subject: [Octave-bug-tracker] [bug #52621] root graphics object property "currentfigure" does not respect figure "handlevisibility" property
Date: Fri, 8 Dec 2017 11:47:36 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #5, bug #52621 (project octave):

@Pantxo: The patch works very well for the issue at hand.  Looking at the
documentation for the Figure "handlevisibility" property for Matlab

Visibility of figure object, specified as 'on', 'callback', or 'off'.

This property determines whether a figure is in its parent’s (the root’s)
list of children. HandleVisibility is useful for preventing command-line users
from accidentally drawing into, or deleting a figure that contains only user
interface components (such as a dialog box).

If an object is not in its parent's list of children, functions that find
objects by searching the object hierarchy or querying properties cannot return
that object. Such functions include get, findobj, gca, gcf, gco, newplot, cla,
clf, and close.

When the HandleVisibility property value is restricted using the 'callback' or
'off' settings, the object does not appear in the parent object Children
property, figures do not appear in the root CurrentFigure property, objects do
not appear in the root CallbackObject property or in the figure CurrentObject
property, and axes do not appear in their parent CurrentAxes property.

In the third paragraph Octave now implements the first two conditions

1) object does not appear in parent object's "children" property
2) figures do not appear in root object's "CurrentFigure" property

Would it be possible for you to code a solution for the next two conditions as

3) object does not appear in root "CallbackObject" property (which gco()
4) axes objects do not appear in their parent's "CurrentAxes" property.

As test code for the last condition,

hf = figure();
hax = gca;
get (hf, "currentaxes")
set (hax, "handlevisibility", "off");
get (hf, "currentaxes")

when I run that today I get

octave:40> hf = figure();
octave:41> hax = gca;
octave:42> get (hf, "currentaxes")
ans = -40.859
octave:43> set (hax, "handlevisibility", "off");
octave:44> get (hf, "currentaxes")
ans = -40.859


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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