<s> import pygtk <EOL> pygtk . require ( '<STR_LIT>' ) <EOL> import gtk <EOL> class SpinButtonExample : <EOL> def toggle_snap ( self , widget , spin ) : <EOL> spin . set_snap_to_ticks ( widget . get_active ( ) ) <EOL> def toggle_numeric ( self , widget , spin ) : <EOL> spin . set_numeric ( widget . get_active ( ) ) <EOL> def change_digits ( self , widget , spin , spin1 ) : <EOL> spin1 . set_digits ( spin . get_value_as_int ( ) ) <EOL> def get_value ( self , widget , data , spin , spin2 , label ) : <EOL> if data == <NUM_LIT:1> : <EOL> buf = "<STR_LIT>" % spin . get_value_as_int ( ) <EOL> else : <EOL> buf = "<STR_LIT>" % ( spin2 . get_value_as_int ( ) , <EOL> spin . get_value ( ) ) <EOL> label . set_text ( buf ) <EOL> def __init__ ( self ) : <EOL> window = gtk . Window ( gtk . WINDOW_TOPLEVEL ) <EOL> window . connect ( "<STR_LIT>" , lambda w : gtk . main_quit ( ) ) <EOL> window . set_title ( "<STR_LIT>" ) <EOL> main_vbox = gtk . VBox ( False , <NUM_LIT:5> ) <EOL> main_vbox . set_border_width ( <NUM_LIT:10> ) <EOL> window . add ( main_vbox ) <EOL> frame = gtk . Frame ( "<STR_LIT>" ) <EOL> main_vbox . pack_start ( frame , True , True , <NUM_LIT:0> ) <EOL> vbox = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> vbox . set_border_width ( <NUM_LIT:5> ) <EOL> frame . add ( vbox ) <EOL> hbox = gtk . HBox ( False , <NUM_LIT:0> ) <EOL> vbox . pack_start ( hbox , True , True , <NUM_LIT:5> ) <EOL> vbox2 = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> hbox . pack_start ( vbox2 , True , True , <NUM_LIT:5> ) <EOL> label = gtk . Label ( "<STR_LIT>" ) <EOL> label . set_alignment ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> vbox2 . pack_start ( label , False , True , <NUM_LIT:0> ) <EOL> adj = gtk . Adjustment ( <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT> , <NUM_LIT:1.0> , <NUM_LIT> , <NUM_LIT:0.0> ) <EOL> spinner = gtk . SpinButton ( adj , <NUM_LIT:0> , <NUM_LIT:0> ) <EOL> spinner . set_wrap ( True ) <EOL> vbox2 . pack_start ( spinner , False , True , <NUM_LIT:0> ) <EOL> vbox2 = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> hbox . pack_start ( vbox2 , True , True , <NUM_LIT:5> ) <EOL> label = gtk . Label ( "<STR_LIT>" ) <EOL> label . set_alignment ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> vbox2 . pack_start ( label , False , True , <NUM_LIT:0> ) <EOL> adj = gtk . Adjustment ( <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT> , <NUM_LIT:1.0> , <NUM_LIT> , <NUM_LIT:0.0> ) <EOL> spinner = gtk . SpinButton ( adj , <NUM_LIT:0> , <NUM_LIT:0> ) <EOL> spinner . set_wrap ( True ) <EOL> vbox2 . pack_start ( spinner , False , True , <NUM_LIT:0> ) <EOL> vbox2 = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> hbox . pack_start ( vbox2 , True , True , <NUM_LIT:5> ) <EOL> label = gtk . Label ( "<STR_LIT>" ) <EOL> label . set_alignment ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> vbox2 . pack_start ( label , False , True , <NUM_LIT:0> ) <EOL> adj = gtk . Adjustment ( <NUM_LIT> , <NUM_LIT:0.0> , <NUM_LIT> , <NUM_LIT:1.0> , <NUM_LIT> , <NUM_LIT:0.0> ) <EOL> spinner = gtk . SpinButton ( adj , <NUM_LIT:0> , <NUM_LIT:0> ) <EOL> spinner . set_wrap ( False ) <EOL> spinner . set_size_request ( <NUM_LIT> , - <NUM_LIT:1> ) <EOL> vbox2 . pack_start ( spinner , False , True , <NUM_LIT:0> ) <EOL> frame = gtk . Frame ( "<STR_LIT>" ) <EOL> main_vbox . pack_start ( frame , True , True , <NUM_LIT:0> ) <EOL> vbox = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> vbox . set_border_width ( <NUM_LIT:5> ) <EOL> frame . add ( vbox ) <EOL> hbox = gtk . HBox ( False , <NUM_LIT:0> ) <EOL> vbox . pack_start ( hbox , False , True , <NUM_LIT:5> ) <EOL> vbox2 = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> hbox . pack_start ( vbox2 , True , True , <NUM_LIT:5> ) <EOL> label = gtk . Label ( "<STR_LIT>" ) <EOL> label . set_alignment ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> vbox2 . pack_start ( label , False , True , <NUM_LIT:0> ) <EOL> adj = gtk . Adjustment ( <NUM_LIT:0.0> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0.5> , <NUM_LIT> , <NUM_LIT:0.0> ) <EOL> spinner1 = gtk . SpinButton ( adj , <NUM_LIT:1.0> , <NUM_LIT:2> ) <EOL> spinner1 . set_wrap ( True ) <EOL> spinner1 . set_size_request ( <NUM_LIT:100> , - <NUM_LIT:1> ) <EOL> vbox2 . pack_start ( spinner1 , False , True , <NUM_LIT:0> ) <EOL> vbox2 = gtk . VBox ( False , <NUM_LIT:0> ) <EOL> hbox . pack_start ( vbox2 , True , True , <NUM_LIT:5> ) <EOL> label = gtk . Label ( "<STR_LIT>" ) <EOL> label . set_alignment ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> vbox2 . pack_start ( label , False , True , <NUM_LIT:0> ) <EOL> adj = gtk . Adjustment ( <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:5> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0> ) <EOL> spinner2 = gtk . SpinButton ( adj , <NUM_LIT:0.0> , <NUM_LIT:0> ) <EOL> spinner2 . set_wrap ( True ) <EOL> adj . connect ( "<STR_LIT>" , self . change_digits , spinner2 , spinner1 ) <EOL> vbox2 . pack_start ( spinner2 , False , True , <NUM_LIT:0> ) <EOL> hbox = gtk . HBox ( False , <NUM_LIT:0> ) <EOL> vbox . pack_start ( hbox , False , True , <NUM_LIT:5> ) <EOL> button = gtk . CheckButton ( "<STR_LIT>" ) <EOL> button . connect ( "<STR_LIT>" , self . toggle_snap , spinner1 ) <EOL> vbox . pack_start ( button , True , True , <NUM_LIT:0> ) <EOL> button . set_active ( True ) <EOL> button = gtk . CheckButton ( "<STR_LIT>" ) <EOL> button . connect ( "<STR_LIT>" , self . toggle_numeric , spinner1 ) <EOL> vbox . pack_start ( button , True , True , <NUM_LIT:0> ) <EOL> button . set_active ( True ) <EOL> val_label = gtk . Label ( "<STR_LIT>" ) <EOL> hbox = gtk . HBox ( False , <NUM_LIT:0> ) <EOL> vbox . pack_start ( hbox , False , True , <NUM_LIT:5> ) <EOL> button = gtk . Button ( "<STR_LIT>" ) <EOL> button . connect ( "<STR_LIT>" , self . get_value , <NUM_LIT:1> , spinner1 , spinner2 , <EOL> val_label ) <EOL> hbox . pack_start ( button , True , True , <NUM_LIT:5> ) <EOL> button = gtk . Button ( "<STR_LIT>" ) <EOL> button . connect ( "<STR_LIT>" , self . get_value , <NUM_LIT:2> , spinner1 , spinner2 , <EOL> val_label ) <EOL> hbox . pack_start ( button , True , True , <NUM_LIT:5> ) <EOL> vbox . pack_start ( val_label , True , True , <NUM_LIT:0> ) <EOL> val_label . set_text ( "<STR_LIT:0>" ) <EOL> hbox = gtk . HBox ( False , <NUM_LIT:0> ) <EOL> main_vbox . pack_start ( hbox , False , True , <NUM_LIT:0> ) <EOL> button = gtk . Button ( "<STR_LIT>" ) <EOL> button . connect ( "<STR_LIT>" , lambda w : gtk . main_quit ( ) ) <EOL> hbox . pack_start ( button , True , True , <NUM_LIT:5> ) <EOL> window . show_all ( ) <EOL> def main ( ) : <EOL> gtk . main ( ) <EOL> return <NUM_LIT:0> <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> SpinButtonExample ( ) <EOL> main ( ) </s>
