dabo Commit
Revision 6309
Date: 2011-01-07 19:48:49 -0800 (Fri, 07 Jan 2011)
Author: Ed
Trac: http://trac.dabodev.com/changeset/6309

Changed:
U   trunk/ide/ClassDesigner.py

Log:
Added defensive code for versions of wxPython that don't include wx.media

Diff:
Modified: trunk/ide/ClassDesigner.py
===================================================================
--- trunk/ide/ClassDesigner.py  2011-01-08 03:47:29 UTC (rev 6308)
+++ trunk/ide/ClassDesigner.py  2011-01-08 03:48:49 UTC (rev 6309)
@@ -211,7 +211,6 @@
                                {"name" : "ListBox", "class" : dui.dListBox, 
"order" : 140},
                                {"name" : "ListControl", "class" : 
dui.dListControl, "order" : 150},
                                {"name" : "MaskedTextBox", "class" : 
dui.dMaskedTextBox, "order" : 155},
-                               {"name" : "MediaControl", "class" : 
dui.dMediaControl, "order" : 155},
                                {"name" : "RadioList", "class" : 
dui.dRadioList, "order" : 160},
                                {"name" : "Page", "class" : dui.dPage, "order" 
: 170},
                                {"name" : "Panel", "class" : dui.dPanel, 
"order" : 180},
@@ -228,6 +227,11 @@
                                {"name" : "ToggleButton", "class" : 
dui.dToggleButton, "order" : 280},
                                {"name" : "TreeView", "class" : dui.dTreeView, 
"order" : 290}
                                )
+               try:
+                       self.designerControls += ({"name" : "MediaControl", 
"class" : dui.dMediaControl, "order" : 155}, )
+               except AttributeError:
+                       # dMediaControl was not imported; some earlier wx 
versions don't include this
+                       pass
                self._initClassEvents()
 
                self.setup()
@@ -308,11 +312,16 @@
                                dui.dEditBox, dui.dEditor, 
dui.dSlidePanelControl, dui.dForm, dui.dFormMain,
                                dui.dDockForm, dui.dGauge, dui.dGrid, 
dui.dHtmlBox, dui.dImage, dui.dLabel,
                                dui.dLed, dui.dLine, dui.dListBox, 
dui.dListControl, dui.dMaskedTextBox,
-                               dui.dMediaControl, dui.dOkCancelDialog, 
dui.dPanel, dui.dPage,
+                               dui.dOkCancelDialog, dui.dPanel, dui.dPage,
                                dui.dScrollPanel, dui.dPage, dui.dPageFrame, 
dui.dPageList, dui.dPageSelect,
                                dui.dPageStyled, dui.dPageFrameNoTabs, 
dui.dRadioList, dui.dSlider,
                                dui.dSpinner, dui.dSplitter, dui.dTextBox, 
dui.dToggleButton, dui.dTreeView,
                                dlgs.Wizard, dlgs.WizardPage)
+               try:
+                       classes += (dui.dMediaControl, )
+               except AttributeError:
+                       # dMediaControl was not imported; some earlier wx 
versions don't include this
+                       pass
 
                def evtsForClass(cls):
                        def safeApplies(itm, cls):
@@ -1975,8 +1984,13 @@
                                                dui.dDateTextBox, 
dui.dDropdownList, dui.dEditBox, dui.dEditor,
                                                dui.dGauge, dui.dGrid, 
dui.dHtmlBox, dui.dImage, dui.dLabel, dui.dLine,
                                                dui.dLed, dui.dListBox, 
dui.dListControl, dui.dMaskedTextBox,
-                                               dui.dMediaControl, dui.dPage, 
dui.dRadioList, dui.dSlider, dui.dSpinner,
+                                               dui.dPage, dui.dRadioList, 
dui.dSlider, dui.dSpinner,
                                                dui.dSplitter, dui.dTextBox, 
dui.dToggleButton, dui.dTreeView]
+                               try:
+                                       keys += (dui.dMediaControl, )
+                               except AttributeError:
+                                       # dMediaControl was not imported; some 
earlier wx versions don't include this
+                                       chc.remove("MediaControl")
                                if not _USE_DOCKFORM:
                                        # The dock form reference is position 1
                                        chc.pop(1)
@@ -3210,7 +3224,12 @@
                        pop.append(_("Add Label"), OnHit=self.onNewLabel)
                        pop.append(_("Add LED"), OnHit=self.onNewLed)
                        pop.append(_("Add Line"), OnHit=self.onNewLine)
-                       pop.append(_("Add MediaControl"), 
OnHit=self.onNewMediaControl)
+                       try:
+                               dui.dMediaControl
+                               pop.append(_("Add MediaControl"), 
OnHit=self.onNewMediaControl)
+                       except AttributeError:
+                               # dMediaControl was not imported; some earlier 
wx versions don't include this
+                               pass
                        pop.append(_("Add Panel"), OnHit=self.onNewPanel)
                        pop.append(_("Add ScrollPanel"), 
OnHit=self.onNewScrollPanel)
                        pop.append(_("Add SlidePanelControl"), 
OnHit=self.onNewSlidePanelControl)
@@ -3432,7 +3451,11 @@
        def onNewMaskedTextBox(self, evt):
                dui.callAfter(self.addNewControl, None, dui.dMaskedTextBox)
        def onNewMediaControl(self, evt):
-               dui.callAfter(self.addNewControl, None, dui.dMediaControl)
+               try:
+                       dui.callAfter(self.addNewControl, None, 
dui.dMediaControl)
+               except AttributeError:
+                       # dMediaControl was not imported; some earlier wx 
versions don't include this
+                       pass
        def onNewRadioList(self, evt):
                dui.callAfter(self.addNewControl, None, dui.dRadioList)
        def onNewPanel(self, evt):
@@ -4231,7 +4254,6 @@
                                        (_("ListBox"), dui.dListBox),
                                        (_("ListControl"), dui.dListControl),
                                        (_("MaskedTextBox"), 
dui.dMaskedTextBox),
-                                       (_("MediaControl"), dui.dMediaControl),
                                        (_("Panel"), dui.dPanel),
                                        (_("ScrollPanel"), dui.dScrollPanel),
                                        (_("PageFrame"), dui.dPageFrame),
@@ -4246,6 +4268,11 @@
                                        (_("TextBox"), dui.dTextBox),
                                        (_("ToggleButton"), dui.dToggleButton),
                                        (_("TreeView"), dui.dTreeView) )
+                       try:
+                               ctls += ((_("MediaControl"), 
dui.dMediaControl), )
+                       except AttributeError:
+                               # dMediaControl was not imported; some earlier 
wx versions don't include this
+                               pass
                        for cap, cls in ctls:
                                btn = PaletteButton(mp, Caption=cap, 
ControlClass=cls)
                                btn.bindEvent(dEvents.Hit, self.onPaletteClick)



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to