octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #48778] Growing plot window in Qt toolkit and


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #48778] Growing plot window in Qt toolkit and Qt5
Date: Mon, 15 Aug 2016 03:18:21 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0

Follow-up Comment #6, bug #48778 (project octave):

Nice work.  So the annotation code looks to be it.  Have a look at this code:


function update_figsize_points (hf, dummy, hax)

  persistent recursive = false;
  if (! recursive)
    recursive = true;
    units = get (hf, "units");
    set (hf, "units", "points");
    pos = get (hf, "position");
    set (hf, "units", units);

    set (hax, "figsize_points", pos(3:4));
    recursive = false;
  endif

endfunction


The above routine is installed as a "listener".  A "listener" is a callback
whenever the indicated property changes:


  listener = address@hidden, hax};
  addlistener (hf, "position", listener);


So, the routine gets called whenever the 'position' property for the axes
changes.  But it looks as though what is inside of update_figsize_points()
could affect the axes size, e.g., set (hax, "figsize_points", pos(3:4)); 
That's a feedback loop.

Notice that there is a block


  if (! recursive)


attempting to stop this type of feedback or maybe to prevent another
disruptive call when the user is dragging the window.  [This is starting to
sound familiar...seems this kind of thing came up once before.]  I'm going to
send an email to the author at the top of annotation.m.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?48778>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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