Mercurial > projects > mde
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). |