some more fixes: tree selection, replacing, wxYield calls removed

(produce infinite recursion)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Roman Rolinsky
2005-08-12 14:40:20 +00:00
parent a6328131cd
commit 0725108f48
4 changed files with 12 additions and 10 deletions

View File

@@ -1,3 +1,9 @@
0.1.6-3
-------
Fix for crash when opening new file with active tree selection.
Replacing controls bug fixed.
0.1.6-2 0.1.6-2
------- -------

View File

@@ -15,7 +15,7 @@ import sys
# Global constants # Global constants
progname = 'XRCed' progname = 'XRCed'
version = '0.1.6-2' version = '0.1.6-3'
# Can be changed to set other default encoding different # Can be changed to set other default encoding different
#defaultEncoding = '' #defaultEncoding = ''
# you comment above and can uncomment this: # you comment above and can uncomment this:

View File

@@ -365,7 +365,7 @@ def SetMenu(m, list, shift=False):
apply(m.Append, l) apply(m.Append, l)
elif type(l) == types.ListType: elif type(l) == types.ListType:
subMenu = wxMenu() subMenu = wxMenu()
SetMenu(subMenu, l[2:]) SetMenu(subMenu, l[2:], shift)
m.AppendMenu(wxNewId(), l[0], subMenu, l[1]) m.AppendMenu(wxNewId(), l[0], subMenu, l[1])
else: # separator else: # separator
m.AppendSeparator() m.AppendSeparator()
@@ -475,6 +475,8 @@ class XML_Tree(wxTreeCtrl):
# Clear tree # Clear tree
def Clear(self): def Clear(self):
self.selection = None
self.UnselectAll()
self.DeleteAllItems() self.DeleteAllItems()
# Add minimal structure # Add minimal structure
if self.dom: self.dom.unlink() if self.dom: self.dom.unlink()
@@ -487,11 +489,12 @@ class XML_Tree(wxTreeCtrl):
self.root = self.AddRoot('XML tree', self.rootImage, self.root = self.AddRoot('XML tree', self.rootImage,
data=wxTreeItemData(self.rootObj)) data=wxTreeItemData(self.rootObj))
self.SetItemHasChildren(self.root) self.SetItemHasChildren(self.root)
self.UnselectAll()
self.Expand(self.root) self.Expand(self.root)
# Clear old data and set new # Clear old data and set new
def SetData(self, dom): def SetData(self, dom):
self.selection = None
self.UnselectAll()
self.DeleteAllItems() self.DeleteAllItems()
# Add minimal structure # Add minimal structure
if self.dom: self.dom.unlink() if self.dom: self.dom.unlink()
@@ -511,7 +514,6 @@ class XML_Tree(wxTreeCtrl):
self.mainNode.removeChild(node) self.mainNode.removeChild(node)
node.unlink() node.unlink()
self.Expand(self.root) self.Expand(self.root)
self.UnselectAll()
# Add tree item for given parent item if node is DOM element node with # Add tree item for given parent item if node is DOM element node with
# object/object_ref tag. xxxParent is parent xxx object # object/object_ref tag. xxxParent is parent xxx object
@@ -766,7 +768,6 @@ class XML_Tree(wxTreeCtrl):
# return # return
wxBeginBusyCursor() wxBeginBusyCursor()
wxYield()
# Close old window, remember where it was # Close old window, remember where it was
highLight = None highLight = None
if testWin: if testWin:

View File

@@ -347,7 +347,6 @@ class Frame(wxFrame):
if dlg.ShowModal() == wxID_OK: if dlg.ShowModal() == wxID_OK:
path = dlg.GetPath() path = dlg.GetPath()
self.SetStatusText('Loading...') self.SetStatusText('Loading...')
wxYield()
wxBeginBusyCursor() wxBeginBusyCursor()
try: try:
if self.Open(path): if self.Open(path):
@@ -375,7 +374,6 @@ class Frame(wxFrame):
else: else:
path = self.dataFile path = self.dataFile
self.SetStatusText('Saving...') self.SetStatusText('Saving...')
wxYield()
wxBeginBusyCursor() wxBeginBusyCursor()
try: try:
try: try:
@@ -594,7 +592,6 @@ class Frame(wxFrame):
sizePanel = panel.GetSize() sizePanel = panel.GetSize()
panel.Reparent(self.splitter) panel.Reparent(self.splitter)
self.miniFrame.GetSizer().Remove(panel) self.miniFrame.GetSizer().Remove(panel)
wxYield()
# Widen # Widen
self.SetDimensions(pos.x, pos.y, size.width + sizePanel.width, size.height) self.SetDimensions(pos.x, pos.y, size.width + sizePanel.width, size.height)
self.splitter.SplitVertically(tree, panel, conf.sashPos) self.splitter.SplitVertically(tree, panel, conf.sashPos)
@@ -612,7 +609,6 @@ class Frame(wxFrame):
self.miniFrame.Show(True) self.miniFrame.Show(True)
self.miniFrame.SetDimensions(conf.panelX, conf.panelY, self.miniFrame.SetDimensions(conf.panelX, conf.panelY,
conf.panelWidth, conf.panelHeight) conf.panelWidth, conf.panelHeight)
wxYield()
# Reduce width # Reduce width
self.SetDimensions(pos.x, pos.y, self.SetDimensions(pos.x, pos.y,
max(size.width - sizePanel.width, self.minWidth), size.height) max(size.width - sizePanel.width, self.minWidth), size.height)
@@ -932,7 +928,6 @@ Homepage: http://xrced.sourceforge.net\
self.SetStatusText('Refreshing test window...') self.SetStatusText('Refreshing test window...')
# (re)create # (re)create
tree.CreateTestWin(g.testWin.item) tree.CreateTestWin(g.testWin.item)
wxYield()
self.SetStatusText('') self.SetStatusText('')
tree.needUpdate = False tree.needUpdate = False
elif tree.pendingHighLight: elif tree.pendingHighLight: