Mercurial > projects > mde
annotate codeDoc/ideas.txt @ 120:46c63cb1c74f
Ideas for keyboard selection of widgets.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Thu, 01 Jan 2009 15:16:00 +0000 |
parents | 1b1e2297e2fc |
children | d3b2cefd46c9 |
rev | line source |
---|---|
85
56c0ddd90193
Intermediate commit (not stable). Changes to init system.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
43
diff
changeset
|
1 Copyright © 2007-2008 Diggory Hardy |
56c0ddd90193
Intermediate commit (not stable). Changes to init system.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
43
diff
changeset
|
2 License: GNU General Public License version 2 or later (see COPYING) |
56c0ddd90193
Intermediate commit (not stable). Changes to init system.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
43
diff
changeset
|
3 |
56c0ddd90193
Intermediate commit (not stable). Changes to init system.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
43
diff
changeset
|
4 |
43
1530d9c04d4d
Column/row resizing implemented for GridLayoutWidget (finally)!
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
5 Make a special "trace" logger which keeps the last 20, say, trace messages and only output them when asked to do so, which might happen when an exception is caught. It might output them via the normal mechanisms, but only when asked (and not all messages may be in the correct order: trace messages might be logged later than they were added to the list). |
1530d9c04d4d
Column/row resizing implemented for GridLayoutWidget (finally)!
Diggory Hardy <diggory.hardy@gmail.com>
parents:
diff
changeset
|
6 |
115
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
7 Use debug scope(failure) to output log messages in many places. |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
8 |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
9 |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
10 GUI: |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
11 -> Widgets: |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
12 -> scripted widgets |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
13 -> decent rendering/theme system |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
14 -> events: |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
15 -> Click events: widgets only receive clickEvent for left-button press, other button events handled alternatively from WidgetManager? |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
16 -> Click callbacks: replace with "drag callback" notifying widget of release position (and widget)? |
1b1e2297e2fc
Enums handled more generically now via either a popup list or flat list of BoolContentWidgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
85
diff
changeset
|
17 -> possibly better for drag-and drop support |
120
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
18 -> Keyboard widget focus/selection: |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
19 -> a widget is highlighted |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
20 -> pressing an arrow key replaces widget with widget.nextInDirection (widget, direction) |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
21 -> on non-parents, nextInDirection returns parent.nextInDirection (this, direction) |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
22 -> on parent widgets, if widget is a child and not right against relevent edge, |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
23 then tries to return next descendant in direction (only non-parent widgets are returned) |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
24 else does same as non-parent widgets |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
25 -> some widgets may popup a menu when activated |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
26 -> caveats: |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
27 -> all widgets need a highlighted state to show focus |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
28 -> may require moving through a lot of widgets |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
29 -> with complicated substructures, may not be very intuitive |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
30 -> limit to popup menus? |
46c63cb1c74f
Ideas for keyboard selection of widgets.
Diggory Hardy <diggory.hardy@gmail.com>
parents:
115
diff
changeset
|
31 -> these keyboard events only passed if activated by code outside the WidgetManager and no text input callback is active? |