]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/tools/XRCed/tree.py
warning fix
[wxWidgets.git] / wxPython / wx / tools / XRCed / tree.py
index c6377f868029c8704556d943326c73cbf25984ba..2b313966683a9cdcc71bfcf4981a0bc35c1c8673 100644 (file)
@@ -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()
@@ -73,6 +74,7 @@ class ID_NEW:
     LIST_CTRL = wxNewId()
     CHECK_LIST = wxNewId()
     NOTEBOOK = wxNewId()
+    SPLITTER_WINDOW = wxNewId()
     SCROLLED_WINDOW = wxNewId()
     HTML_WINDOW = wxNewId()
     CALENDAR_CTRL = wxNewId()
@@ -129,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',
@@ -146,6 +149,7 @@ class PullDownMenu:
             ID_NEW.LIST_CTRL: 'wxListCtrl',
             ID_NEW.CHECK_LIST: 'wxCheckListBox',
             ID_NEW.NOTEBOOK: 'wxNotebook',
+            ID_NEW.SPLITTER_WINDOW: 'wxSplitterWindow',
             ID_NEW.SCROLLED_WINDOW: 'wxScrolledWindow',
             ID_NEW.HTML_WINDOW: 'wxHtmlWindow',
             ID_NEW.CALENDAR_CTRL: 'wxCalendarCtrl',
@@ -172,6 +176,7 @@ class PullDownMenu:
         self.containers = [
              (ID_NEW.PANEL, 'Panel', 'Create panel'),
              (ID_NEW.NOTEBOOK, 'Notebook', 'Create notebook control'),
+             (ID_NEW.SPLITTER_WINDOW, 'SplitterWindow', 'Create splitter window'),
              (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'),
             ]
         self.sizers = [
@@ -210,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'),
@@ -221,6 +227,7 @@ class PullDownMenu:
             ['container', 'Containers',
              (ID_NEW.PANEL, 'Panel', 'Create panel'),
              (ID_NEW.NOTEBOOK, 'Notebook', 'Create notebook control'),
+             (ID_NEW.SPLITTER_WINDOW, 'SplitterWindow', 'Create splitter window'),
              (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'),
              ],
             ['sizer', 'Sizers',
@@ -516,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)
@@ -552,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()
@@ -570,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
@@ -746,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: