[Top][All Lists]

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

[Octave-bug-tracker] [bug #53046] Variable Editor: feature request to ma

From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #53046] Variable Editor: feature request to make multiple tables visible at once.
Date: Wed, 14 Feb 2018 01:41:26 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #9, bug #53046 (project octave):

I was going to make several comments, many along the lines that you mention.

Panels can be tiled vertically.  It takes a little practice, but just think of
the central-widget model, shown here:


I chose the populate method to be along the top, and along the top docked
widgets are horizontal.  I chose that because a screen naturally has more
width, plus to start arbitrarily choosing top/right/bottom/left and/or
tabified would get haphazard.  It's the side dock areas that stack vertically.
 So, start dragging panels to the left/right edges and soon one will find it. 
It can be tricky to get the mouse pointed at the exact edge where a space
opens up, but it isn't any different than the main GUI window.

Tabs on top rather than bottom?  Mmm, if it is a simple setting, perhaps, but
that's not a show-stopper item.  As a first step, not too much rewriting of
the way Qt does things is best.  Think of all the work they put into making
the central widget layout work.  There is MDI mode.  The central widget is an
MDI area.  The panels can all be moved into that area (not now, but we could
make that an option) and then move the windows to roughly where one wants
them, press a button and it will automatically tile.  But that's for another
day.  I'll look around for a tab location setting, though.

Closing.  The QMainWindow has a context menu for hiding.  Try right mouse
click in an area where there are no widgets.  Right there is a checkmark for
visible/hidden.  There's a comment in the code showing the setting that will
delete those windows rather than hide them (called "DeleteOnClose" or
something).  Look in the variable_editor::variable_editor constructor.

Let me look at some of these other things.  I think most are simple fixes.  I
noticed that currently copy/paste doesn't work, so I made sure to make that
work to verify the various features are working.  But the copy/paste needs a
great deal of work, just from looking at the code.  E.g., see here:


There is a "Table Paste", which I have no idea how that is supposed to work. 
Why two pastes?  Could there be just one if the innards pick to copy
rows/columns without the extra empty cells?

"Variables that can't be edited, like N-d arrays are no longer displayed."

Give me an example of N-d arrays.  I know I ran into the issue you mention
when I first started and I tracked it down to

-variable_editor::up (void)
-  QString name = real_var_name (m_tab_widget->currentIndex ());
-  // FIXME: Is there a better way?
-  if (name.endsWith (')') || name.endsWith ('}'))
-    {
-      name.remove (QRegExp ("(\\(|\\{)[^({]*(\\)|\\})$"));
-      edit_variable (name, octave_value ());
-    }

The empty octave_value () in there causes the variable to be "non-editable"
and does that "shrunk to zero cells" display.  That behavior was recently
added by one of your changesets, IIRC.  This is the consequence of freshening
patches which probably pasted back in an octave_value() where it would have
been fixed prior.  So, I probably just have to search for where the leftover
octave_value() is used to launch the edit_variable.  In any case, give me an
example code sequence and what to click on.

I noticed the missing keyboard navigation as well, and definitely missed being
able to select and copyby keyboard.  I thought that navigation (like
copy/paste) wasn't working currently, but I see now that it does work.  I
probably just need to set some flag somewhere to allow keyboard input.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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