]> git.saurik.com Git - wxWidgets.git/commitdiff
* wx.Panel doesn't have a SetTitle anymore. What was this used for
authorRobin Dunn <robin@alldunn.com>
Fri, 24 Mar 2006 01:49:58 +0000 (01:49 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 24 Mar 2006 01:49:58 +0000 (01:49 +0000)
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

wxPython/wx/tools/XRCed/params.py
wxPython/wx/tools/XRCed/tools.py
wxPython/wx/tools/XRCed/tree.py
wxPython/wx/tools/XRCed/xrced.py

index 07094c545a8b199b7f389913cdae0f34eb58685a..40372055e4c08d0d253d8813b1a010d24afadcab 100644 (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'}
index 00f7103b1eefadf3c363a065fa3e93fab41c4d91..f13a9cbb57dc1d31e0184759800838d5f0bd37a7 100644 (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
index 0e78ba4844121a7545687b52dfaf92f86eca3408..de22265b1a66003acdb7a52fdf9605f414614683 100644 (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
index ac593cb6e92ab1d4508d42f08992a425874be857..853c0abe96683705d2065e685b6c7c000e03a16b 100644 (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)