- Loading...
...
Please note that for Presidio release, we will implement DB-style table only. Other table styles, such as spreadsheet or properties-style table, are not part of this release. Because of that, features like cell or row spanning, grouped cells, or a selection in which all items that belongs to a rectangle formed by range's start and end points should be selected are not supported.
Figure 1 Table overview
Table 1.1 Desktop Table features overview
...
Figure 2 Column header overview
See detailed sections below describing sorting, and rearranging with resizing (not implemented in Presidio release). Column hiding and showing behaves like a regular menu button with check box menu items. See menu spec for details.
...
Cells display table content as labels, icons, check boxes or other standard controls. Custom cells are also supported. Cells support horizontal and vertical alignment, automatic sizing when cell width or height automatically fits content size, and multi-row and multi-column cells when a cell spans multiple columns or rows. Cell formatters display standard textual values in predefined style, in some cases corresponding to localization settings of native platform (e.g. date, time, numbers).
Figure 3 Cell overview
In addition to displaying values or information, cells can also be selected, edited or they can represent actions. Cell space is usually limited, therefore multiple clicks are sometimes necessary to differentiate between selection or editing. Possible pointing device click behavior after clicking into an unselected cell:
...
Figure 4 Selection overview
In multi-selection modes, one selected item (cell, row or column) is marked as a selection lead. It indicates the beginning of range selection when making range selection with pointing device (Shift-Click). For keyboard control, the selection lead is the focused item controlled with arrow keys.
...
Figure 5 Cell editor overview
If the same control is used for viewing and editing (e.g. check boxes or radio buttons) then cell editors are visible directly and it is not necessary to select the cell before using the editor. If a different control is used for viewing and editing, developers should have the following options:
...
Figure 6 Click to edit behavior (4 possible alternatives; note that the pink dot represents the left mouse click)
Please note that pictures above show the behavior of the cell editor for text boxes, and choice boxes only. Other controls, e.g. check boxes or radio buttons, have the cell editor visible directly so it is not necessary to select the cell before using the cell editor.
Normal - shows a cell in its normal state
Rollover - shows appearance of a cell when the mouse cursor appears over it
Selected - shows appearance of a cell which the user clicked on or hit Space on (after navigating to the cell using the keyboard)
Edited - shows the cell editor in action
...
If a table is empty, it permits developer to show a label or other content cross the whole table area. This is useful to explain why the table is empty.
Figure 7 Empty table
Table permits the user to sort columns by clicking the table header and it visually indicates which column the table is sorted by. It also supports multi-column sorting. The user clicks on a secondary (or tertiary, etc.) sorting column while holding the Shift key down. All columns then show visual sorting indication.
...
Figure 8 Sorting overview
Table 3 Pointing device sorting behavior
...
Figure 9 Column resizing unconstrained
When the user resizes a column width in the constrained mode, the table automatically adjusts the width of the right hand side columns. When the user increases a column width, the table decreases the width of the rightmost column until it reaches its minimum width. Then it decreases the width of the second rightmost column until it reaches minimum width and so on. When all right hand side columns reach minimum size, the user cannot increase the size of resized column any more.
...
Figure 9.1 Column resizing constrained to fit table width
...
Figure 10 Filtering overview
Figure 11 Searching overview
Note: In Presidio, we'll be supporting table-wide filtering (aka searching), but not filtering on specific columns (at least, not in the sense that we'll be offering any kind of 'filter bar' as shown in figure 11). Table-wide filtering will have no UI - the developer will be responsible for creating the UI as necessary.
...
Figure 12 Pagination overview
Note: The UI for this feature is not part of Presidio release.
...
Windows | Mac | Action | ||
---|---|---|---|---|
Up | Up | Moves focus & selection up one item. Creates anchor. All previous selections are canceled. | ||
Down | Down | Moves focus & selection down one item. Creates anchor. All previous selections are canceled. | ||
Ctrl-Up | Cmd-Up | Moves focus up without changing selection. | ||
Ctrl-Down | Cmd-Down | Moves focus down without changing selection. | ||
Shift-Up | Shift-Up | Expands or contracts selection up by one item. Only in multi-selection modes. In single selection mode, Shift key should be ignored and only Up key should be processed. See description of Up behavior for more details. | ||
Shift-Down | Shift-Down | Expands or contracts selection down by one item. Only in multi-selection modes. In single selection mode, Shift key should be ignored and only Down key should be processed. See description of Down behavior for more details. | ||
Space | Space | Space | Space | Selects focused item if it is not selected. Creates anchor. |
Ctrl-Space | Cmd-Ctrl-Space | Selects focused item if it is not selected. Deselects focused item if it is selected. Creates anchor. | ||
Shift-Space | Shift-Space | Selects all items between anchor and focused item. Focused item is also included in the selection. All previous selections are canceled, if applicable. Available in multi-selection mode only. In single selection mode, Shift key should be ignored and only Space key should be processed. See description of Space behavior for more details. | ||
F2 | F2 | Edit selected item. | ||
Home | Home | Moves focus & selection to the first item. Creates anchor. | ||
End | End | Moves focus & selection to the last item. Creates anchor. | ||
Shift-Home | Shift-Home | Selects all items between anchor and the first item. All previous selections are canceled, if applicable. Available in multi-selection mode only. In single selection mode, Shift key should be ignored and only Home key should be processed. See description of Home behavior for more details. | ||
Shift-Shift-End | Shift-End | Selects all items between anchor and the last item. All previous selections are canceled, if applicable. Available in multi-selection mode only. In single selection mode, Shift key should be ignored and only End key should be processed. See description of End behavior for more details. | ||
Ctrl-Home | Cmd-Home | Moves focus to the first item. | ||
Ctrl-End | Cmd-End | Moves focus to the last item. | ||
PageUp | PageUp | Move the selection up on the first fully visible item on the current page. If the first fully visible item is selected, move the selection on the first fully visible item on the previous page. In multi-selection mode, it cancels all previous selections. Creates anchor. | ||
PageDown | PageDown | Move the selection down on the last fully visible item on the current page. If the last fully visible item is selected, move the selection on the last fully visible item on the next page. In multi-selection mode, it cancels all previous selections. Creates anchor. | ||
Shift-PageUp | Shift-PageUp | Select all items between anchor and the first fully visible item on the current page. If the first fully visible item is already included in the selection, extend the selection to the first fully visible item on the previous page. In single selection mode, Shift key should be ignored and only PageUp key should be processed. See description of PageUp behavior for more details. | ||
Shift-PageDown | Shift | Shift-PageDown | Shift-PageDown | Select all items between anchor and the last fully visible item on the current page. If the last fully visible item is already included in the selection, extend the selection to the last fully visible item on the next page. In single selection mode, Shift key should be ignored and only PageDown key should be processed. See description of PageDown behavior for more details. |
Ctrl-PageUp | Cmd-PageUp | Move focus up on the first fully visible item on the current page. If the first fully visible item is focused, move focus on the first fully visible item on the previous page. | ||
Ctrl-PageDown | Cmd-PageDown | Move focus down on the last fully visible item on the current page. If the last fully visible item is focused, move focus on the last fully visible item on the next page. | ||
Ctrl-A | Cmd-A | Selects entire table. Focus remains on the same item. In multi-selection mode only. | ||
Esc | Esc | Cancels editing. | ||
Enter | Enter | Confirms editing (depends on the cell editor). | ||
Ctrl-Shift-Up | Cmd-Shift-Up | Expands selection up by one item. Only in multi-selection modes. In single selection mode, Shift key should be ignored and only Ctrl-Up (Cmd-Up) should be processed. See description of Ctrl-Up behavior for more details. | ||
Ctrl-Shift-Down | Cmd-Shift-Down | Expands selection down by one item. Only in multi-selection modes. In single selection mode, Shift key should be ignored and only Ctrl-Down (Cmd-Down) should be processed. See description of Ctrl-Down behavior for more details. | ||
Ctrl-Shift-Space | Cmd-Shift-Space | Selects all items between anchor and focused item. Focused item is also included in the selection. Create anchor. Available in multi-selection mode only. In single selection mode, Shift key should be ignored and only Ctrl-Space (Cmd-Space) should be processed. See description of Ctrl-Space behavior for more details. | ||
Ctrl-Shift-Home | Cmd-Shift-Home | Selects all items between anchor and the first item. Available in multi-selection mode only. In single selection mode, Shift key should be ignored and only Ctrl-Home (Cmd-Home) should be processed. See description of Ctrl-Home behavior for more details. | ||
Ctrl-Shift-End | Cmd-Shift-End | Selects all items between anchor and the last item. Available in multi-selection mode only. In single selection mode, Shift key should be ignored and only Ctrl-End (Cmd-End) should be processed. See description of Ctrl-End behavior for more details Selects all items between anchor and the last item. Available in multi-selection mode only. | ||
Ctrl-Shift-PageUp | Cmd-Shift-PageUp | Select all items between anchor and the first fully visible item on the current page. If the first fully visible item is already included in the selection, extend the selection to the first fully visible item on the previous page.Available in multi-selection mode only visible item on the previous page. In single selection mode, Shift key should be ignored and only Ctrl-PageUp (Cmd-PageUp) should be processed. See description of Ctrl-PageUp behavior for more details. | ||
Ctrl-Shift-PageDown | Cmd-Shift-PageDown | Select all items between anchor and the last fully visible item on the current page. If the last fully visible item is already included in the selection, extend the selection to the last fully visible item on the next page. In single selection mode, Shift key should be ignored and only Ctrl-PageDown (Cmd-PageDown) should be processed. See description of Ctrl-PageDown behavior for more details. |