コード例 #1
0
 def update_tree(self, node: Node = None):
     """
     Method that needs to be called when updating self.tree. Will automatically run the verification
     """
     self.toolbar_widget.verify_tree()
     # if node is given check if a subtree changed
     changed_nodes = []
     if node and Settings.auto_update_roles():
         view_node = self.tree_view_widget.graphics_scene.nodes[node.id]
         node = self.tree.find_role_subtree_node_above_node(node)
         if node:
             changed_nodes = self.collection.update_subtrees_in_collection(
                 self.tree, node)
         elif 'roles' == self.category:
             changed_nodes = self.collection.update_subtrees_in_collection(
                 self.tree)
         self.tree_view_widget.graphics_scene.update_children(changed_nodes)
         view_node.initiate_view(True)
     # rebuild menu bar
     self.update_window_title_and_menu_bar()
コード例 #2
0
    def __init__(self, gui: MainWindow):
        super(SettingsDialog, self).__init__()
        self.gui = gui
        self.main_layout = QVBoxLayout()
        self.setLayout(self.main_layout)
        self.setMinimumWidth(500)
        self.setWindowTitle("Settings")

        # grid layout for showing the settings
        self.settings_widget = QWidget()
        self.settings_layout = QGridLayout()
        self.settings_widget.setLayout(self.settings_layout)
        self.settings_layout.setContentsMargins(0, 0, 0, 0)
        self.main_layout.addWidget(self.settings_widget)

        # layout and widget for the ok, apply and cancel button
        self.buttons_widget = QWidget()
        self.buttons_layout = QHBoxLayout()
        self.buttons_widget.setLayout(self.buttons_layout)
        self.buttons_layout.setContentsMargins(0, 0, 0, 0)
        self.main_layout.addWidget(self.buttons_widget)
        self.buttons_layout.addStretch(1)

        # ok, apply and cancel button
        self.ok_button = QPushButton("Ok")
        self.buttons_layout.addWidget(self.ok_button)
        self.ok_button.clicked.connect(self.ok)
        self.apply_button = QPushButton("Apply")
        self.buttons_layout.addWidget(self.apply_button)
        self.apply_button.clicked.connect(self.apply)
        self.cancel_button = QPushButton("Cancel")
        self.cancel_button.clicked.connect(self.reject)
        self.buttons_layout.addWidget(self.cancel_button)
        self.enable_apply(False)

        # settings for the jsons folder
        self.jsons_label = QLabel("JSONS:")
        self.jsons_path = Settings.default_json_folder()
        self.jsons_path_new = self.jsons_path
        self.jsons_edit = QLineEdit(str(self.jsons_path))
        self.jsons_edit.setEnabled(False)
        self.jsons_select = QPushButton("Select")
        self.jsons_select.clicked.connect(self.select_jsons_folder)
        self.settings_layout.addWidget(self.jsons_label, 0, 0)
        self.settings_layout.addWidget(self.jsons_edit, 0, 1)
        self.settings_layout.addWidget(self.jsons_select, 0, 2)

        # settings for the node types folder
        self.node_types_label = QLabel("Node Types:")
        self.node_types_path = Settings.default_node_types_folder()
        self.node_types_path_new = self.node_types_path
        self.node_types_edit = QLineEdit(str(self.node_types_path))
        self.node_types_edit.setEnabled(False)
        self.node_types_select = QPushButton("Select")
        self.node_types_select.clicked.connect(self.select_node_types_folder)
        self.settings_layout.addWidget(self.node_types_label, 1, 0)
        self.settings_layout.addWidget(self.node_types_edit, 1, 1)
        self.settings_layout.addWidget(self.node_types_select, 1, 2)

        # settings for selecting logfile
        self.logfile_label = QLabel("Logfile:")
        self.logfile_path = Settings.default_logfile_name()
        self.logfile_path_new = self.logfile_path
        self.logfile_edit = QLineEdit(str(self.logfile_path))
        self.logfile_edit.setEnabled(False)
        self.logfile_select = QPushButton("Select")
        self.logfile_select.clicked.connect(self.select_logfile)
        self.settings_layout.addWidget(self.logfile_label, 2, 0)
        self.settings_layout.addWidget(self.logfile_edit, 2, 1)
        self.settings_layout.addWidget(self.logfile_select, 2, 2)

        # settings for selecting the id size
        self.id_size_label = QLabel("Node id size:")
        self.id_size_def = Settings.default_id_size()
        self.id_size_def_new = self.id_size_def
        self.id_size_select = QSpinBox()
        self.id_size_select.setMinimum(1)
        self.id_size_select.setValue(self.id_size_def)
        self.id_size_select.valueChanged.connect(self.select_id_size_changed)
        self.settings_layout.addWidget(self.id_size_label, 3, 0)
        self.settings_layout.addWidget(self.id_size_select, 3, 1, 1, 2)

        # checkbox for enabling auto updating of roles
        self.auto_update_roles = Settings.auto_update_roles()
        self.auto_update_roles_new = self.auto_update_roles
        self.auto_update_roles_check = QCheckBox()
        self.auto_update_roles_check.setChecked(self.auto_update_roles)
        self.auto_update_roles_check.setText(
            'Automatically update roles subtrees (Experimental)')
        self.auto_update_roles_check.stateChanged.connect(
            self.auto_update_roles_changed)
        self.settings_layout.addWidget(self.auto_update_roles_check, 4, 0, 1,
                                       0)
 def test_alter_auto_update_roles(self):
     val = Settings.auto_update_roles()
     Settings.alter_auto_update_roles(not val)
     assert val is not Settings.auto_update_roles()
     # revert to original value
     Settings.alter_auto_update_roles(val)
 def test_auto_update_roles(self):
     assert True is Settings.auto_update_roles()