Exemplo n.º 1
0
    def __init__(self):
        super().__init__()

        self.corpus = None

        # Refresh recent files
        self.recent_files = [fn for fn in self.recent_files
                             if os.path.exists(fn)]

        # Browse file box
        fbox = gui.widgetBox(self.controlArea, "Corpus file", orientation=0)

        # Drop-down for recent files
        self.file_combo = QtGui.QComboBox(fbox)
        self.file_combo.setMinimumWidth(300)
        fbox.layout().addWidget(self.file_combo)
        self.file_combo.activated[int].connect(self.select_file)

        # Browse button
        browse = gui.button(fbox, self, 'Browse', callback=self.browse_file)
        browse.setIcon(self.style().standardIcon(QtGui.QStyle.SP_DirOpenIcon))
        browse.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)

        # Reload button
        reload = gui.button(fbox, self, "Reload", callback=self.reload, default=True)
        reload.setIcon(self.style().standardIcon(QtGui.QStyle.SP_BrowserReload))
        reload.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)

        # Corpus info
        ibox = gui.widgetBox(self.controlArea, "Corpus info", addSpace=True)
        corp_info = "Corpus of 0 documents."
        self.info_label = gui.label(ibox, self, corp_info)

        # Used Text Features
        fbox = gui.widgetBox(self.controlArea, orientation=0)
        ubox = gui.widgetBox(fbox, "Used text features", addSpace=True)
        self.used_attrs = VariablesListItemModel()
        self.used_attrs_view = VariablesListItemView()
        self.used_attrs_view.setModel(self.used_attrs)
        ubox.layout().addWidget(self.used_attrs_view)

        aa = self.used_attrs
        aa.dataChanged.connect(self.update_feature_selection)
        aa.rowsInserted.connect(self.update_feature_selection)
        aa.rowsRemoved.connect(self.update_feature_selection)

        # Ignored Text Features
        ibox = gui.widgetBox(fbox, "Ignored text features", addSpace=True)
        self.unused_attrs = VariablesListItemModel()
        self.unused_attrs_view = VariablesListItemView()
        self.unused_attrs_view.setModel(self.unused_attrs)
        ibox.layout().addWidget(self.unused_attrs_view)

        # Load the most recent file
        self.set_file_list()
        if len(self.recent_files) > 0:
            self.open_file(self.recent_files[0])
Exemplo n.º 2
0
 def test_flags(self):
     m = VariablesListItemModel([ContinuousVariable("X")])
     flags = m.flags(m.index(0))
     self.assertTrue(flags & Qt.ItemIsDragEnabled)
     self.assertFalse(flags & Qt.ItemIsDropEnabled)
     # 'invalid' index is drop enabled -> indicates insertion capability
     flags = m.flags(m.index(-1, -1))
     self.assertTrue(flags & Qt.ItemIsDropEnabled)
Exemplo n.º 3
0
 def test_drop_mime(self):
     iris = Table("iris")
     m = VariablesListItemModel(iris.domain.variables)
     mime = m.mimeData([m.index(1, 0)])
     self.assertTrue(mime.hasFormat(VariablesListItemModel.MIME_TYPE))
     assert m.dropMimeData(mime, Qt.MoveAction, 5, 0, m.index(-1, -1))
     self.assertIs(m[5], m[1])
     assert m.dropMimeData(mime, Qt.MoveAction, -1, -1, m.index(-1, -1))
     self.assertIs(m[6], m[1])