|
From: Kevin A. <al...@se...> - 2001-09-14 15:47:58
|
I modified the openBackground handler in the hopalong sample to use wxPython
sizers. Please let me know if this causes any problems under Linux or
Windows, it seems to work fine under Windows 2000. This is basically the
same wxBoxSizer layout used by the Message Watcher if you want to compare
code. My challenge is to wrap up the wxPython calls (wxBoxSizer is the
simplest class of the bunch), so that you can get the effect of the code
below, but specify the setup in the .rsrc.py. If you have any ideas let me
know. Most layouts will require a more sophisticated sizer arrangement.
For now, you can do manual sizer setups like the one below in your own
openBackground handler.
ka
---
def on_openBackground(self, target, event):
self.x = 0
self.y = 0
self.components.bufOff.backgroundColor = 'black'
self.components.bufOff.clear()
sizer1 = wxBoxSizer(wxVERTICAL)
sizer2 = wxBoxSizer(wxHORIZONTAL)
comp = self.components
flags = wxLEFT | wxRIGHT | wxBOTTOM | wxALIGN_BOTTOM
sizer2.Add(comp.stcA._delegate, 0, flags, 5)
sizer2.Add(comp.fldA._delegate, 0, flags, 5)
sizer2.Add(comp.stcB._delegate, 0, flags, 5)
sizer2.Add(comp.fldB._delegate, 0, flags, 5)
sizer2.Add(comp.stcC._delegate, 0, flags, 5)
sizer2.Add(comp.fldC._delegate, 0, flags, 5)
sizer2.Add(comp.stcIterations._delegate, 0, flags, 5)
sizer2.Add(comp.fldIterations._delegate, 0, flags, 5)
sizer2.Add(comp.stcXOffset._delegate, 0, flags, 5)
sizer2.Add(comp.fldXOffset._delegate, 0, flags, 5)
sizer2.Add(comp.stcYOffset._delegate, 0, flags, 5)
sizer2.Add(comp.fldYOffset._delegate, 0, flags, 5)
sizer2.Add(comp.stcScale._delegate, 0, flags, 5)
sizer2.Add(comp.fldScale._delegate, 0, flags, 5)
sizer2.Add(5, 5, 1) # spacer
sizer2.Add(comp.btnDraw._delegate, 0, flags, 5)
sizer1.Add(sizer2, 0, wxEXPAND)
sizer1.Add(comp.bufOff._delegate, 1, wxEXPAND)
sizer1.Fit(self)
sizer1.SetSizeHints(self)
self.panel.SetSizer(sizer1)
self.panel.SetAutoLayout(true)
self.panel.Layout()
|