* wx.Panel doesn't have a SetTitle anymore. What was this used for

anyway?

* Allow  wxMenuBar to be created inside a wxFrame

* More robust clipboard handling


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-03-24 01:49:58 +00:00
parent a62df55f4d
commit f65bb0f8ab
4 changed files with 35 additions and 20 deletions

View File

@@ -187,7 +187,6 @@ class ParamExStyle(ParamBinaryOr):
else:
self.values = []
ParamBinaryOr.__init__(self, parent, name)
self.SetTitle('Extended window styles')
class ParamColour(PPanel):
def __init__(self, parent, name):
@@ -234,7 +233,7 @@ class ParamColour(PPanel):
################################################################################
# Mapping from wx constants ro XML strings
# Mapping from wx constants to XML strings
fontFamiliesWx2Xml = {wxDEFAULT: 'default', wxDECORATIVE: 'decorative',
wxROMAN: 'roman', wxSCRIPT: 'script', wxSWISS: 'swiss',
wxMODERN: 'modern'}

View File

@@ -285,5 +285,7 @@ class Tools(wxPanel):
self.EnableGroup(GROUP_SIZERS)
if not (xxx.isSizer or xxx.parent and xxx.parent.isSizer):
self.EnableGroupItem(GROUP_SIZERS, ID_NEW.SPACER, False)
if xxx.__class__ == xxxFrame:
self.EnableGroupItem(GROUP_MENUS, ID_NEW.MENU_BAR)
# Save state
self.state = state

View File

@@ -298,6 +298,7 @@ class PullDownMenu:
(ID_NEW.SPLITTER_WINDOW, 'SplitterWindow', 'Create splitter window'),
(ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'),
(ID_NEW.STATUS_BAR, 'StatusBar', 'Create status bar'),
(ID_NEW.MENU_BAR, 'MenuBar', 'Create menubar'),
# (ID_NEW.WIZARD_PAGE, 'Wizard Page', 'Create wizard page'),
(ID_NEW.WIZARD_PAGE_SIMPLE, 'WizardPageSimple', 'Create simple wizard page'),
],
@@ -1070,6 +1071,8 @@ class XML_Tree(wxTreeCtrl):
m.Enable(m.FindItem('sizer'), False)
elif not (xxx.isSizer or xxx.parent and xxx.parent.isSizer):
m.Enable(ID_NEW.SPACER, False)
if xxx.__class__ is not xxxFrame:
m.Enable(ID_NEW.MENU_BAR, False)
m.AppendSeparator()
m.Append(ID_NEW.REF, 'reference...', 'Create object_ref node')
# Select correct label for create menu

View File

@@ -103,6 +103,7 @@ class Frame(wxFrame):
self.res = wxXmlResource('')
# !!! Blocking of assert failure occurring in older unicode builds
try:
quietlog = wx.LogNull()
self.res.Load(os.path.join(basePath, 'xrced.xrc'))
except wx._core.PyAssertionError:
print 'PyAssertionError was ignored'
@@ -413,12 +414,14 @@ class Frame(wxFrame):
selected = tree.selection
if not selected: return # key pressed event
xxx = tree.GetPyData(selected)
wx.TheClipboard.Open()
data = wx.CustomDataObject('XRCED')
data.SetData(cPickle.dumps(xxx.element.toxml()))
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
self.SetStatusText('Copied')
if wx.TheClipboard.Open():
data = wx.CustomDataObject('XRCED')
data.SetData(cPickle.dumps(xxx.element.toxml()))
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
self.SetStatusText('Copied')
else:
wx.MessageBox("Unable to open the clipboard", "Error")
def OnPaste(self, evt):
selected = tree.selection
@@ -447,14 +450,19 @@ class Frame(wxFrame):
parent = tree.GetPyData(parentLeaf).treeObject()
# Create a copy of clipboard pickled element
wx.TheClipboard.Open()
data = wx.CustomDataObject('XRCED')
if not wx.TheClipboard.IsSupported(data.GetFormat()):
success = False
if wx.TheClipboard.Open():
data = wx.CustomDataObject('XRCED')
if wx.TheClipboard.IsSupported(data.GetFormat()):
success = wx.TheClipboard.GetData(data)
wx.TheClipboard.Close()
wx.LogError('unsupported clipboard format')
if not success:
wx.MessageBox(
"There is no data in the clipboard in the required format",
"Error")
return
wx.TheClipboard.GetData(data)
wx.TheClipboard.Close()
xml = cPickle.loads(data.GetData()) # xml representation of element
elem = minidom.parseString(xml).childNodes[0]
# Tempopary xxx object to test things
@@ -549,6 +557,7 @@ class Frame(wxFrame):
self.SetModified()
self.SetStatusText('Pasted')
def OnCutDelete(self, evt):
selected = tree.selection
if not selected: return # key pressed event
@@ -577,11 +586,13 @@ class Frame(wxFrame):
elem = tree.RemoveLeaf(selected)
undoMan.RegisterUndo(UndoCutDelete(index, parent, elem))
if evt.GetId() == wxID_CUT:
wx.TheClipboard.Open()
data = wx.CustomDataObject('XRCED')
data.SetData(cPickle.dumps(elem.toxml()))
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
if wx.TheClipboard.Open():
data = wx.CustomDataObject('XRCED')
data.SetData(cPickle.dumps(elem.toxml()))
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
else:
wx.MessageBox("Unable to open the clipboard", "Error")
tree.pendingHighLight = None
tree.UnselectAll()
tree.selection = None
@@ -1141,6 +1152,7 @@ Homepage: http://xrced.sourceforge.net\
'Save before too late?', flags )
say = dlg.ShowModal()
dlg.Destroy()
wxYield()
if say == wxID_YES:
self.OnSaveOrSaveAs(wxCommandEvent(wxID_SAVE))
# If save was successful, modified flag is unset
@@ -1213,7 +1225,6 @@ Please upgrade wxWindows to %d.%d.%d or higher.''' % MinWxVersion)
conf.panic = not conf.HasEntry('nopanic')
# Add handlers
wxFileSystem_AddHandler(wxMemoryFSHandler())
wxInitAllImageHandlers()
# Create main frame
frame = Frame(pos, size)
frame.Show(True)