예제 #1
0
def test_object_icon(domain, obj_index, qtbot):
    factory = LevelObjectFactory(PLAINS_OBJECT_SET, PLAINS_GRAPHICS_SET, 0, [], False, True)

    level_object = factory.from_properties(domain, obj_index, 0, 0, None, 0)

    widget = QWidget()
    widget.setLayout(QVBoxLayout())

    widget.layout().addStretch()
    widget.layout().addWidget(ObjectIcon(level_object))
    widget.layout().addStretch()

    widget.show()
    widget.adjustSize()
    qtbot.wait_for_window_shown(widget)
예제 #2
0
class DocumentFilterView(object):
    def __init__(self, documentFilter : DocumentFilter):
        self.documentFilter = documentFilter

        self.activeCheckBox = QCheckBox()
        self.activeCheckBox.setChecked(documentFilter.active)
        self.activeCheckBox.stateChanged.connect(self.onActiveCheckBoxChanged)
        self.activeCheckBox.setText(self.documentFilter.uniqueFilterLabel)

        self.negateCheckBox = QCheckBox()
        self.negateCheckBox.setChecked(documentFilter.negate)
        self.negateCheckBox.stateChanged.connect(self.onNegateCheckBoxChanged)
        self.negateCheckBox.setText('Negate')

        self.container = QWidget()
        layout = QHBoxLayout()
        self.container.setLayout(layout)
        self.container.layout().addWidget(self.activeCheckBox)
        self.container.layout().addWidget(self.negateCheckBox)

        if documentFilter.hasStringArg:
            self.container.layout().addWidget(QtWidgets.QLabel("Input:"))
            self.textEdit = QLineEdit()
            self.textEdit.setText(documentFilter.args)
            self.textEdit.textChanged.connect(self.onTextEditChanged)
            self.container.layout().addWidget(self.textEdit)

        self.container.layout().setAlignment(QtCore.Qt.AlignLeft)
        self.container.adjustSize()

        self.container.setContentsMargins(0,0,0,0)
        layout.setContentsMargins(0,0,0,0)
        self.container.setFixedHeight(20)
    
    def isFilterActive(self):
        return self.activeCheckBox.isChecked() if not self.negateCheckBox.isChecked() else not self.activeCheckBox.isChecked()

    def onActiveCheckBoxChanged(self, _):
        self.documentFilter.setActive(self.activeCheckBox.isChecked())
    
    def onNegateCheckBoxChanged(self, _):
        self.documentFilter.setNegateFilter(self.negateCheckBox.isChecked())

    def onTextEditChanged(self, text):
        self.documentFilter.setArgs(text)