9 def hello(widget, data):
11 if widget.handler_id :
12 widget.disconnect( widget.handler_id )
13 widget.handler_id = widget.connect("clicked", bye, data)
14 widget.set_label("Switch Off!")
16 def bye(widget, data):
18 if widget.handler_id :
19 widget.disconnect( widget.handler_id )
20 widget.handler_id = widget.connect("clicked", hello, data)
21 widget.set_label("Switch On!")
23 def enable_agps(widget):
24 if widget.get_active() :
25 print "%s state is active" % widget
27 def scana(widget, data):
29 data._timer = gobject.timeout_add( 5000 , data.scan )
31 hildon.hildon_banner_show_information( widget , "icon_path" , "Scanning was already active" )
32 if widget.handler_id :
33 widget.disconnect( widget.handler_id )
34 widget.handler_id = widget.connect("clicked", scano, data)
35 widget.set_label("Stop scanning now !!")
37 def scano(widget, data):
39 hildon.hildon_banner_show_information( widget , "icon_path" , "Timer was running, stopping it" )
40 gobject.source_remove( data._timer )
44 hildon.hildon_banner_show_information( widget , "icon_path" , "Scanning is not active" )
45 if widget.handler_id :
46 widget.disconnect( widget.handler_id )
47 widget.handler_id = widget.connect("clicked", scana, data)
48 widget.set_label("Start scanning now !!")
50 class Wifiscanner ( hildon.Window ) :
52 def __init__ ( self ) :
54 hildon.Window.__init__( self )
55 program = hildon.Program.get_instance()
56 program.add_window(self)
58 self.gpsdev = wifimap.Scanner( self )
60 self.connect("delete_event", gtk.main_quit, None)
62 vbox = gtk.VBox(homogeneous=False, spacing=0)
66 top_frame = gtk.Frame()
67 vbox.pack_start(top_frame)
69 hbox = gtk.HBox(homogeneous=False, spacing=0)
72 # Bottom frame creation
73 bottom_frame = gtk.Frame()
74 vbox.pack_end(bottom_frame, expand=False)
76 bottom_box = gtk.HBox(homogeneous=False, spacing=0)
77 bottom_frame.add( bottom_box )
79 # Top frame population
80 scrollview = gtk.ScrolledWindow()
81 hbox.pack_start( scrollview )
83 buttons = gtk.VBox(homogeneous=False, spacing=0)
84 hbox.pack_end(buttons, expand=False)
86 textview = hildon.TextView()
87 textview.set_placeholder( "Scan results ..." )
88 textview.set_editable( False )
89 textview.set_cursor_visible( False )
90 textview.modify_font( pango.FontDescription("Courier 12") )
92 scrollview.add( textview )
93 scrollview.set_policy( gtk.POLICY_NEVER , gtk.POLICY_AUTOMATIC )
96 button = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL, "Switch On!")
97 button.handler_id = button.connect("clicked", hello, self.gpsdev)
98 buttons.pack_start(button, expand=False)
100 button_scan = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL, "Start scanning now !!")
101 button_scan.handler_id = button_scan.connect("clicked", scana, self.gpsdev)
102 buttons.pack_start(button_scan, expand=False)
104 toggle_button = hildon.CheckButton( gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT )
105 toggle_button.set_label( "Use Assisted GPS" )
106 toggle_button.connect("toggled", enable_agps)
107 buttons.pack_start(toggle_button, expand=False)
109 # Bottom frame population
110 status = gtk.Label( "status bar ..." )
111 self.gpsdev.set_infowin( status , textview.get_buffer() )
112 bottom_box.pack_start( status , expand=False , padding=20 )