import sys import pygtk import gtk #@UnresolvedImport import gtk.glade #@UnresolvedImport from driverConnector import DriverConnector from pyCatcherModel import BaseStationInformation, BaseStationInformationList from pyCatcherView import PyCatcherGUI class PyCatcherController: def __init__(self): self._base_station_list = BaseStationInformationList() store = gtk.ListStore(str,str,str,str) store.append(('a','b','c','d')) self.bs_tree_list_data = store self._gui = PyCatcherGUI(self) store2 = gtk.ListStore(str,str,str,str) store2.append(('aa','ba','cc','dd')) self.bs_tree_list_data = store2 self._driver_connector = DriverConnector() self._gui.log_line("GUI initialized") gtk.main() def log_message(self, message): self._gui.log_line(message) def start_scan(self): self._gui.log_line("start scan") self._driver_connector.start_scanning(self._found_base_station_callback) def stop_scan(self): self._gui.log_line("stop scan") self._driver_connector.stop_scanning() def start_firmware(self): self._gui.log_line("start firmware") self._driver_connector.start_firmware(self._firmware_waiting_callback, self._firmware_done_callback) def stop_firmware(self): self._gui.log_line("stop firmware") print 'stop firmwares' self._driver_connector.stop_firmware() def shutdown(self): self._driver_connector.shutdown() def _found_base_station_callback(self, base_station): self._gui.log_line("found " + base_station.country + '(' + base_station.arfcn + ')') self._base_station_list.add_station(base_station) self.bs_tree_list_data = self._base_station_list.get_list_store() #TODO rebuild diagram def _firmware_waiting_callback(self): self._gui.log_line("firmware waiting for device") self._gui.show_info('Switch on the phone now.', 'Firmware') def _firmware_done_callback(self): self._gui.log_line("firmware loaded, ready for scanning") self._gui.show_info('Firmware load completed', 'Firmware')