octave-maintainers
[Top][All Lists]
Advanced

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

Strange handle behavior (was Re: [Changeset]: Re: cla() ?)


From: Ben Abbott
Subject: Strange handle behavior (was Re: [Changeset]: Re: cla() ?)
Date: Tue, 07 Oct 2008 22:06:09 -0400


On Oct 7, 2008, at 5:43 PM, Ben Abbott wrote:


On Oct 7, 2008, at 9:10 AM, Michael Goffioul wrote:

While we're talking about __go_delete__, does anybody
remember what was the idea behind removing an object
from its parent's children in __go_delete__, instead of
gh_manager::free? This makes life slighlty more complex
if you want to delete an object from C++, where you would
typically use gh_manager::free, but you then have to remove
the child manually from its parent's children.

I don't think I wrote that part of the code, and I can't figure
out why it is written that way.

Michael.

MIght what describe be responsible for why the code below does not return the axis limits to its default values?

octave:21> figure(1)
octave:22> clf
octave:23> axis
ans =

  0   1   0   1   0   1

octave:24> plot(1:10)
octave:25> text(5,5,'some text')
octave:26> axis
ans =

   0   10    0   10   -1    1

octave:27> delete (get(gca,'children'))
octave:28> axis auto
octave:29> axis
ans =

   0   10    0   10   -1    1


Some more strange behavior. I wrote a trivial script called "test_delete.m", which contains the lines below.

----------------------
clear all
figure (1)
clf
plot (1:10)
hc = get (gca, 'children');
delete (hc)
axis auto
p = get (hc)
----------------------

When I run it I get ...

octave:30> test_delete
error: get: invalid handle (= -6.17358)
error: called from:
error: /Users/bpabbott/Development/Octave Toolbox/cla/test_cla.m at line -1, column -1

With the exception of the x/y limits not changing, everything looks ok. However, if I then manually type the last line ...

octave:30> p = get(hc)
p =
{
  beingdeleted = off
  busyaction = queue
  buttondownfcn = [](0x0)
  children = [](0x0)
  clipping = on
  createfcn = [](0x0)
  deletefcn = [](0x0)
  handlevisibility = on
  hittest = on
  interruptible = on
  parent = -7.3210
  selected = off
  selectionhighlight = on
  tag =
  type = text
  userdata = [](0x0)
  visible = on
  __modified__ = on
  uicontextmenu = [](0x0)
  string =
  units = data
  position =

     0   0   0

  rotation = 0
  horizontalalignment = left
  color =

     0   0   0

  fontname = Helvetica
  fontsize =  10
  fontangle = normal
  fontweight = normal
  interpreter = tex
  backgroundcolor = none
  displayname =
  edgecolor = none
  erasemode = normal
  editing = off
  fontunits = points
  linestyle = -
  linewidth =  0.50000
  margin =  1
  verticalalignment = middle
}

If I manually type each line then all appears to work as expected.

I have no idea what is happening here, but thought the example might help someone else track down the problem.

Ben



reply via email to

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