Exemple #1
0
def test_flags_no_flags_for_invalid_index():
    """ Check that no flags are returned for invalid index """
    # Given
    model = TreeModel()

    # project = ResearchProject("")
    # project.add_plan().add_task()

    # When
    plan_index = model.index(0, 0, model.plans_index)
    task_index = model.index(0, 0, plan_index)

    # Then
    assert model.flags(plan_index) == Qt.NoItemFlags
    assert model.flags(task_index) == Qt.NoItemFlags
Exemple #2
0
def test_flags_not_editable_for_ancestor_column():
    """ The ancestor column should not be editable """
    model = TreeModel()

    project = ResearchProject("")
    project.add_plan().add_task()
    model.set_project(project)

    # When
    plan_index = model.index(0, TreeModelCols.ANCESTOR, model.plans_index)
    task_index = model.index(0, TreeModelCols.ANCESTOR, plan_index)

    # Then
    assert model.flags(plan_index) & Qt.ItemIsEditable != Qt.ItemIsEditable
    assert model.flags(task_index) & Qt.ItemIsEditable != Qt.ItemIsEditable
Exemple #3
0
def test_flags_set_for_line_items():
    """ Check flags are set correctly for plans and tasks """
    # Given
    model = TreeModel()

    project = ResearchProject("")
    project.add_plan().add_task()
    model.set_project(project)

    # When
    plan_index = model.index(0, 0, model.plans_index)
    task_index = model.index(0, 0, plan_index)

    # Then
    plan_flags = int(model.flags(plan_index))
    task_flags = int(model.flags(task_index))

    assert plan_flags & Qt.ItemIsSelectable == Qt.ItemIsSelectable
    assert plan_flags & Qt.ItemIsEditable == Qt.ItemIsEditable
    assert plan_flags & Qt.ItemIsEnabled == Qt.ItemIsEnabled
    assert task_flags & Qt.ItemIsSelectable == Qt.ItemIsSelectable
    assert task_flags & Qt.ItemIsEditable == Qt.ItemIsEditable
    assert task_flags & Qt.ItemIsEnabled == Qt.ItemIsEnabled