Пример #1
0
    def __create_control_plane(self):
        control_logger =  Logger(os.path.join(path, 'logs'), 'TrafficChart')

        self.__control_tab['frame'] = ttk.Frame(self.__notebook)

        self.__control_tab['chart'] = TrafficChart(logger=control_logger, master=self.__control_tab['frame'])
        self.__control_tab['chart'].pack(side='left', fill='y', expand=True)
        self.__control_tab['chart'].start_anime()

        self.__control_tab['control_btn'] = ControlFrame(logger=control_logger, master=self.__control_tab['frame'], text='系統功能')
        self.__control_tab['control_btn'].pack(side='top', fill='x', expand=True, padx=10)

        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.CONNECT, self.connect_terminal)
        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.STARTUP, self.start_terminal)
        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.STOP, self.stop_terminal)
        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.SHUTDOWN, self.shutdown_cell)
        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.L2GUI, self.start_chart)
        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.UPDATE_L1, lambda: self.__schedule.upload_image('uploadL1'))
        self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.UPDATE_L3, lambda: self.__schedule.upload_image('uploadL3'))

        self.__control_tab['function_btn'] = FunctionFrame(logger=control_logger, config=self.__config, master=self.__control_tab['frame'], text='設定參數')
        self.__control_tab['function_btn'].pack(side='top', fill='x', expand=True, padx=10)

        self.__control_tab['ue_list'] = UEListFrame(logger=control_logger, master=self.__control_tab['frame'], text='UE清單')
        self.__control_tab['ue_list'].pack(side='top', fill='x', expand=True, padx=10)

        self.__notebook.add(self.__control_tab['frame'], text='Control')
Пример #2
0
    def __create_terminal(self):
        for screen_id in range(1,self.__config.get_screen_number()+1):
            screen_conf = self.__config.get_screen_conf(screen_id)
            screen_logger = Logger(os.path.join(path, 'logs'), screen_conf['name'])

            frame = TerminalFrame(screen_logger, self.__notebook)
            frame.grid()
            self.__notebook.add(frame, text=screen_conf['name'])
            self.__terminal_tab['frame'][screen_conf['name']] = frame
Пример #3
0
            self.__control_tab['chart'].attach_L2GUIServ(self.__control_tab['l2guiserv'])
        except:
            self._print_error('cannot start chart/L2GUI')
            return False
        return True

    def get_terminal_tab(self):
        return self.__terminal_tab;

    def __on_exit(self):
        self.__root.destroy()
        sys.exit()

    def mainloop(self):
        while True:
            try:
                self.__root.mainloop()
                break
            except UnicodeDecodeError:
                pass

if __name__ == '__main__':

    path = os.path.dirname(os.path.realpath(__file__))

    logger = Logger(os.path.join(path, 'logs'), 'Main_thread')
    config = ConfigLoader(os.path.join(path, 'config'), logger=logger)

    scg = SmallCellGUI(path, config, logger)
    scg.mainloop()
Пример #4
0
from lib.logger.Logger import Logger
from lib.event import *

logger = Logger()
getEventHandler().addToSubscription(logger)