Chandler v0.5 WxPython Dev't Task Planning
Draft 2.3
David Surovell
Chandler GUI Frameworks Engineer, OSA Foundation
19 January 2005
Task planning references
Specific dev't tasks
- Bold italicized items are currently in progress (29 Oct -> 13 Nov or thereabouts)
- (04-Nov-04) sidebar tasks are in flux due to ongoing design discussions
- Calendar UI support
- add OnClick conversion of text fields from static to editable (a la Apple's iCal)
- improvements on current wxBitmap-based button implementation (high priority)
- addition of column headers in Week, Day views
- Issue: should this be a wxWidget or a part of the Calendar block functionality?
- Mimi says "native GUI"; however, no suitable column header wxWidget exists
- other features TBD
- Summary view support
- toolbar feature support
- see Toolbar, Detail View specs
- reorganization of v0.4 Summary and Detail view toolbars
- changing toolbar implementation(s) to use wxListCntl with color icons (high priority)
- see wxPython demo (Listbook) for example
- view header UI feature implementations
- coordinate with Jed B.
- see Summary Table spec
- initial approach: use owner-drawn items and 2 drawing methods - icon and text (high priority)
- drafting plan for implementing wxWidget class to support native header controls
- see Tabular Data UI Dev't Issues? notes
- Detail view support
- add ComboBox-based implementation of "Participants" list (on hold, under review)
- Sidebar view support
- see Sidebar spec
- Sidebar item definition
- need to account for all possible fields within an individual sidebar item
- coordinate with John A., Donn D., Bryan S.
- need hit-test routine to determine item sub-feature target
- need draw proc to support all valid item types
- narrow scrollbar
- General UI enhancements
- improving tab appearance and other related visual behaviors (esp. on Mac) (high priority)
- add icon and optional close box (a la Apple's Safari)
- Question 1: is the v0.4 Summary view implementation based on wxNotebook?
- Question 2: can wxMac-wxNotebook use a native tab control instead of the current Aqua "jelly bar"?
- support for drop-down menus for "long" mouse-down in button
- a la Mozilla "Back" button behavior
- support for multiple selection colors
- design/implement alpha channel tricks for new transparency UI polish
- drop shadow selection adornment (a la Apple's iCal)
- semi-transparent "lozenge" overlays (filleted rectangle with border and alpha)
- toolbar icon "content-only" selection method (a la Thunderbird and other appls)
- others TBD
General (ongoing) dev't tasks
- bug fixing
- Chandler-wxWidget boundary
- wxWidget-internal
- Win32 double-buffering support
- test/debug against wxPythonDemo - bugs in print preview, list cntls, etc.
- resolve possible wxListCntl interaction issue and post result to wx-dev list
- others TBD
- Wx process
- assess wxWidget class implementation for impact during v0.5
- wxNotebook, wxToolbar, wxListCtrl, wxTextCtrl, wxStaticText, wxGrid, wxScrolledWindow
- get runtime symbolic debugging working on all 3 platforms
- from within Chandler and/or wxWidgets sample apps
- learn GTK/gdb/linux debugging and testing techniques
- general text entry support
- I expect ongoing work in this area because:
- history of Chandler bugs
- wxWidget's wxTextCntl implementation has weaknesses
- additionally, it has an STL (Scintilla) and non-STL versions
- smart text completion integration issues
- planning and continued investigation
- Unicode support
- HTML support
- Chandler - Wx integration
- WxPython v2.5.3.x (now)
- WxPython v2.6.0.x (early '05)
- build process improvements
- wx SWIG build integration 98% done
- get "internal" tree builds into Tinderbox
Documentation tasks
- overhaul current OSAF docs into "Wx Corner" wiki mini-site
- write piece on learning wxPython/wxWidgets
- compile OSAF-maintained patch list
Open issues
- when can we stop considering (OSX-style) drawers?
- currently under consideration for right-side Summary view
- likely to be abandoned, due to lack of "public" support for drawers in general
- Date/Time controls
- need to have better Chandler requirements
- need to investigate wxWidgets support for native vs. generic platform implementations
- Drag and Drop support
- bug fixes to shore up v0.4 implementation: Bug#2156, Bug#2158, Bug#2157 (maybe)
- determination of new DnD requirements, by UI "area"
- new UI requirements TBD
- ComboBox appearance
- should they always use lozenges or native appearance?
- how does the Chandler toolbar appearance and usage models conform to UI Guidelines (esp. Windows)?
- need smart text completion requirements docs
- John A. has done previous work in this area, and should be consulted for data modelling insights