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() |