Merged patch by darktjm with fixes and enhansements:
* equivalent styles for supporting deprecated style flags
* wxCheckListBox content editing
* edit capability in item lists
* support for tooltip/helptext attrs of radiobox items
* break pseudoclass for menus
* wxAnimationCtrl, wxRichTextCtrl (disabled), wxDirPickerCtrl,
wxFontPickerCtrl, wxColourPickerCtrl, wxOwnerDrawnComboBox,
wxBitmapComboBox (partial), wxCollapsiblePane
Fixed ticket 10775 (TreeListCtrl styles).
Fixed several issues related to comment nodes. Test view for a "pragma"
comment node executes it.
Restored a feature present in the old XRCed: interpreted comment nodes
(inserted using 'comment' command from the top-level pull-down menu).
Comments starting with '%' are executed in the context of main module
(xrced.py) when the file is being loaded. This allows, for example, to
preload external resource files as follows:
where external.xrc may contain resources references by the current
resource file (using object_ref tag).
Various fixes and improvements to get look-and-feel similar across
Preferences for default "sizeritem" parameters for new panels and
controls can be configured ("File">"Preferences...").
Implemented comment object for including simple one-line comments and
comment directives as tree nodes. No validation is performed for a
valid XML string so comments must not contain "-->". Comment directive
is a special comment starting with '%' character, followed by a line
of python code. It is executed using 'exec' when the resource file is
opened. This is useful to import plugin modules containing custom
handlers which are specific to the resource file, hovewer this is of
course a security hole if you use foreign XRC files. A warning is
displayed if the preference option 'ask' is selected (by default).
Added support for custom controls and plugin modules. Refer to this
wxPythonWiki for the details:
Tool panel sections can be collapsed/expanded by clicking on the
label of a tool group.
Some undo/redo and other fixes.
Fixes for wxMSW (notebook highlighting, control sizes, tree Unselect).
Notebook page highlighting fix. Highlight resizes when the window
is resized. ParamUnit spin button detects event handler re-entry
(wxGTK probably has a bug in wxSpinButton with repeated events).
Fix for dealing with empty 'growable' property, using MiniFrame
for properties panel, the panel is restored together with the
Fixed SetItemBold and editing 'growable' properties of
New feature added from a patch submitted on sourceforge by botg:
moving of tree items.
- ChecklistBox content editing;
- Window styles more in sync with the docs;
- Replacing items;
- Reference property page created correctly (every property is
Fix for non-ascii characters support when using other encodings
than utf-8 in 'content' property. Tested under unicode build.
Second fix for Copy/Paste (using expat.native_encoding property).
Added cellpos,cellspan properties for Spacer in GridBag sizer.
Fix for Copy/Paste objects with international characters.
Fixed Cut command, added support for MenuBar inside Frame/Dialog.
Important update of Paste command code which was passing too much data
thru clipboard using cPickle. Objects created while unpickling (from
minidom) were clogging memory. Now using toxml() (why didn't I do it
before - was I drunk or what? :) ).
Added new controls (Choicebook, Listbook, StatusBar, DatePicker), and
completed style flags. Test window is opened for an available parent
control if no specific view defined. Better handling of exceptions
(highlighting does not 'stick' anymore). Tested on wxGTK 126.96.36.199.
Using system clipboard for Copy/Paste.
Improved some dialogs (window styles, growable cols). Changed the
range for wxSpinCtrl min/max to all integers (default 0/100 is not
Fixed testing for any element inside object tree.
Fixed replacing op for sizer children and spacer objects.
UndoReplace is not yet implemented.
Fix for crash when opening new file with active tree selection.
Replacing controls bug fixed.
wxMSW wxTreeCtrl behaviour is still different from wxGTK for
wxTR_MULTIPLE, some fixes for this.
New (experimental ;) ) feature: support for "object_ref" tag, for
creating references to named objects (see tn0014.txt). "reference..."
menu command creates new object_ref node. Properties of the top-level
object can be overriden, but overriding child controls is not working
as expected (maybe a bug in wx).
xxxStdDialogButtonSizer pulldown menu with standard buttons.
Some fixes for selecting tools inside toolbar with test window open
(whole toolbar is selected).
Toolbars can be added inside windows.
Using wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for changing active encoding.
Fixed pasting siblings (Ctrl key pressed while pasting).
Dealed with ascii build (Python does not recognize 'ascii' as valid encoding).
If encoding is not specified it is not written in XRC. Will add more
customization in the future.
Changed to use SimpleTool instead or Toggle tool (does not work on Win32).
Added wxWizard, wxWizardPageSimple (only from pull-down menu).
Hide command for test window.
Replacing classes works better.
Added Locate tool.
Edit->Locate command (Ctrl-L) for quick selection of items.
Works with event-handling controls (buttons, text fields) but
not with labels/sizers.
Some improvements: relative paths for files supplied as command-
line argument work correctly, notebook panels are highlighted
Added support for wxGridBagSizer (supported in wxPython 2.5).
Added subclass attribute.
Fixed problems with wxStaticBitmap (stock_id attribute, icon type
Changed some dimensions in properties panel elements.
Sizes of some controls were not normal on wxMSW. Fixed.
Some changes to test window code to make it resize better and to
have focus control with sawfish for all types of windows.
Bugs with currentEncoding and frame testing fixed.
Some required parameters are set to default if missing.
Unsupported classes are tolerated, with warning message.
wxScrolledWindow added (to 'control' pulldown menu, not yet to the
Multi-line editing for labels and some values (wxTextCtrl,
Changed internationalization support. '-i' option removed, default
encoding is used (should be defined in sitecustomize.py, or 'ascii' by
default). When XRC file is opened with encoding specified,
translations are not used.
Replace command added (not quite finished yet).
Finally implemented tools panel for almost all controls (except
wxHtmlWindow, wxCalendarCtrl and wxGenericDirCtrl - they are too
Changed some sizes in panel to better work with different fonts.
Fixed double-refreshing after Ctrl+R.
Maybe something else that I've forgot. It's been a looong day... :)
Added dialog unit support.
Dealing with non-specified required values (set to defaults, if exist).
Added 'minsize' parameter of sizeritem.
Added '-i' option to turn off translations and use international characters.
Mac platform-specific checks.
Implemented standard bitmap selection.
Fixed a bug in FlexGridSizer code.
File browsing (for bitmaps/icons, etc.) had a small problem when current
file was not saved yet.
Small bug fix for initial don't panic message.
Changed program structure, reduced use of global variables (grouped in
module 'globals', which creates an instanse 'g' of class Globals.
First version of undo/redo working!
Support for toolbars inside panels and frames.
Added 'container' submenu for creating Panel, Notebook and ToolBar objects.
wxMSW-only: added code to switch focus back to main window when test
window is updated.
Fixed unicode problem for unicode build.
Added new controls: wxSpinCtrl, wxGenericDirCtrl, unknown (custom
control), improved wxXRC format suppor (menu styles, etc.).
Some I18N support: parsing "encoding" attribute in XML header, later
it can be modified in "properties" panel for "XML tree".
UNIX note: currently XML writing for non-ascii chars works only if
sys.getdefaultencoding() returns good value. To do this, one has to
put following lines to "sitecustomize.py" file:
# Start code segment
sys.setdefaultencoding('iso-8859-1') # or whatever
# End code segment
Some command-line arguments.
"Test window" command and toolbar button.
New panel interphace (wxHTMLWindow is not used anymore).
Toggling between embedded and detached panel.
Cache for already used windows.
Current top-level control is bold, if test window shown.
CheckListBox does not work unless wxXRC source fixed (in both wxPytnon and
< AddHandler(new wxListCtrlXmlHandler);
< #if CHECKLISTBOX
> AddHandler(new wxListCtrlXmlHandler);
> #if wxUSE_CHECKLISTBOX
This is fixed in CVS.
Toolbar, bitmap, icon support (no display yet).
Changed parameter objects, added support for multiple parameters (like
Fixed double-clicking problem with tree control on Windows.
Some performance improovements.
Added notebook with properties page and style page. Fixed some problems
Some fixes suggested by RD
Faster preview window refresh.
Cut/Paste works better.
Some tree icons.
Tree item names.
The first release.