# # "$Id: pack.py 35 2003-09-29 21:39:48Z andreasheld $" # # Pack test program for pyFLTK the Python bindings # for the Fast Light Tool Kit (FLTK). # # FLTK copyright 1998-1999 by Bill Spitzak and others. # pyFLTK copyright 2003 by Andreas Held and others. # # This library is free software you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. # # Please report all bugs and problems to "pyfltk-user@lists.sourceforge.net". # from fltk import * import sys w = Fl_Window(100, 100, 365, 525) scroll = Fl_Scroll(10,10,345,285) pack = Fl_Pack(10, 10, 345, 285) pack.box(FL_DOWN_FRAME) def type_cbH(ptr): type_cb(Fl_Pack.HORIZONTAL) def type_cbV(ptr): type_cb(Fl_Pack.VERTICAL) def type_cb(v): for i in xrange(0,pack.children(),1): pack.child(i).resize(0,0,25,25) pack.resize(scroll.x(), scroll.y(), scroll.w(), scroll.h()) p = pack.parent() p.redraw() pack.type(v) pack.redraw() def spacing_cb(ptr): pack.spacing(int(valueSlider.value())) scroll.redraw() buttons=[] buttons.append( Fl_Button(35, 35, 25, 25, "b1")) buttons.append( Fl_Button(45, 45, 25, 25, "b2")) buttons.append( Fl_Button(55, 55, 25, 25, "b3")) buttons.append( Fl_Button(65, 65, 25, 25, "b4")) buttons.append( Fl_Button(75, 75, 25, 25, "b5")) buttons.append( Fl_Button(85, 85, 25, 25, "b6")) buttons.append( Fl_Button(95, 95, 25, 25, "b7")) buttons.append( Fl_Button(105, 105, 25, 25, "b8")) buttons.append( Fl_Button(115, 115, 25, 25, "b9")) buttons.append( Fl_Button(125, 125, 25, 25, "b10")) buttons.append( Fl_Button(135, 135, 25, 25, "b11")) buttons.append( Fl_Button(145, 145, 25, 25, "b12")) buttons.append( Fl_Button(155, 155, 25, 25, "b13")) buttons.append( Fl_Button(165, 165, 25, 25, "b14")) buttons.append( Fl_Button(175, 175, 25, 25, "b15")) buttons.append( Fl_Button(185, 185, 25, 25, "b16")) buttons.append( Fl_Button(195, 195, 25, 25, "b17")) buttons.append( Fl_Button(205, 205, 25, 25, "b18")) buttons.append( Fl_Button(215, 215, 25, 25, "b19")) buttons.append( Fl_Button(225, 225, 25, 25, "b20")) buttons.append( Fl_Button(235, 235, 25, 25, "b21")) buttons.append( Fl_Button(245, 245, 25, 25, "b22")) buttons.append( Fl_Button(255, 255, 25, 25, "b23")) buttons.append( Fl_Button(265, 265, 25, 25, "b24")) w.end() w.resizable(pack) scroll.end() o = ( Fl_Light_Button(10, 325, 175, 25, "VERTICAL")) buttons.append(o) o.type(FL_RADIO_BUTTON) o.callback(type_cbH) o = ( Fl_Light_Button(10, 350, 175, 25, "HORIZONTAL")) buttons.append( o ) o.type(FL_RADIO_BUTTON) o.value(1) o.callback(type_cbV) o = ( Fl_Value_Slider(50,375, 295,25,"spacing:")) valueSlider = o buttons.append( o ) o.align(FL_ALIGN_LEFT) o.type(FL_HORIZONTAL) o.range(0,30) o.step(1) o.callback(spacing_cb) w.end() w.show(len(sys.argv), sys.argv) Fl.run()