Stumbled across this question while looking for something else boa-constructor related, sorry if answering to kinda-dead posts here is considered faux pas, I'm new here.
Anyway, my best guess is you messed with the _init_ctrls yourself even tho there's that "don't edit" comment. Tried that one myself a couple times, well boa doesn't handle that too well. After changing
self.choiceSupplier = wx.Choice(choices=choiceList
to
self.choiceSupplier = wx.Choice(choices=''
you can enter the designer once again, and to be able to have that AND populate the wx.Choice item I moved the list inside the init :
#Boa:Frame:Frame1
import wx
def create(parent):
return Frame1(parent)
[wxID_FRAME1, wxID_FRAME1CHOICESUPPLIER,
] = [wx.NewId() for _init_ctrls in range(2)]
class Frame1(wx.Frame):
def _init_ctrls(self, prnt):
# generated method, don't edit
wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
pos=wx.Point(517, 20), size=wx.Size(408, 496),
style=wx.DEFAULT_FRAME_STYLE, title='Frame1')
self.SetClientSize(wx.Size(392, 458))
self.choiceSupplier = wx.Choice(choices=self.choiceList,
id=wxID_FRAME1CHOICESUPPLIER, name=u'choiceSupplier', parent=self,
pos=wx.Point(0, 0), size=wx.Size(392, 21), style=0)
self.choiceSupplier.Bind(wx.EVT_CHOICE, self.OnChoiceSupplierChoice,
id=wxID_FRAME1CHOICESUPPLIER)
def __init__(self, parent):
self.choiceList = ['DAR', 'Impex', 'Endon', 'Astro', 'Ansell', 'Other']
self._init_ctrls(parent)
def OnChoiceSupplierChoice(self, event):
supplier = choiceList[self.choiceSupplier.GetSelection()]
print supplier
if __name__ == '__main__':
application = wx.PySimpleApp()
someFrame = Frame1(None)
someFrame.Show()
application.MainLoop()
Probably the issue is how the designer session analyzes the file, missing out on the list that's external to the class.