comparison codeDoc/ideas.txt @ 149:1125ba603af6

Some ideas for content service menus.
author Diggory Hardy <diggory.hardy@gmail.com>
date Sat, 14 Mar 2009 11:05:51 +0100
parents 9f035cd139c6
children e785e98d3b78
comparison
equal deleted inserted replaced
148:17438f17bfb5 149:1125ba603af6
26 -> caveats: 26 -> caveats:
27 -> all widgets need a highlighted state to show focus 27 -> all widgets need a highlighted state to show focus
28 -> may require moving through a lot of widgets 28 -> may require moving through a lot of widgets
29 -> with complicated substructures, may not be very intuitive 29 -> with complicated substructures, may not be very intuitive
30 -> limit to popup menus? 30 -> limit to popup menus?
31 -> these keyboard events only passed if activated by code outside the WidgetManager and no text input callback is active? 31 -> these keyboard events only passed if activated by code outside the WidgetManager and no text input callback is active
32 32
33 Content: 33 Content:
34 -> Per-content undo support? 34 -> Per-content undo support?
35 35 > Services:
36 > All content:
37 +> Clipboard
38 > Some content:
39 +> Spellchecking
40 +> Calculator
41 -2> Fixed list of services working on IContent/Content:
42 > Clipboard - can't store Content (callbacks)
43 -> needs to check content type
44 > unless stored as char[] which all content can take
45 -> extra conversions (minor)
46 -> Need to check type of content for specific services
47 +1> List for each type of content:
48 +> can use a static list widget for each type
49 -> clipboard is type specific; need to decide when to convert, etc.
50 +> enables better copying; e.g. from double 3.5e9 to int 4×10⁹
51 > Non-static content manager
52 > Separate managers for options, GUI symbols, data fields, passwords(?)
53 > Optional saving/loading
54 > Possibly different translation sources
55 > manager can take an optional Translator interface/super class, using it to translate strings if provided
56 > Lists
57 > filtering uses
58 > filter context menu services to those relevant
59 > user-filters on, e.g., options
60 > filtering implementations (list widget)
61 > keep all sub-widgets, but hide some cells
62 > takes advantage of fact that actual elts don't change
63 > rebuild list
64 -> more work, recreating sub-widgets
65 > dynamic lists (add/remove elts)
66 > have to rebuild lists
36 67
37 Extend content with a validator function/delegate, specific to each class, which takes the new value and returns it or a corrected version of it. Not so good to do it generally from Content, since setting a new value via usual method will re-trigger validator and callbacks (e.g. bad validator could cause infinite loop). 68 Extend content with a validator function/delegate, specific to each class, which takes the new value and returns it or a corrected version of it. Not so good to do it generally from Content, since setting a new value via usual method will re-trigger validator and callbacks (e.g. bad validator could cause infinite loop).