10 def hello(widget, data):
12 if widget.handler_id :
13 widget.disconnect( widget.handler_id )
14 widget.handler_id = widget.connect("clicked", bye, data)
15 widget.set_label("Switch Off!")
17 def bye(widget, data):
19 if widget.handler_id :
20 widget.disconnect( widget.handler_id )
21 widget.handler_id = widget.connect("clicked", hello, data)
22 widget.set_label("Switch On!")
24 def enable_agps(widget):
25 if widget.get_active() :
26 print "%s state is active" % widget
28 def scana(widget, data):
30 data._timer = gobject.timeout_add( 5000 , data.scan )
32 hildon.hildon_banner_show_information( widget , "icon_path" , "Scanning was already active" )
33 if widget.handler_id :
34 widget.disconnect( widget.handler_id )
35 widget.handler_id = widget.connect("clicked", scano, data)
36 widget.set_label("Stop scanning now !!")
38 def scano(widget, data):
40 hildon.hildon_banner_show_information( widget , "icon_path" , "Timer was running, stopping it" )
41 gobject.source_remove( data._timer )
45 hildon.hildon_banner_show_information( widget , "icon_path" , "Scanning is not active" )
46 if widget.handler_id :
47 widget.disconnect( widget.handler_id )
48 widget.handler_id = widget.connect("clicked", scana, data)
49 widget.set_label("Start scanning now !!")
53 window = hildon.Window()
54 program = hildon.Program.get_instance()
55 program.add_window(window)
57 gpsdev = wifimap.Scanner( window )
59 window.connect("delete_event", gtk.main_quit, None)
61 vbox = gtk.VBox(homogeneous=False, spacing=0)
62 top_frame = gtk.Frame()
63 bottom_frame = gtk.Frame()
64 bottom_box = gtk.HBox(homogeneous=False, spacing=0)
66 hbox = gtk.HBox(homogeneous=False, spacing=0)
69 textview = gtk.TextView()
70 textview.set_editable( False )
71 textview.set_cursor_visible( False )
72 textview.modify_font( pango.FontDescription("Courier 12") )
74 scrollview = gtk.ScrolledWindow()
75 scrollview.set_policy( gtk.POLICY_NEVER , gtk.POLICY_AUTOMATIC )
76 scrollview.add( textview )
77 hbox.pack_start( scrollview )
79 buttons = gtk.VBox(homogeneous=False, spacing=0)
80 hbox.pack_end(buttons, expand=False)
82 button = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH, hildon.BUTTON_ARRANGEMENT_VERTICAL, "Switch On!")
83 button.handler_id = button.connect("clicked", hello, gpsdev)
84 buttons.pack_start(button, expand=False)
86 button_scan = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH, hildon.BUTTON_ARRANGEMENT_VERTICAL, "Start scanning now !!")
87 button_scan.handler_id = button_scan.connect("clicked", scana, gpsdev)
88 buttons.pack_start(button_scan, expand=False)
90 toggle_button = gtk.CheckButton(label="Use Assisted GPS")
91 toggle_button.connect("toggled", enable_agps)
92 buttons.pack_start(toggle_button, expand=False)
94 status = gtk.Label( "status bar ..." )
95 gpsdev.set_infowin( status , textview.get_buffer() )
96 bottom_box.pack_start( status , expand=False , padding=20 )
98 bottom_frame.add( bottom_box )
100 vbox.pack_start(top_frame)
101 vbox.pack_end(bottom_frame, expand=False)
110 if __name__ == "__main__":