Thread: [Boa Constr] Designer errors with StaticBoxSizers
Status: Beta
Brought to you by:
riaan
From: Olivier T. <oli...@gm...> - 2006-10-26 07:18:42
Attachments:
HistoPanel.py
|
MTc6Mjg6NDc6ICAgICB3eC5fY29yZS5QeURlYWRPYmplY3RFcnJvcjogVGhlIEMrKyBwYXJ0IG9m IHRoZSBTdGF0aWNCb3ggb2JqZWN0IGhhcyBiZWVuIGRlbGV0ZWQsIGF0dHJpYnV0ZSBhY2Nlc3Mg bm8gbG9uZ2VyIGFsbG93ZWQuVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOg0KMTc6 Mjg6NDc6ICAgICB3eC5fY29yZS5QeURlYWRPYmplY3RFcnJvcjogVGhlIEMrKyBwYXJ0IG9mIHRo ZSBTdGF0aWNCb3ggb2JqZWN0IGhhcyBiZWVuIGRlbGV0ZWQsIGF0dHJpYnV0ZSBhY2Nlc3Mgbm8g bG9uZ2VyIGFsbG93ZWQuICBGaWxlICJDOlxQeXRob24yNFxMaWJcc2l0ZS1wYWNrYWdlc1xib2Et Y29uc3RydWN0b3JcTW9kZWxzXHd4UHl0aG9uQ29udHJvbGxlcnMucHkiLCBsaW5lIDc4LCBpbiBP bkRlc2lnbmVyDQoxNzoyODo0NzogICAgIHNlbGYuc2hvd0Rlc2lnbmVyKCkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjE3OjI4OjQ3OiAg ICAgICBGaWxlICJDOlxQeXRob24yNFxMaWJcc2l0ZS1wYWNrYWdlc1xib2EtY29uc3RydWN0b3Jc TW9kZWxzXHd4UHl0aG9uQ29udHJvbGxlcnMucHkiLCBsaW5lIDE1NywgaW4gc2hvd0Rlc2lnbmVy DQoxNzoyODo0NzogICAgIHNpemVyc1ZpZXcuaW5pdGlhbGl6ZSgpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCjE3OjI4OjQ3OiAgICAgICBGaWxl ICJDOlxQeXRob24yNFxMaWJcc2l0ZS1wYWNrYWdlc1xib2EtY29uc3RydWN0b3JcVmlld3NcRGF0 YVZpZXcucHkiLCBsaW5lIDc0LCBpbiBpbml0aWFsaXplDQoxNzoyODo0NzogICAgIHNlbGYuaW5p dE9iamVjdHNBbmRDb21wYW5pb25zKG9iakNvbC5jcmVhdG9ycywgb2JqQ29sLCBkZXBzLCBkZXBM aW5rcykgICAgICANCjE3OjI4OjQ3OiAgICAgICBGaWxlICJDOlxQeXRob24yNFxMaWJcc2l0ZS1w YWNrYWdlc1xib2EtY29uc3RydWN0b3JcVmlld3NcU2l6ZXJzVmlldy5weSIsIGxpbmUgMTE4LCBp biBpbml0T2JqZWN0c0FuZENvbXBhbmlvbnMNCjE3OjI4OjQ3OiAgICAgRGF0YVZpZXcuaW5pdE9i amVjdHNBbmRDb21wYW5pb25zKHNlbGYsIGNyZWF0b3JzLCBvYmpDb2xsLCBkZXBlbmRlbnRzLCBk ZXBMaW5rcykNCjE3OjI4OjQ3OiAgICAgICBGaWxlICJDOlxQeXRob24yNFxMaWJcc2l0ZS1wYWNr YWdlc1xib2EtY29uc3RydWN0b3JcVmlld3NcRGF0YVZpZXcucHkiLCBsaW5lIDc3LCBpbiBpbml0 T2JqZWN0c0FuZENvbXBhbmlvbnMNCjE3OjI4OjQ3OiAgICAgSW5zcGVjdGFibGVPYmplY3RWaWV3 LmluaXRPYmplY3RzQW5kQ29tcGFuaW9ucyhzZWxmLCBjcmVhdG9ycywgb2JqQ29sbCwgZGVwZW5k ZW50cywgZGVwTGlua3MpDQoxNzoyODo0NzogICAgICAgRmlsZSAiQzpcUHl0aG9uMjRcTGliXHNp dGUtcGFja2FnZXNcYm9hLWNvbnN0cnVjdG9yXFZpZXdzXEluc3BlY3RhYmxlVmlld3MucHkiLCBs aW5lIDEyNywgaW4gaW5pdE9iamVjdHNBbmRDb21wYW5pb25zDQoxNzoyODo0NzogICAgIHNlbGYu aW5pdE9iakNyZWF0b3IoY29uc3RyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICANCjE3OjI4OjQ3OiAgICAgICBGaWxlICJDOlxQeXRob24yNFxMaWJcc2l0 ZS1wYWNrYWdlc1xib2EtY29uc3RydWN0b3JcVmlld3NcSW5zcGVjdGFibGVWaWV3cy5weSIsIGxp bmUgMTU1LCBpbiBpbml0T2JqQ3JlYXRvcg0KMTc6Mjg6NDc6ICAgICBjb25zdHJQcnMuY29tcF9u YW1lLCBjb25zdHJQcnMucGFyYW1zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgDQoxNzoyODo0NzogICAgICAgRmlsZSAiQzpcUHl0aG9uMjRcTGliXHNpdGUtcGFja2FnZXNc Ym9hLWNvbnN0cnVjdG9yXFZpZXdzXERhdGFWaWV3LnB5IiwgbGluZSAxMjksIGluIGxvYWRDb250 cm9sDQoxNzoyODo0NzogICAgIEN0cmxDb21wYW5pb24uaGFuZGxlZENvbnN0clBhcmFtcywgZXZh bERjdCA9IHNlbGYubW9kZWwuc3BlY2lhbEF0dHJzKSAgICAgICANCjE3OjI4OjQ3OiAgICAgICBG aWxlICJDOlxQeXRob24yNFxMaWJcc2l0ZS1wYWNrYWdlc1xib2EtY29uc3RydWN0b3JcVmlld3Nc SW5zcGVjdGFibGVWaWV3cy5weSIsIGxpbmUgNjMsIGluIHNldHVwQXJncw0KMTc6Mjg6NDc6ICAg ICBldmFsRGN0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgDQoxNzoyODo0NzogICAgICAgRmlsZSAiQzpcUHl0aG9uMjRc TGliXHNpdGUtcGFja2FnZXNcYm9hLWNvbnN0cnVjdG9yXFBhbGV0dGVNYXBwaW5nLnB5IiwgbGlu ZSAxNjEsIGluIGV2YWxDdHJsDQoxNzoyODo0NzogICAgIHJhaXNlIERlc2lnblRpbWVFeHByZXNz aW9uRXJyb3IsIGNsc05hbWUrJzogJytzdHIoZXJyKSAgICAgICAgICAgICAgICAgICAgICANCjE3 OjI4OjQ3OiAgICAgUGFsZXR0ZU1hcHBpbmcuRGVzaWduVGltZUV4cHJlc3Npb25FcnJvcjogQXR0 cmlidXRlRXJyb3I6IF95b3VyX2ZyYW1lX2F0dHJzX2luc3RhbmNlIGhhcyBubyBhdHRyaWJ1dGUg J3N0YXRpY0JveDEnDQo= |
From: Riaan B. <riaan@e.co.za> - 2006-10-31 15:13:15
|
Hi Olivier, Fixed in CVS. I'm glad this issue got sorted out before the release. Cheers, Riaan. Olivier Thiery wrote: > Hi, > > I updated my wxpython and boa install two days ago from wxpython 2.6.3.3 > <http://2.6.3.3> / boa 0.4.4 to wxpython 2.7.1.2 <http://2.7.1.2> / boa > 0.5.2 (from cvs). > > I get a few errors with the designer now, especially with StaticBoxSizers. > > The source I've attached comes from one of my projects. It opens well in > boa 0.4.4 but raises an error in boa 0.5.2 designer (I've also attached > the trace I get then). > > Olivier > > > ------------------------------------------------------------------------ > > 17:28:47: wx._core.PyDeadObjectError: The C++ part of the StaticBox object has been deleted, attribute access no longer allowed.Traceback (most recent call last): > 17:28:47: wx._core.PyDeadObjectError: The C++ part of the StaticBox object has been deleted, attribute access no longer allowed. File "C:\Python24\Lib\site-packages\boa-constructor\Models\wxPythonControllers.py", line 78, in OnDesigner > 17:28:47: self.showDesigner() > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Models\wxPythonControllers.py", line 157, in showDesigner > 17:28:47: sizersView.initialize() > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\DataView.py", line 74, in initialize > 17:28:47: self.initObjectsAndCompanions(objCol.creators, objCol, deps, depLinks) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\SizersView.py", line 118, in initObjectsAndCompanions > 17:28:47: DataView.initObjectsAndCompanions(self, creators, objColl, dependents, depLinks) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\DataView.py", line 77, in initObjectsAndCompanions > 17:28:47: InspectableObjectView.initObjectsAndCompanions(self, creators, objColl, dependents, depLinks) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\InspectableViews.py", line 127, in initObjectsAndCompanions > 17:28:47: self.initObjCreator(constr) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\InspectableViews.py", line 155, in initObjCreator > 17:28:47: constrPrs.comp_name, constrPrs.params) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\DataView.py", line 129, in loadControl > 17:28:47: CtrlCompanion.handledConstrParams, evalDct = self.model.specialAttrs) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\Views\InspectableViews.py", line 63, in setupArgs > 17:28:47: evalDct) > 17:28:47: File "C:\Python24\Lib\site-packages\boa-constructor\PaletteMapping.py", line 161, in evalCtrl > 17:28:47: raise DesignTimeExpressionError, clsName+': '+str(err) > 17:28:47: PaletteMapping.DesignTimeExpressionError: AttributeError: _your_frame_attrs_instance has no attribute 'staticBox1' > > > ------------------------------------------------------------------------ > > #Boa:FramePanel:HistoPanel > > import wx > > import wxData > > [wxID_HISTOPANEL, wxID_HISTOPANELLVWHISTO, wxID_HISTOPANELSTATICBOX1, > wxID_HISTOPANELSTATICBOX2, wxID_HISTOPANELSTATICTEXT1, > wxID_HISTOPANELSTATICTEXT2, wxID_HISTOPANELSTATICTEXT3, > wxID_HISTOPANELSTATICTEXT4, wxID_HISTOPANELTBDATEVALEUR, > wxID_HISTOPANELTBELEMENT, wxID_HISTOPANELTBPROPRIETE, > wxID_HISTOPANELTBVALEUR, wxID_HISTOPANELTBVALEURACTUELLE, > ] = [wx.NewId() for _init_ctrls in range(13)] > > class HistoPanel(wx.Panel): > def _init_coll_histoBox_Items(self, parent): > # generated method, don't edit > > parent.AddWindow(self.lvwHisto, 1, border=5, flag=wx.EXPAND | wx.ALL) > parent.AddWindow(self.tbValeur, 0, border=5, > flag=wx.RIGHT | wx.LEFT | wx.BOTTOM | wx.EXPAND) > > def _init_coll_eltBox_Items(self, parent): > # generated method, don't edit > > parent.AddWindow(self.staticText1, 0, border=5, > flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT) > parent.AddWindow(self.tbElement, 1, border=0, flag=0) > > def _init_coll_identBox_Items(self, parent): > # generated method, don't edit > > parent.AddSizer(self.eltBox, 0, border=5, flag=wx.ALL | wx.EXPAND) > parent.AddSizer(self.pteBox, 0, border=5, > flag=wx.RIGHT | wx.LEFT | wx.EXPAND) > parent.AddSizer(self.valBox, 0, border=5, flag=wx.ALL | wx.EXPAND) > > def _init_coll_pteBox_Items(self, parent): > # generated method, don't edit > > parent.AddWindow(self.staticText2, 0, border=5, > flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT) > parent.AddWindow(self.tbPropriete, 1, border=0, flag=0) > > def _init_coll_mainBox_Items(self, parent): > # generated method, don't edit > > parent.AddSizer(self.identBox, 0, border=5, flag=wx.EXPAND | wx.BOTTOM) > parent.AddSizer(self.histoBox, 1, border=0, flag=wx.EXPAND) > > def _init_coll_valBox_Items(self, parent): > # generated method, don't edit > > parent.AddWindow(self.staticText3, 0, border=0, > flag=wx.ALIGN_CENTER_VERTICAL) > parent.AddWindow(self.tbValeurActuelle, 1, border=5, > flag=wx.RIGHT | wx.LEFT) > parent.AddWindow(self.staticText4, 0, border=0, > flag=wx.ALIGN_CENTER_VERTICAL) > parent.AddWindow(self.tbDateValeur, 0, border=5, flag=wx.LEFT) > > def _init_coll_lvwHisto_Columns(self, parent): > # generated method, don't edit > > parent.InsertColumn(col=0, format=wx.LIST_FORMAT_LEFT, heading=u'Date', > width=-1) > parent.InsertColumn(col=1, format=wx.LIST_FORMAT_LEFT, > heading=u'Valeur', width=-1) > > def _init_sizers(self): > # generated method, don't edit > self.eltBox = wx.BoxSizer(orient=wx.HORIZONTAL) > > self.pteBox = wx.BoxSizer(orient=wx.HORIZONTAL) > > self.identBox = wx.StaticBoxSizer(box=self.staticBox1, > orient=wx.VERTICAL) > > self.histoBox = wx.StaticBoxSizer(box=self.staticBox2, > orient=wx.VERTICAL) > > self.mainBox = wx.BoxSizer(orient=wx.VERTICAL) > > self.valBox = wx.BoxSizer(orient=wx.HORIZONTAL) > > self._init_coll_eltBox_Items(self.eltBox) > self._init_coll_pteBox_Items(self.pteBox) > self._init_coll_identBox_Items(self.identBox) > self._init_coll_histoBox_Items(self.histoBox) > self._init_coll_mainBox_Items(self.mainBox) > self._init_coll_valBox_Items(self.valBox) > > self.SetSizer(self.mainBox) > > def _init_ctrls(self, prnt): > # generated method, don't edit > wx.Panel.__init__(self, id=wxID_HISTOPANEL, name=u'HistoPanel', > parent=prnt, pos=wx.Point(478, 291), size=wx.Size(416, 459), > style=wx.TAB_TRAVERSAL) > self.SetClientSize(wx.Size(408, 432)) > > self.staticBox1 = wx.StaticBox(id=wxID_HISTOPANELSTATICBOX1, > label=u'Identification', name='staticBox1', parent=self, > pos=wx.Point(0, 0), size=wx.Size(408, 105), style=0) > > self.staticText1 = wx.StaticText(id=wxID_HISTOPANELSTATICTEXT1, > label=u'El\xe9ment', name='staticText1', parent=self, > pos=wx.Point(10, 26), size=wx.Size(70, 13), style=wx.ALIGN_RIGHT) > > self.staticText2 = wx.StaticText(id=wxID_HISTOPANELSTATICTEXT2, > label=u'Propri\xe9t\xe9', name='staticText2', parent=self, > pos=wx.Point(10, 52), size=wx.Size(70, 13), style=wx.ALIGN_RIGHT) > > self.tbElement = wx.TextCtrl(id=wxID_HISTOPANELTBELEMENT, > name=u'tbElement', parent=self, pos=wx.Point(85, 22), > size=wx.Size(313, 21), style=wx.TE_READONLY, value=u'') > > self.tbPropriete = wx.TextCtrl(id=wxID_HISTOPANELTBPROPRIETE, > name=u'tbPropriete', parent=self, pos=wx.Point(85, 48), > size=wx.Size(313, 21), style=wx.TE_READONLY, value=u'') > > self.staticBox2 = wx.StaticBox(id=wxID_HISTOPANELSTATICBOX2, > label=u'Historique', name='staticBox2', parent=self, > pos=wx.Point(0, 110), size=wx.Size(408, 322), style=0) > > self.lvwHisto = wx.ListCtrl(id=wxID_HISTOPANELLVWHISTO, > name=u'lvwHisto', parent=self, pos=wx.Point(10, 132), > size=wx.Size(388, 215), style=wx.LC_SINGLE_SEL | wx.LC_REPORT) > self._init_coll_lvwHisto_Columns(self.lvwHisto) > self.lvwHisto.Bind(wx.EVT_LIST_ITEM_SELECTED, > self.OnLvwHistoListItemSelected, id=wxID_HISTOPANELLVWHISTO) > self.lvwHisto.Bind(wx.EVT_LIST_ITEM_DESELECTED, > self.OnLvwHistoListItemDeselected, id=wxID_HISTOPANELLVWHISTO) > > self.tbValeur = wx.TextCtrl(id=wxID_HISTOPANELTBVALEUR, > name=u'tbValeur', parent=self, pos=wx.Point(10, 352), > size=wx.Size(388, 70), > style=wx.TE_MULTILINE | wx.TE_LINEWRAP | wx.TE_READONLY, > value=u'') > > self.staticText3 = wx.StaticText(id=wxID_HISTOPANELSTATICTEXT3, > label=u'Valeur actuelle', name='staticText3', parent=self, > pos=wx.Point(10, 78), size=wx.Size(70, 13), style=wx.ALIGN_RIGHT) > > self.tbValeurActuelle = wx.TextCtrl(id=wxID_HISTOPANELTBVALEURACTUELLE, > name=u'tbValeurActuelle', parent=self, pos=wx.Point(85, 74), > size=wx.Size(185, 21), style=wx.TE_READONLY, value=u'') > > self.tbDateValeur = wx.TextCtrl(id=wxID_HISTOPANELTBDATEVALEUR, > name=u'tbDateValeur', parent=self, pos=wx.Point(316, 74), > size=wx.Size(82, 21), style=wx.TE_READONLY, value=u'') > > self.staticText4 = wx.StaticText(id=wxID_HISTOPANELSTATICTEXT4, > label=u'date', name='staticText4', parent=self, pos=wx.Point(275, > 78), size=wx.Size(36, 13), style=wx.ALIGN_RIGHT) > > self._init_sizers() > > def __init__(self, parent, id, pos, size, style, name): > self._init_ctrls(parent) > > def setProperty(self, pty, title): > self.tbElement.SetValue(title) > self.tbPropriete.SetValue(pty['libelle_propriete']) > self.tbValeurActuelle.SetValue(pty['valeur_text']) > if pty['date_donnee'] != None: > self.tbDateValeur.SetValue(pty['date_donnee'].Format('%d/%m/%Y')) > en = False > for value in pty.history: > en = True > item = self.lvwHisto.InsertStringItem(wx.NewId(), value['date_donnee'].Format('%d/%m/%Y')) > self.lvwHisto.SetStringItem(item, 1, value['valeur_text']) > self.lvwHisto.Enable(en) > fitColumns(self.lvwHisto) > > def OnLvwHistoListItemSelected(self, event): > self.tbValeur.SetValue(self.lvwHisto.GetItem(event.GetIndex(), 1).GetText()) > > def OnLvwHistoListItemDeselected(self, event): > self.tbValeur.SetValue('') > > def fitColumns(lvw): > """ > Adapte la taille des colonnes d'un ListCtrl \xe0 leur contenu > > @param lvw: le ListCtrl dont on veut adapter la taille des colonnes > """ > for i in range(lvw.GetColumnCount()): > col = lvw.GetColumn(i) > lvw.SetColumnWidth(i, lvw.GetTextExtent(col.GetText())[0]+15) > for j in range(lvw.GetItemCount()): > item = lvw.GetItem(j, i) > if item.GetImage() > -1: > img_offset = lvw.GetImageList(wx.IMAGE_LIST_NORMAL).GetSize(0)[0] > else: > img_offset = 0 > l = lvw.GetTextExtent(item.GetText())[0]+15+img_offset > if l > lvw.GetColumnWidth(i): > lvw.SetColumnWidth(i, l) > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Boa-constructor-users mailing list > Boa...@li... > https://lists.sourceforge.net/lists/listinfo/boa-constructor-users |