MATLAB Answers

Jan
3

Wanted features for UITABLE and UITREE

Asked by 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?

  0 Comments

Sign in to comment.

7 Answers

Answer by Matt Kindig on 5 Feb 2013
 Accepted Answer

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
2013 年 4 月 8 日
I accept this answer, because the unwanted scrolling is the most unintuitive feature of UITABLES.

Sign in to comment.


回答者: Jan
2012 年 3 月 1 日

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.

  0 Comments

Sign in to comment.


回答者: Walter Roberson
2011 年 12 月 20 日

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.

  0 Comments

Sign in to comment.


回答者: Jette
2012 年 3 月 1 日

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.


回答者: khaled DAWOUD 2012 年 8 月 24 日

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
2012 年 12 月 4 日
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.


回答者: Tom
2013 年 2 月 5 日

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.

  0 Comments

Sign in to comment.


回答者: Jan
2013 年 8 月 6 日

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

  0 Comments

Sign in to comment.