Example #1
0
    def __init__(
            self,
            parent: QtWidgets.QWidget = None,
            flags: Union[QtCore.Qt.WindowFlags,
                         QtCore.Qt.WindowType] = QtCore.Qt.WindowFlags()
    ) -> None:
        """Create a tab editor widget."""
        super().__init__(parent, flags)
        self.tabs_model = models.TabsModel()
        self.selected_tab_combo_box.setModel(self.tabs_model)

        self._tabs_file: Optional[str] = None

        self._all_workflows_model: models.WorkflowListModel2 = \
            models.WorkflowListModel2()

        self._active_tab_workflows_model: models.WorkflowListModel2 = \
            models.WorkflowListModel2()

        self.tab_workflows_list_view.setModel(
            self._active_tab_workflows_model
        )

        self.selected_tab_combo_box.currentIndexChanged.connect(
            self._changed_tab
        )

        self.new_tab_button.clicked.connect(self._create_new_tab)

        self.delete_current_tab_button.clicked.connect(self._delete_tab)
        self.add_items_button.clicked.connect(self._add_items_to_tab)
        self.remove_items_button.clicked.connect(self._remove_items)
        self.tabs_model.dataChanged.connect(self.on_modified)
        self.modified: bool = False
        self.splitter.setChildrenCollapsible(False)
Example #2
0
    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
        self.setupUi(self)
        self._tabs_file: Optional[str] = None

        self._tabs_model: QtCore.QAbstractListModel = models.TabsModel()

        self._all_workflows_model: models.WorkflowListModel2 = \
            models.WorkflowListModel2()

        self._active_tab_worksflows_model: models.WorkflowListModel2 = \
            models.WorkflowListModel2()

        self.tabWorkflowsListView.setModel(self._active_tab_worksflows_model)

        self.selectedTabComboBox.setModel(self._tabs_model)

        self.selectedTabComboBox.currentIndexChanged.connect(self._changed_tab)

        self.newTabButton.clicked.connect(self._create_new_tab)

        self.deleteCurrentTabButton.clicked.connect(self._delete_tab)
        self.addItemsButton.clicked.connect(self._add_items_to_tab)
        self.removeItemsButton.clicked.connect(self._remove_items)
        self._tabs_model.dataChanged.connect(self.on_modified)
        self.modified: bool = False
        self.splitter.setChildrenCollapsible(False)
Example #3
0
 def test_model_isub_operator(self):
     from speedwagon.tabs import TabData
     tab = TabData("dummy", Mock())
     model = models.TabsModel()
     model += tab
     assert ("dummy" in model) is True
     model -= tab
     assert ("dummy" in model) is False
def test_tabs_model_delete_tab():
    test_model = models.TabsModel()
    new_tab = tabs.TabData("My tab", models.WorkflowListModel2())
    # new_tab.tab_name =
    test_model += new_tab

    second_new_tab = tabs.TabData("second new tab", models.WorkflowListModel2())
    test_model += second_new_tab
    assert test_model.rowCount() == 2

    test_model -= second_new_tab
    assert test_model.rowCount() == 1
def test_tabs_model_delete_all_tabs():
    test_model = models.TabsModel()
    first_new_tab = tabs.TabData("My tab", models.WorkflowListModel2())
    test_model += first_new_tab

    second_new_tab = tabs.TabData("second new tab", models.WorkflowListModel2())
    test_model += second_new_tab
    assert test_model.rowCount() == 2

    test_model -= second_new_tab
    assert test_model.rowCount() == 1

    test_model -= first_new_tab
    assert test_model.rowCount() == 0
Example #6
0
 def test_tabs_model_iadd_tab(self):
     test_model = models.TabsModel()
     new_tab = tabs.TabData("My tab", models.WorkflowListModel2())
     test_model += new_tab
     assert test_model.rowCount() == 1
Example #7
0
 def test_model_data(self):
     from speedwagon.tabs import TabData
     tab = TabData("dummy", Mock())
     model = models.TabsModel()
     model.add_tab(tab)
     assert model.data(model.index(0, 0), role=QtCore.Qt.UserRole) == tab
Example #8
0
 def test_model_iadd_operator(self):
     from speedwagon.tabs import TabData
     model = models.TabsModel()
     model += TabData("dummy", Mock())
     assert ("dummy" in model) is True
Example #9
0
 def test_model_contains_false(self):
     model = models.TabsModel()
     assert ("dummy" in model) is False
Example #10
0
 def test_model_contains(self):
     from speedwagon.tabs import TabData
     model = models.TabsModel()
     model.add_tab(TabData("dummy", Mock()))
     assert ("dummy" in model) is True