wxWidgets - wxToolbar development
Subproject Kiosk
Draft 0.1
David Surovell
Chandler GUI Frameworks Engineer, OSA Foundation
16 May 2006
Overview
This page is a clearing house for tracking, resolving and understanding various Chandler toolbar issues. The original emphasis was on wxWidgets, wxMac issues. Other platforms have toolbar issues as well, and many times the issues are in higher-level Chandler code. So this page is growing is scope.
Collaborators
- wxMac: Stefan Csomor, Reid Ellis, David Surovell
- others: Robin Dunn, John Anderson
Status and Event History
- (01 May 06) Chandler Markup bar wxToolbar implementation replaced by Read's new wxPython instance
- (15 February 05) wxChandler version of "src/mac/carbon/toolbar.cpp" reconciled to wxMac
- (01 February 06) Reid becomes the Chandler point person for toolbar issues
- (xx January 06) wxMSW - resolution of size calculation problem
- (xx January 06) wxGTK - resolution of clipped tool icon problem
- (xx September 05) wxMSW - resolution of background colour / theme drawing problem
- (xx September 05) wxMSW - resolution of CPU hogging problem
- caused by overlapping sibling controls w/o CLIP_CHILDREN attribute
- (27 July 05) wxChandler versions of toolbar wxWidget sources (.cpp, .h) assimilated by (reconciled to) wxMac
- all functional improvements have been adopted; many reformatting changes were declined
- required injection of 5 lines of wxPython into Chandler wxToolbar Python class
- (14 July 05) Current version is integrated into Chandler v0.5.04 and has been accepted by Chandler Apps and UI teams.
Related bugs
Open issues (in priority order)
- lack of support for embedded standard (stock) items or HIControls
- important for wxWidgets
- needed for Chandler in 0.7 timeframe
- small-medium task - implement InsertStockControl( typeEnum, commandID, wxSize, ... )
- typeEnum would be StatText, EditText, Search, Popup, ...
- other types would be implemented as needed
- could be implemented in terms of a call to HIToolbarCreateItemWithIdentifier
- the return value would be a wxControl * (or NULL on failure)
- wrap the native HI object reference from the HI call above
- no selection indicator for running on pre-Tiger systems
- not considered an issue for wxChandler
- resolve various FIXME issues
- small-medium task - resolve all (8-10) issues
- add dynamic_cast to down-casts of wxToolBarToolBase* to wxToolBarTool*
Fixed issues
- reconcile wxMac code between Stefan (official wxWidgets) and David (official wxChandler)
- resolved 10-15 February
- remaining - 2 minor differences:
- 1 boolean setting for borders on non-native TBs: "on" in wxChander
- 1 block of comments
- resolved differences:
- 1 detailed error reporting in InsertItem
- 1 OnPaint simplification and commenting
- new explicit border flag: should be assigned within SetWindowStyleFlag
- wxMac: no selection indicator
- resolved 15 July
- non-native implementation supports selection
- Chandler Bug 3388 is currently considered a blocker
- read these Apple pages:
- Possible solutions:
- implemented HIToolbarItem attribute management
- add selection ControlRef to ToolItem and choose suitable "selected" icon
- fix existing wxToolbar::Toggle methods
- create a Carbon ColorWell