In CustomTreeCtrl and HyperTreeList the `SetPosition` method is used
to adjust window positions. This can't set a Y value of -1 and instead
leaves the window at its last position. Use the `Move` method instead.
Also made sure this positioning is done before a possible call to the
`Show` method which prevents some flicker.
CustromTreeCtrl key handling fixes:
UP key not working if previous item's children were disabled.
DOWN key not working if the next parent was disabled.
END not working when the last item in the tree is disabled.
HOME not working if the top item in the tree was disabled.
Adds handling for PageUp and PageDown keys.
Previously CustomTreeCtrl would let these keys be handled by the
ScrolledWindow subclass which scrolls by a page but doesn't update the
selection. This change moves the selection to the first/last visible
item, or by an entire page if the first/last visible item is already
selected. This mimics native control handling and avoids disabled items.
Adds two methods: GetPrevShown() and GetNextShown().
The GetNextSibling() and GetPrevSibling() methods in CustomTreeCtrl
will throw an exception if the item has been deleted from the tree.
This happens whenever an item is deleted but the selection isn't
updated. The exception will be thrown on the next key press. Can be
observed easily in the HyperTreeList demo.
If a HyperTreeList is created with only the root item present, and not
selected, an exception will be thrown if any key is pressed.
GetFirstVisibleItem() returns None, even though the root item is
present and visible. Only an issue if the TR_MULTIPLE flag is set.
Allow use of numpad +. -. and * keys as well as the Windows menu key in
addition to regular keys.
Fix wrong method call to self.ExpandAll(), now self.ExpandAllChildren().
Note: The code still compares against ord('+') and ord('*') which isn't
valid for wx keycodes and will never evaluate properly.
If the user presses the plus '+' button, on most keyboard this will
result in an ord('=') keycode with the SHIFT modifier set.
Regression caused by PR #886
`on_the_right` is used as positional argument where `separator` is
expected causing a line to be drawn through root item.
This change specifies keyword arguments explicitly.
Since I had to fix a image issue and optimize it. I decided to rerun FileOptimizer 13.30.2393 over all pngs. Small bytes for some that had been optimized before, but this comit covers all pngs that may have been missed in the past. Maybe revisit running them all again in 2 years. Total time to process all pngs: approx 8 hours.
As technology improves this will only get better/faster when downloading, loading in browser, embedded, etc...
- fixed optical appearance of row labels w.r.t. simple 3D effect
- fixed helpers for determining size (becomes important if you subclass a label renderer spanning multiple rows or columns)