On Apr 21, 2008, at 12:42 PM, Randy Heiland wrote:
I was wondering if there's a dialog in the gui code that has built-in
sliders? E.g., currently our extension module subclasses
ModelessDialog; however, our input panel has so many values that it
would be convenient if it was embedded in a widget such that sliders
appeared when it was resized smaller.
Hi Randy,
Not directly. One possibility is to use Pmw.ScrolledFrame (
http://pmw.sourceforge.net/doc/ScrolledFrame.html) as the parent widget for the contents of your dialog. Take the frame you get as an arg to the fillInUI() method and immediately create a Pmw.ScrolledFrame with that frame as the parent. Then fill your dialog in from the frame you get from Pmw.ScrolledFrame.interior(). You can do this almost painlessly like so:
def fillInUI(self, parent):
sf = Pmw.ScrolledFrame(parent)
sf.grid(sticky="nsew")
origParent, parent = parent, sf.interior()
# remainder of fillInUI() remains the same...
Another possibility is to use the Feature_Buttons_Panel widget from Chimera's CGLtk.Hybrid module. This is what Volume Viewer uses to hide/show sections of its interface. You'd have to look at the Volume Viewer code to see how it's called since I haven't used it myself.
--Eric
Eric Pettersen
UCSF Computer Graphics Lab