X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68ae5821b6b27a9aef780619aa31851cf4f3616f..42f8298f6f42d5d63bb3caf65682b7d9d9f8b702:/wxPython/wx/tools/XRCed/tree.py diff --git a/wxPython/wx/tools/XRCed/tree.py b/wxPython/wx/tools/XRCed/tree.py index 9042df7cfa..2b31396668 100644 --- a/wxPython/wx/tools/XRCed/tree.py +++ b/wxPython/wx/tools/XRCed/tree.py @@ -19,7 +19,7 @@ class MemoryFile: self.name = name self.buffer = '' def write(self, data): - self.buffer += data.encode() + self.buffer += data.encode(g.currentEncoding) def close(self): wxMemoryFSHandler_AddFile(self.name, self.buffer) @@ -56,6 +56,7 @@ class ID_NEW: BITMAP_BUTTON = wxNewId() RADIO_BUTTON = wxNewId() SPIN_BUTTON = wxNewId() + TOGGLE_BUTTON = wxNewId() STATIC_BOX = wxNewId() CHECK_BOX = wxNewId() @@ -130,6 +131,7 @@ class PullDownMenu: ID_NEW.BITMAP_BUTTON: 'wxBitmapButton', ID_NEW.RADIO_BUTTON: 'wxRadioButton', ID_NEW.SPIN_BUTTON: 'wxSpinButton', + ID_NEW.TOGGLE_BUTTON: 'wxToggleButton', ID_NEW.STATIC_BOX: 'wxStaticBox', ID_NEW.CHECK_BOX: 'wxCheckBox', @@ -213,6 +215,7 @@ class PullDownMenu: (ID_NEW.BITMAP_BUTTON, 'BitmapButton', 'Create bitmap button'), (ID_NEW.RADIO_BUTTON, 'RadioButton', 'Create radio button'), (ID_NEW.SPIN_BUTTON, 'SpinButton', 'Create spin button'), + (ID_NEW.TOGGLE_BUTTON, 'ToggleButton', 'Create toggle button'), ], ['box', 'Boxes', (ID_NEW.STATIC_BOX, 'StaticBox', 'Create static box'), @@ -520,13 +523,21 @@ class XML_Tree(wxTreeCtrl): # Find position for i in range(notebook.GetPageCount()): if notebook.GetPage(i) == obj: - if notebook.GetSelection() != i: notebook.SetSelection(i) + if notebook.GetSelection() != i: + notebook.SetSelection(i) + # Remove highlight - otherwise highlight window won't be visible + if g.testWin.highLight: + g.testWin.highLight.Remove() break # Find first ancestor which is a wxWindow (not a sizer) winParent = itemParent while self.GetPyData(winParent).isSizer: winParent = self.GetItemParent(winParent) - parentPos = self.FindNodePos(winParent) + # Notebook children are layed out in a little strange way + if self.GetPyData(itemParent).treeObject().__class__ == xxxNotebook: + parentPos = wxPoint(0,0) + else: + parentPos = self.FindNodePos(winParent) # Position (-1,-1) is really (0,0) pos = obj.GetPosition() if pos == (-1,-1): pos = (0,0) @@ -556,6 +567,9 @@ class XML_Tree(wxTreeCtrl): return child def OnSelChanged(self, evt): + self.ChangeSelection(evt.GetItem()) + + def ChangeSelection(self, item): # Apply changes # !!! problem with wxGTK - GetOldItem is Ok if nothing selected #oldItem = evt.GetOldItem() @@ -574,7 +588,7 @@ class XML_Tree(wxTreeCtrl): status = 'Changes were applied' g.frame.SetStatusText(status) # Generate view - self.selection = evt.GetItem() + self.selection = item if not self.selection.IsOk(): self.selection = None return @@ -750,7 +764,6 @@ class XML_Tree(wxTreeCtrl): testWin.panel = testWin testWin.CreateStatusBar() testWin.SetClientSize(testWin.GetBestSize()) - testWin.panel = testWin testWin.SetPosition(pos) testWin.Show(True) elif xxx.__class__ == xxxPanel: