Wanted features for UITABLE and UITREE

42 views (last 30 days)
Jan on 20 Dec 2011
Currently the power of uitable and uitree is very limited.
Which features are missing to improve the usability of your GUIs?

Accepted Answer

Matt Kindig
Matt Kindig on 5 Feb 2013
It would be nice to be able to update the contents of a single uitable cell without "flicker". As it stands now, it is easy to modify the 'String' property of a uicontrol, call a drawnow(), and have it immediately update without flicker. To do the same in a uitable, you have to update the entire 'Data' cell array for all cells, causing flicker on the refresh. Also, when this occurs, the uitable scrolls back to its top-most position, which is confusing and distracting for the user.
  1 Comment
Jan on 8 Apr 2013
I accept this answer, because the unwanted scrolling is the most unintuitive feature of UITABLES.

Sign in to comment.

More Answers (6)

Jan on 1 Mar 2012
Some further ideas:
  • Colored cells. Using the HMTL method to define a color looks ugly, when the contents of a cell is edited.
  • Possibility to sort rows and columns.
  • Context menus for elements of uitree and uitable.
  • Scrolling of a specific node/row/column to the visible area/top line.
  • Get the scroll position.
  • Checkboxes in uitree nodes.
  • Export of the column width such that it can be stored for re-opening a GUI.
  • Setting the contents of individual cells without changing the selection status. E.g. when the HTML-method is used to set the appearance of a cell, the HTML tags could be removed in the pre-selection callback. But therefore the complete data must be clean and updated, which clears the selection status automatically.
  • Set the selection status programmatically.
  • Select a row or column.
  • Change the line width and color of the separator lines.
  • When I look in the documentation, I even do not find uitree immediately: Techdoc: user interface objects. So at least the current versions should be documented.
All these features are available in the Java-level, but Yair's findjobj needs more than a second to locate the handle and there is no guarantee, that it works in future versions also. See Undocumented: uitree. It would be much smarter if these important objects can be accessed from Matlab exhaustively and with documentation as well as support.

Jette on 1 Mar 2012
I'd like to have an additional Property 'RowEditable' similar to the property 'ColumnEditable'. Both properties should work at the same time such that the user is only allowed to change certain submatrices of the entire table.
Other things I'd like to have:
  • selection of entire rows and columns by clicking on the header
  • the possibility to change the background color of single cells
  • a context menu for each cell or at least for each column
Concerning uitree: This function is not even a supported function. It would be extremely nice to have an "official" uitree function in MATLAB.
  1 Comment
Jan on 5 Mar 2012
Apart from beeing "extremly nice" to have a powerful and supported uitree, it would allow to create GUIs with a modern and efficient structure. I see tree objects since the TOS of the Atari ST: 1985! Now, after 27 years it is the right time to support this interface object in Matlab also.

Sign in to comment.

Tom on 5 Feb 2013
Having a button up/ button down callback, or some way of determining whether the user is selecting single or multiple cells would be really useful.

Walter Roberson
Walter Roberson on 20 Dec 2011
uicontrol('Style','edit') and uitable cells should support a "PICTURE" input validation field; the field could be a string containing a % format, or a string containing a regex, or the handle of a routine. The validation would be "live", as characters are typed, with user notification (e.g. a beep, with provision made for visual notification for the deaf) as soon as they enter the wrong character.
drag-and-drop. Extended cut-and-paste (e.g., blocks of table)
Ability to find out which uitable cells are visible, and ability to set the scrollbars so that a particular part is visible.
Embedded 'vi' editor mode.

khaled DAWOUD
khaled DAWOUD on 24 Aug 2012
puting the cursor in specific cell of uitable in the matlab is not provided.This is really important of disp and controling the data in uitable.
  1 Comment
Jette on 4 Dec 2012
I agree that it is very important to select a cell programmatically. I just came across this issue and can't believe that this is not possible.

Sign in to comment.

Jan on 6 Aug 2013
See the excellent submission: FEX: TreeTable:
Imagine how disastrous an corresponding approach with several horizontally ordered listbox- uicontrol would look.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!