Example #1
0
 def sync_actions(self, actions: List[ActionModel]):
     data = []
     for i, v in enumerate(actions):
         v: ActionModel
         data.append([i, v.name, v.ALL_TYPES_REV.get(v.type), v.dest_scene, v.params])
     TableHelper.sync_data(self.tableWidgetActions, data)
     TableHelper.auto_inject_columns_width(self.tableWidgetActions)
Example #2
0
    def _callback_scene_tab_changed(self, current: int, previous: int) -> bool:
        current_table = self.current_table_widget
        if current_table is not None:
            TableHelper.auto_inject_columns_width(current_table)
            current_table.setCurrentCell(-1, -1)

        return True
Example #3
0
 def sync_objects(self, objects: List[ObjectModel]):
     data = []
     for i, v in enumerate(objects):
         v: ObjectModel
         data.append([i, v.name, v.rect, v.ALL_TYPES_REV.get(v.type), len(v.actions), v.params])
     TableHelper.sync_data(self.tableWidgetObjects, data)
     TableHelper.auto_inject_columns_width(self.tableWidgetObjects)
     self.sync_scenes()
Example #4
0
 def sync_features(self, features: List[FeatureModel]):
     data = []
     for i, v in enumerate(features):
         v: FeatureModel
         data.append([i, v.name, v.ALL_MODES_REV.get(v.mode), v.rect, v.detect_weight])
     TableHelper.sync_data(self.tableWidgetFeatures, data)
     TableHelper.auto_inject_columns_width(self.tableWidgetFeatures)
     self.sync_scenes()
Example #5
0
 def sync_scenes(self):
     if self._device is not None:
         scenes = self._project.scenes
         data = []
         for k, v in scenes.items():
             v: SceneModel
             data.append([k, len(v.accuracy)])
         TableHelper.sync_data(self.tableWidgetScenes, data)
         TableHelper.auto_inject_columns_width(self.tableWidgetScenes)
Example #6
0
    def sync_scenes(self):
        if self._project is None:
            return

        scenes = self._project.scenes
        data = []
        for k, v in scenes.items():
            v: SceneModel
            data.append([k, len(v.features), len(v.objects)])
        TableHelper.sync_data(self.tableWidgetScenes, data)
        TableHelper.auto_inject_columns_width(self.tableWidgetScenes)
Example #7
0
    def refresh_scenes(self, data):
        mi = -1
        mv = 0
        for i, (k, v) in enumerate(data):
            if v > mv:
                mi, mv = i, v
            data[i] = [k, '%.6f' % v]

        TableHelper.sync_data(self.tableWidgetScenes, data)
        TableHelper.auto_inject_columns_width(self.tableWidgetScenes)
        self.tableWidgetScenes.selectRow(mi)
        self.app.processEvents()
Example #8
0
 def callback_event_register(self):
     self.actionCaptureScene.triggered.connect(
         self._callback_capture_scene_triggered)
     self.actionOpen.triggered.connect(self._callback_open_triggered)
     self.actionSave.triggered.connect(self._callback_save_triggered)
     self.actionSelectDevice.triggered.connect(
         self._callback_select_device_triggered)
     self.actionRenameScene.triggered.connect(
         self._callback_rename_scene_triggered)
     self.actionRemoveScene.triggered.connect(
         self._callback_remove_scene_triggered)
     self.actionEditItem.triggered.connect(
         lambda: self._callback_edit_item_triggered(self.current_item_index
                                                    ))
     self.actionDeleteItem.triggered.connect(
         lambda: self._callback_delete_item_triggered(self.
                                                      current_item_index))
     self.actionSetItemParams.triggered.connect(
         self._callback_set_item_params_triggered)
     self.actionExportData.triggered.connect(
         self._callback_export_data_triggered)
     self.horizontalSliderScale.valueChanged.connect(
         self._callback_scale_changed)
     self.tabWidgetScene.currentChanged.connect(
         self.__callback_scene_tab_changed)
     self.tableWidgetScenes.currentItemChanged.connect(
         TableHelper.generate_current_item_changed_callback(
             self.tableWidgetScenes, self._callback_scene_changed, 0))
     self.tableWidgetFeatures.currentItemChanged.connect(
         TableHelper.generate_current_item_changed_callback(
             self.tableWidgetFeatures, self._callback_feature_changed))
     self.tableWidgetObjects.currentItemChanged.connect(
         TableHelper.generate_current_item_changed_callback(
             self.tableWidgetObjects, self._callback_object_changed))
     self.tableWidgetActions.currentItemChanged.connect(
         TableHelper.generate_current_item_changed_callback(
             self.tableWidgetActions, self._callback_action_changed))
     self.tableWidgetFeatures.itemDoubleClicked.connect(
         lambda x: self._callback_edit_item_triggered(x.row()))
     self.tableWidgetObjects.itemDoubleClicked.connect(
         lambda x: self._callback_edit_item_triggered(x.row()))
     self.tableWidgetActions.itemDoubleClicked.connect(
         lambda x: self._callback_edit_item_triggered(x.row()))
     self.tableWidgetScenes.itemDoubleClicked.connect(
         lambda _: self._callback_rename_scene_triggered(True))
Example #9
0
 def resizeEvent(self, *args):
     super().resizeEvent(*args)
     current_table = self.current_table_widget
     if current_table is not None:
         TableHelper.auto_inject_columns_width(current_table)
Example #10
0
 def showEvent(self, *args):
     super().showEvent(*args)
     TableHelper.auto_inject_columns_width(self.tableWidgetScenes)