annotate codeDoc/ideas.txt @ 123:d3b2cefd46c9

minSizeChange() allows run-time changes to widgets' minimal size (except for shrinking in a GridLayoutWidget). FloatingAreaWidget: correct resize limiters AStringContent: allows space and ignores modifier keys
author Diggory Hardy <diggory.hardy@gmail.com>
date Sun, 04 Jan 2009 17:35:15 +0000
parents 46c63cb1c74f
children 9f035cd139c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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?
123
d3b2cefd46c9 minSizeChange() allows run-time changes to widgets' minimal size (except for shrinking in a GridLayoutWidget).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 120
diff changeset
32
d3b2cefd46c9 minSizeChange() allows run-time changes to widgets' minimal size (except for shrinking in a GridLayoutWidget).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 120
diff changeset
33 Content:
d3b2cefd46c9 minSizeChange() allows run-time changes to widgets' minimal size (except for shrinking in a GridLayoutWidget).
Diggory Hardy <diggory.hardy@gmail.com>
parents: 120
diff changeset
34 -> Per-content undo support?