[pygtk] Show_all()?
Art Hunkins
abhunkin at uncg.edu
Fri Nov 13 02:23:31 WST 2009
I'd like the following code, all packed within a single box and framebox,
and in the top-level window, to display simultaneously. (I'm referring
specifically to the line beginning "self.box2" to the end.) However the
material rolls onto the screen rather haphazardly. Can it be made to appear
instantaneously with show() or show_all() somehow?
def version3(self, widget):
if self.ver != 0:
self.box1.destroy()
self.box2.destroy()
self.w.reset()
self.w.csd("OurMusicMIDI.csd")
if not self.w.csd("OurMusicMIDI.csd"):
self.ver = 3
self.box1 = self.w.box(True, self.bb)
self.w.text("", self.box1)
self.box2 = self.w.box(True, self.bb)
self.f = self.w.framebox(" <b>3 - OurMusicMIDI</b> ", False, self.box2,
self.r)
self.b1 = self.w.box(True, self.f)
self.b2 = self.w.box(True, self.f)
self.b3 = self.w.box(True, self.f)
self.b4 = self.w.box(True, self.f)
self.b5 = self.w.box(True, self.f)
self.b6 = self.w.box(True, self.f)
self.w.spin(0, 0, 16, 1, 1, self.b1, 0, "chan", "Channel # [0=CC7,\n
\
channels 1-8(11)]")
self.w.spin(20, 0, 120, 1, 1, self.b1, 0, "ctrl", "1st Controller #")
self.w.spin(0, 0, 3, 1, 1, self.b2, 0, "harm", "Harmonics 0=normal\n\
1=random 2=knob/\nslider 3=MIDI notes")
self.w.spin(7, 0, 127, 1, 1, self.b3, 0, "harctrl", "Harm Control #")
self.w.spin(60, 0, 118, 1, 1, self.b3, 0, "harmidi", "1st MIDI Note
#\n\
(for harmonics)")
self.w.button(self.b4, "pan", "Pan Control ?")
self.w.text("", self.b4)
self.w.spin(7, 0, 127, 1, 1, self.b4, 0, "panctrl", "Pan Control #")
self.w.spin(0, 0, 2, 1, 1, self.b5, 7, "depth", " Depth 0=none\n\
1=random 2=cont")
self.w.spin(7, 0, 127, 1, 1, self.b5, 0, "depctrl", "Depth Control #")
self.p = False
self.w.text("\n<i>Select options first </i>", self.b6, self.g)
self.but = self.w.cbbutton(self.b6, self.playcsd, "START !")
self.but.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(0, 0x7700, 0))
self.but.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(0, 0x7700, 0))
Art Hunkins
More information about the pygtk
mailing list