def __init__(self): super(Home, self).__init__() self.orientation = "vertical" self.setting = Config() self.nextUpdate = updateLabel() self.statusLabel = status() btn2 = Button(text="Force update", size_hint=(1, 0.15)) btn2.bind(on_press=self.update) btn4 = Button(text="Settings", size_hint=(1, 0.15)) btn4.bind(on_press=self.setting.open) btn3 = Button(text="Quit", size_hint=(1, 0.15)) btn3.bind(on_press=close) with self.canvas: self.add_widget(self.statusLabel) self.add_widget(self.nextUpdate) self.add_widget(btn2) self.add_widget(btn4) self.add_widget(btn3) Clock.schedule_interval(self.autoUpdater, 1)
def __init__(self, **kwargs): super(MyScreenManager, self).__init__(**kwargs) self.cols = 3 #Main Screen self.mainScreen = Screen(name='main') #Configuration Screen self.config = Screen(name='new') self.add_widget(self.mainScreen) self.add_widget(self.config) mainScreen = MainScreen() #Change Screen -> Config mainScreen.button.bind(on_press=self.chConfig) self.mainScreen.add_widget(mainScreen) config = Config() #Change Screen -> Main Menu config.button.bind(on_press=self.chMainScreen) self.config.add_widget(config)
def config(cls): if not cls._config: cls._config = Config() return cls._config
def build(self): # connect internal instances of form classes self.nao_info = [('192.168.0.102', 'left'), ('192.168.0.106', 'center'), ('192.168.0.101', 'right')] self.config = Config() self.calibration_screen = Calibration_screen() self.flow = Flow() self.stop_screen = Stop_screen() # defines the screen manager, moves between forms self.sm = ScreenManager() # connects each form to a screen screen = Screen(name='config') screen.add_widget(self.config) Window.clearcolor = (1, 1, 1, 1) self.sm.add_widget(screen) screen = Screen(name='calibration_screen') screen.add_widget(self.calibration_screen) Window.clearcolor = (1, 1, 1, 1) self.sm.add_widget(screen) screen = Screen(name='flow') screen.add_widget(self.flow) Window.clearcolor = (1, 1, 1, 1) self.sm.add_widget(screen) screen = Screen(name='stop_screen') screen.add_widget(self.stop_screen) Window.clearcolor = (1, 1, 1, 1) self.sm.add_widget(screen) self.next_step = 1 self.number_of_steps = 6 self.correct_answer_score = 0 self.pupil_count = 0 ##ros # roscore # t1 = threading.Thread(target=self.worker1) # t1.start() # threading._sleep(0.5) #ros_node rospy.init_node('ui') self.publisher = rospy.Publisher('the_flow', String, queue_size=10) self.publisher_alive = rospy.Publisher('alive', String, queue_size=10) self.publisher_next_step = rospy.Publisher('next_step', String, queue_size=10) self.publisher_stop = rospy.Publisher('stop', String, queue_size=10) self.publisher_log = rospy.Publisher('log', String, queue_size=10) #get config data from last run try: with open('cinfig_hist_data.json') as data_file: self.cinfig_hist_data = json.load(data_file) except: 'IOError' self.cinfig_hist_data = { 'nao_ip_experimenter': '192.168.0.', 'nao_ip_left': '192.168.0.', 'nao_ip_right': '192.168.0.', 'nao_ip_center': '192.168.0.', 'nao_name_left': 'Howie', 'nao_name_right': 'Which', 'nao_name_center': 'Where' } # self.left_robot_name = self.cinfig_hist_data['nao_name_left'] self.center_robot_name = self.cinfig_hist_data['nao_name_center'] self.right_robot_name = self.cinfig_hist_data['nao_name_right'] self.gender = 'None' self.config.ids['experimenter_ip'].text = self.cinfig_hist_data[ 'nao_ip_experimenter'] self.config.ids['nao_ip_center'].text = self.cinfig_hist_data[ 'nao_ip_center'] self.config.ids['nao_ip_right'].text = self.cinfig_hist_data[ 'nao_ip_right'] self.config.ids['nao_ip_left'].text = self.cinfig_hist_data[ 'nao_ip_left'] self.config.ids[ 'nao_ip_center_' + self.cinfig_hist_data['nao_name_center']].state = 'down' self.config.ids['nao_ip_right_' + self.cinfig_hist_data['nao_name_right']].state = 'down' self.config.ids['nao_ip_left_' + self.cinfig_hist_data['nao_name_left']].state = 'down' return self.sm
# Function to verify if the objects folder is empty def hasEmptyObjects(): return not objectsExist() # Function to go back to the main menu screen def goBackToMenu(): global sm sm.current = 'menu' sm.transition.direction = 'right' # Initialize Apps config_app = Config(goBackToMenu) detect_app = DetectionApp(config_app, goBackToMenu) crop_app = CropApp(goBackToMenu, config_app) # Create the screen manager and add all the screens sm = ScreenManager() sm.add_widget(MenuScreen(name='menu')) sm.add_widget(ConfigScreen(name='config')) sm.add_widget(DetectObjScreen(name='detection')) sm.add_widget(AddObjScreen(name='addobj')) # MainApp class class MainApp(App): title = 'Object Detection App'