diff --git a/wxPython/wx/tools/XRCed/CHANGES.txt b/wxPython/wx/tools/XRCed/CHANGES.txt
index 4da16b2982..c4bdbc07a5 100644
--- a/wxPython/wx/tools/XRCed/CHANGES.txt
+++ b/wxPython/wx/tools/XRCed/CHANGES.txt
@@ -1,3 +1,8 @@
+0.1.8-4
+-------
+
+Fixes for wxMSW (notebook highlighting, control sizes, tree Unselect).
+
0.1.8-3
-------
diff --git a/wxPython/wx/tools/XRCed/globals.py b/wxPython/wx/tools/XRCed/globals.py
index a46f1cf02f..dbf9769279 100644
--- a/wxPython/wx/tools/XRCed/globals.py
+++ b/wxPython/wx/tools/XRCed/globals.py
@@ -15,7 +15,7 @@ import sys
# Global constants
progname = 'XRCed'
-version = '0.1.8-3'
+version = '0.1.8-4'
# Minimal wxWidgets version
MinWxVersion = (2,6,0)
if wx.VERSION[:3] < MinWxVersion:
diff --git a/wxPython/wx/tools/XRCed/params.py b/wxPython/wx/tools/XRCed/params.py
index d08cba4aec..a246adab9a 100644
--- a/wxPython/wx/tools/XRCed/params.py
+++ b/wxPython/wx/tools/XRCed/params.py
@@ -382,7 +382,7 @@ class ParamUnit(PPanel):
self.ID_TEXT_CTRL = wx.NewId()
self.ID_SPIN_BUTTON = wx.NewId()
sizer = wx.BoxSizer(wx.HORIZONTAL)
- self.spin = wx.SpinButton(self, self.ID_SPIN_BUTTON, style = wx.SP_VERTICAL)
+ self.spin = wx.SpinButton(self, self.ID_SPIN_BUTTON, style = wx.SP_VERTICAL, size=(-1,0))
textW = 60 - self.spin.GetSize()[0]
self.text = wx.TextCtrl(self, self.ID_TEXT_CTRL, size=(textW,-1))
self.spin.SetRange(-10000, 10000)
diff --git a/wxPython/wx/tools/XRCed/tree.py b/wxPython/wx/tools/XRCed/tree.py
index da78f48859..3c5ddf95fb 100644
--- a/wxPython/wx/tools/XRCed/tree.py
+++ b/wxPython/wx/tools/XRCed/tree.py
@@ -634,12 +634,16 @@ class XML_Tree(wx.TreeCtrl):
break
# For sizers and notebooks we must select the first window-like parent
winParent = itemParent
- while self.GetPyData(winParent).isSizer or \
- self.GetPyData(winParent).treeObject().__class__ == xxxNotebook:
+ while self.GetPyData(winParent).isSizer:
winParent = self.GetItemParent(winParent)
+ # Notebook children are layed out in a little strange way
+ # wxGTK places NB panels relative to the NB parent
+ if wx.Platform == '__WXGTK__':
+ if self.GetPyData(itemParent).treeObject().__class__ == xxxNotebook:
+ winParent = self.GetItemParent(winParent)
parentPos = self.FindNodePos(winParent)
- # Position (-1,-1) is really (0,0)
pos = obj.GetPosition()
+ # Position (-1,-1) is really (0,0)
if pos == (-1,-1): pos = (0,0)
return parentPos + pos
@@ -771,7 +775,7 @@ class XML_Tree(wx.TreeCtrl):
return
# Show item in bold
if g.testWin: # Reset old
- self.Unselect()
+ self.UnselectAll()
self.SetItemBold(g.testWin.item, False)
try:
wx.BeginBusyCursor()
diff --git a/wxPython/wx/tools/XRCed/xrced.xrc b/wxPython/wx/tools/XRCed/xrced.xrc
index 9ebe7d1fdd..16ba037d94 100644
--- a/wxPython/wx/tools/XRCed/xrced.xrc
+++ b/wxPython/wx/tools/XRCed/xrced.xrc
@@ -350,7 +350,7 @@
wxVERTICAL