Esempio n. 1
0
def map_value_to_row(qt_model: QAbstractItemModel, column):
    '''
    qt_modelの各行(row)に対して、{引数column列目の値: row}からなる辞書を返します。

    Parameters:
    qt_model -- QAbstractItemModel型
        e.g.
            Fruit |  Color
            ------+------
        0   Apple |  Red
        1   Berry |  Blue
    
    column -- int型 列番号
        e.g. 0

    return: dict型
        e.g. {'Apple': 0, 'Berry': 1}

    '''
    number_of_rows = qt_model.rowCount()
    value_row_pair = {}

    for row in range(number_of_rows):
        index = qt_model.index(row, column)
        value = qt_model.data(index)

        if not value in value_row_pair.keys():
            value_row_pair[value] = row

    return value_row_pair
Esempio n. 2
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)

        self.rootItem = outlineItem(self, title="root", ID="0")

        # Stores removed item, in order to remove them on disk when saving, depending on the file format.
        self.removed = []
Esempio n. 3
0
 def __init__(self, parent: 'ElectrumWindow'):
     QAbstractItemModel.__init__(self, parent)
     Logger.__init__(self)
     self.parent = parent
     self.view = None  # type: TokenHistoryList
     self.transactions = OrderedDictWithIndex()
     self.tx_status_cache = {}  # type: Dict[str, Tuple[int, str]]
Esempio n. 4
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)
        Logger.__init__(self)
        self.parent = parent
        self.view = None  # type: HistoryList
        self.transactions = dict()
        self.tx_tree = list()
        self.expanded_groups = set()
        self.tx_status_cache = {}  # type: Dict[str, Tuple[int, str]]
        self.group_ps = self.parent.wallet.psman.group_history
        # read tx group control icons
        self.tx_group_expand_icn = read_QIcon('tx_group_expand.png')
        self.tx_group_collapse_icn = read_QIcon('tx_group_collapse.png')
        # setup bg thread to get updated data
        self.data_ready.connect(self.on_get_data, Qt.QueuedConnection)
        self.get_data_thread = GetDataThread(self, self.get_history_data,
                                             self.data_ready, self)
        self.get_data_thread.data_call_args = (self.group_ps, )
        self.get_data_thread.start()

        # sort keys methods for columns
        self.SORT_KEYS = {
            HistoryColumns.TX_GROUP: self.sort_ix,
            HistoryColumns.STATUS: self.sort_status,
            HistoryColumns.DIP2: self.sort_dip2,
            HistoryColumns.DESCRIPTION: self.sort_label,
            HistoryColumns.AMOUNT: self.sort_coin_value,
            HistoryColumns.BALANCE: self.sort_running_coin_balance,
            HistoryColumns.FIAT_VALUE: self.sort_fiat_value,
            HistoryColumns.FIAT_ACQ_PRICE: self.sort_fiat_acq_price,
            HistoryColumns.FIAT_CAP_GAINS: self.sort_fiat_cap_gains,
            HistoryColumns.TXID: self.sort_txid,
        }
Esempio n. 5
0
    def __init__(self, parent):
        """Constructor of SearchResultsModel class
        """
        QAbstractItemModel.__init__(self, parent)
        self._replaceMode = False

        self.fileResults = []  # list of FileResults
Esempio n. 6
0
 def setModelData(self, editor: QComboBox, model: QAbstractItemModel,
                  index: QModelIndex) -> None:
     if index.column() == 0:
         model.setData(index, editor.currentText())
     else:
         return super(ComboBoxDelegate,
                      self).setModelData(editor, model, index)
Esempio n. 7
0
 def __init__(self, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self._all_root = Node(data=None, parent=None)
     self._root = self._all_root.clone()
     self._selected_node = None
     self._language_filter = []
     self._treeview = None
Esempio n. 8
0
 def draw_grid(self, data):
     item_model = QAbstractItemModel()
     i = 0
     for key in data:
         item_model.setData(i, {key: data[key]})
     table_view.setModel(item_model)
     table_view.show()
Esempio n. 9
0
    def setModelData(self, widget: QtWidgets.QWidget,
                     model: QtCore.QAbstractItemModel, index):

        if isinstance(widget, options.CustomItemWidget):
            model.setData(index, widget.data)
            return
        super().setModelData(widget, model, index)
Esempio n. 10
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex):
     if isinstance(editor, ExternalProgramWidget):
         model.setData(index, editor.extProgramLineEdit.text(), Qt.EditRole)
     elif isinstance(editor, RandomValueWidget):
         model.setData(index, [editor.spinBoxRandomMin.value(), editor.spinBoxRandomMax.value()], Qt.EditRole)
     else:
         super().setModelData(editor, model, index)
Esempio n. 11
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel,
                  index: QModelIndex):
     # change the state of the checkbox, i.e. if the current state is
     # unchecked send the value 1 to the model.setData, otherwise send 0
     model.setData(
         index, 1 if index.data(Qt.CheckStateRole) == Qt.Unchecked else 0,
         Qt.EditRole)
Esempio n. 12
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel,
                  qindex: QModelIndex):
     if isinstance(editor, QComboBox):
         value = editor.currentData(Qt.UserRole)
         model.setData(qindex, value, Qt.EditRole)
     else:
         super().setModelData(editor, model, qindex)
Esempio n. 13
0
 def __init__(self, parentObject):
     QAbstractItemModel.__init__(self, parentObject)
     self._manuallySorted = False
     self._workspace = parentObject.parent()
     self._workspace.documentOpened.connect(self._onDocumentOpened)
     self._workspace.documentClosed.connect(self._onDocumentClosed)
     self._workspace.modificationChanged.connect(self._onDocumentDataChanged)
Esempio n. 14
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)

        self.rootItem = outlineItem(self, title="root", ID="0")

        # Stores removed item, in order to remove them on disk when saving, depending on the file format.
        self.removed = []
Esempio n. 15
0
    def __init__(
        self,
        root,
        checkbox_columns=None,
        editable_columns=None,
        alignment=None,
        parent=None,
    ):
        QAbstractItemModel.__init__(self, parent=parent)

        self.root = root
        self.checkbox_columns = checkbox_columns
        self.editable_columns = editable_columns

        if alignment is not None:
            self.alignment = alignment
        else:
            self.alignment = Qt.AlignTop | Qt.AlignLeft

        self.index_from_node_cache = weakref.WeakKeyDictionary()

        self.role_functions = {
            Qt.DisplayRole: self.data_display,
            epyqlib.utils.qt.UserRoles.sort: self.data_display,
            epyqlib.utils.qt.UserRoles.unique: self.data_unique,
            epyqlib.utils.qt.UserRoles.raw: self.data_display,
            Qt.TextAlignmentRole: lambda index: int(self.alignment),
            Qt.CheckStateRole: self.data_check_state,
            Qt.EditRole: self.data_edit,
            Qt.BackgroundRole: self.data_background,
            Qt.ForegroundRole: self.data_foreground,
            Qt.DecorationRole: self.data_decoration,
            Qt.ToolTipRole: self.data_tool_tip,
            Qt.FontRole: self.data_font,
        }
Esempio n. 16
0
 def __init__(self, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self.root = Node('')
     self.selectedNode = None
     self.languageFilter = None
     self.videoResultsBackup = []
     self.moviesResultsBackup = None
Esempio n. 17
0
 def setModelData(
     self,
     editor: QtWidgets.QComboBox,
     model: QtCore.QAbstractItemModel,
     index: QtCore.QModelIndex,
 ) -> None:
     model.setData(index, editor.currentText(), Qt.EditRole)
Esempio n. 18
0
 def setModel(self, model: QAbstractItemModel):
     super().setModel(model)
     for row in range(model.rowCount()):
         for col in range(model.columnCount()):
             span = model.span(model.index(row, col))
             if span.height() > 1 or span.width() > 1:
                 self.setSpan(row, col, span.height(), span.width())
Esempio n. 19
0
 def __init__(self, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self.root = Node("")
     self.selectedNode = None
     self.languageFilter = None
     self.videoResultsBackup = None
     self.moviesResultsBackup = None
Esempio n. 20
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)
        self.nextAvailableID = 1

        # Stores removed item, in order to remove them on disk when saving, depending on the file format.
        self.removed = []
        self._removingRows = False
Esempio n. 21
0
    def setModelData(self, widget: QtWidgets.QComboBox,
                     model: QtCore.QAbstractItemModel,
                     index: QtCore.QModelIndex):
        record: collection.PackageObject = model.data(index, role=Qt.UserRole)
        record.component_metadata[
            collection.Metadata.TITLE_PAGE] = widget.currentText()

        model.setData(index, record, role=Qt.UserRole)
Esempio n. 22
0
    def __init__(self, *args, **kwargs):
        QAbstractItemModel.__init__(self, *args, **kwargs)

        self._root = scriptTreeNode(None)

        self._data = []

        self.refresh()
Esempio n. 23
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel,
                  index: QModelIndex):
     if index.column() > 0:
         data = editor.currentData()
         index.model().setData(index, data, Qt.EditRole)
         model.clear456(index.row())
         if data:
             self.Dialog.fieldChange(index, data)
Esempio n. 24
0
    def setModelData(  # pylint: disable=C0103
            self, widget: QtWidgets.QWidget, model: QtCore.QAbstractItemModel,
            index: QtCore.QModelIndex) -> None:

        if isinstance(widget, widgets.CustomItemWidget):
            model.setData(index, widget.data)
            return
        super().setModelData(widget, model, index)
Esempio n. 25
0
 def __init__(self, parent):
     QAbstractItemModel.__init__(self, parent)
     Logger.__init__(self)
     self.parent = parent
     self.view = None  # type: HistoryList
     self.transactions = OrderedDictWithIndex()
     self.tx_status_cache = {}  # type: Dict[str, Tuple[int, str]]
     self.summary = None
Esempio n. 26
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel,
                  index: QModelIndex) -> None:
     if index.column() == 0:
         editor.interpretText()
         model.setData(index, editor.value(), Qt.EditRole)
     else:
         return super(SpinBoxDelegate,
                      self).setModelData(editor, model, index)
Esempio n. 27
0
 def __init__(self, parentObject):
     QAbstractItemModel.__init__(self, parentObject)
     self._manuallySorted = False
     self._workspace = parentObject.parent()
     self._workspace.documentOpened.connect(self._onDocumentOpened)
     self._workspace.documentClosed.connect(self._onDocumentClosed)
     self._workspace.modificationChanged.connect(
         self._onDocumentDataChanged)
Esempio n. 28
0
    def setModelData(self, editor: QWidget, model: QtCore.QAbstractItemModel,
                     index: QtCore.QModelIndex):
        print("setModelData works")
        if editor.text() != "":
            model.setData(index, editor.text(), Qt.EditRole)

        else:
            model.removeRows(index.row())
Esempio n. 29
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex) -> None:
     # if index.data():
     #     model.setData(index, str(self.mTxt_address.text()))
     # print(index.data())
     if isinstance(editor, FileAddressEditor):
         model.setData(index, editor.text())
     else:
         super(addressTableDelegate, self).setModelData(editor, model, index)
Esempio n. 30
0
 def __init__(self, parent):
     QAbstractItemModel.__init__(self, parent)
     Logger.__init__(self)
     self.parent = parent
     self.view = None  # type: HistoryList
     self.transactions = OrderedDictWithIndex()
     self.tx_status_cache = {}  # type: Dict[str, Tuple[int, str]]
     self.summary = None
Esempio n. 31
0
 def setModelData(self, editor: QtWidgets.QWidget, treeview_model: QtCore.QAbstractItemModel,
                  index: QtCore.QModelIndex) -> None:
     (amount, range_amount), ok = self._editor.amount()
     if ok:
         unit_string = self._editor.unitComboBox.currentText().strip()
         treeview_model.setData(index, ((amount, range_amount), unit_string), QtCore.Qt.UserRole)
     else:
         self.illegalValue.emit(self._editor.amountLineEdit.text())
    def setModelData(  # pylint: disable=C0103,R0201
            self, widget: QtWidgets.QWidget, model: QtCore.QAbstractItemModel,
            index: QtCore.QModelIndex) -> None:
        """Set model data."""
        record: collection.PackageObject = model.data(index, role=Qt.UserRole)
        record.component_metadata[
            collection.Metadata.TITLE_PAGE] = widget.currentText()

        model.setData(index, record, role=Qt.UserRole)
Esempio n. 33
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel,
                  index: QModelIndex) -> None:
     if isinstance(editor, FileAddressEditor):
         model.setData(index, editor.text())
     elif isinstance(editor, QComboBox):
         model.setData(index, editor.currentText())
         # print(editor.currentText())
     else:
         super(xyfieldDelegate, self).setModelData(editor, model, index)
 def __init__(self, view, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self._view = view
     self._db_session = get_database_session()
     self._categories = self._db_session.query(TCategories).all()
     self._root = {}
     self._category_dict = {}
     #构造数据
     self._build_data()
Esempio n. 35
0
    def __init__(self, annotations, parent=None):
        QAbstractItemModel.__init__(self, parent)

        start = time.time()
        self._annotations = annotations
        self._dirty = False
        self._root = RootModelItem(self, annotations)
        diff = time.time() - start
        LOG.info("Created AnnotationModel in %.2fs" % (diff, ))

        self.dataChanged.connect(self.onDataChanged)
        self.rowsInserted.connect(self.onDataChanged)
        self.rowsRemoved.connect(self.onDataChanged)
Esempio n. 36
0
 def setModelData(self, editor: QWidget,
                         model: QAbstractItemModel,
                         model_index: QModelIndex):
     column = model_index.column()
     if column == NAME_COL:  # Part Name
         text_QString = editor.text()
         model.setData(model_index, text_QString, Qt.EditRole)
     # elif column == VISIBLE_COL: # Visibility
     #     value = editor.isChecked()
     #     model.setData(model_index, value, Qt.EditRole)
     elif column == COLOR_COL:  # Color
         color = editor.currentColor()
         model.setData(model_index, color.name(), Qt.EditRole)
     else:
         QStyledItemDelegate.setModelData(self, editor, model, model_index)
Esempio n. 37
0
File: dock.py Progetto: gpa14/enki
    def __init__(self, *args):
        QAbstractItemModel.__init__(self, *args)
        self._tags = []

        self._currentTagIndex = QModelIndex()

        defBaseColor = QApplication.instance().palette().base().color()
        # yellow or maroon
        brightBg = QColor('#ffff80') if defBaseColor.lightnessF() > 0.5 else QColor('#800000')
        self._currentTagBrush = QBrush(brightBg)

        core.workspace().cursorPositionChanged.connect(self._onCursorPositionChanged)
        self._updateCurrentTagTimer = QTimer(self)
        self._updateCurrentTagTimer.setInterval(300)
        self._updateCurrentTagTimer.timeout.connect(self._updateCurrentTagAndEmitSignal)
Esempio n. 38
0
 def flags(self, index):
     rc = QAbstractItemModel.flags(index)
     validParent = index.parent().isValid()
     if ((not validParent and index.column() == 0) or    # can edit stamp names
             (validParent and index.column() == 1)):  # and variation probability
         rc |= Qt.ItemIsEditable
     return rc
Esempio n. 39
0
    def flags(self, index):
        """See QAbstractItemModel docs
        """
        flags = QAbstractItemModel.flags(self, index)

        if self._replaceMode:
            flags |= Qt.ItemIsUserCheckable

        return flags
    def __init__(self, parent, topLevelOperator):
        """
        :param topLevelOperator: An instance of OpMultiLaneDataSelectionGroup
        """
        # super does not work here in Python 2.x, decorated class confuses it
        QAbstractItemModel.__init__(self, parent)
        self._op = topLevelOperator

        def handleNewLane( multislot, laneIndex):
            assert multislot is self._op.DatasetGroup
            self.beginInsertRows( QModelIndex(), laneIndex, laneIndex )
            self.endInsertRows()

            def handleDatasetInfoChanged(slot):
                # Get the row of this slot
                laneSlot = slot.operator
                laneIndex = laneSlot.operator.index( laneSlot )
                # FIXME: For now, we update the whole row.
                #        Later, update only the columns that correspond to this dataset.
                firstIndex = self.createIndex(laneIndex, 0)
                lastIndex = self.createIndex(laneIndex, self.columnCount()-1)
                self.dataChanged.emit(firstIndex, lastIndex)

            def handleNewDatasetInserted(mslot, index):
                mslot[index].notifyDirty( bind(handleDatasetInfoChanged) )
            
            for laneIndex, datasetMultiSlot in enumerate(self._op.DatasetGroup):
                datasetMultiSlot.notifyInserted( bind(handleNewDatasetInserted) )
                for roleIndex, datasetSlot in enumerate(datasetMultiSlot):
                    handleNewDatasetInserted( datasetMultiSlot, roleIndex )

        self._op.DatasetGroup.notifyInserted( bind(handleNewLane) )

        def handleLaneRemoved( multislot, laneIndex ):
            assert multislot is self._op.DatasetGroup
            self.beginRemoveRows( QModelIndex(), laneIndex, laneIndex )
            self.endRemoveRows()
        self._op.DatasetGroup.notifyRemoved( bind(handleLaneRemoved) )

        # Any lanes that already exist must be added now.        
        for laneIndex, slot in enumerate(self._op.DatasetGroup):
            handleNewLane( self._op.DatasetGroup, laneIndex )
Esempio n. 41
0
    def headerData(self, section, orientation, role):
        if orientation == Qt.Horizontal:
            if role == Qt.DisplayRole or role == Qt.ToolTipRole:
                if section == ActionModel.Action:
                    return tr("Action")
                elif section == ActionModel.Shortcut:
                    return tr("Shortcut")
                elif section == ActionModel.DefaultShortcut:
                    return tr("Default Shortcut")

        return QAbstractItemModel.headerData(self, section, orientation, role)
    def __init__(self, parent, topLevelOperator, roleIndex):
        """
        :param topLevelOperator: An instance of OpMultiLaneDataSelectionGroup
        """
        # super does not work here in Python 2.x, decorated class confuses it
        QAbstractItemModel.__init__(self, parent)
        self.threadRouter = ThreadRouter(self)
        
        self._op = topLevelOperator
        self._roleIndex = roleIndex
        self._currently_inserting = False
        self._currently_removing = False

        self._op.DatasetGroup.notifyInsert( self.prepareForNewLane )  # pre
        self._op.DatasetGroup.notifyInserted( self.handleNewLane )    # post

        self._op.DatasetGroup.notifyRemove( self.handleLaneRemove )   # pre
        self._op.DatasetGroup.notifyRemoved( self.handleLaneRemoved ) # post

        # Any lanes that already exist must be added now.        
        for laneIndex, slot in enumerate(self._op.DatasetGroup):
            self.prepareForNewLane( self._op.DatasetGroup, laneIndex )
            self.handleNewLane( self._op.DatasetGroup, laneIndex )
Esempio n. 43
0
 def headerData(self, section, orientation, role=Qt.DisplayRole):
     """
     Public method to get the header data.
     
     @param section section number (integer)
     @param orientation header orientation (Qt.Orientation)
     @param role data role (integer)
     @return header data
     """
     if orientation == Qt.Horizontal and role == Qt.DisplayRole:
         try:
             return self.__headers[section]
         except IndexError:
             pass
     return QAbstractItemModel.headerData(self, section, orientation, role)
Esempio n. 44
0
    def flags(self, index):
        # FIXME when dragging folders, sometimes flags is not called

        flags = QAbstractItemModel.flags(self, index) | Qt.ItemIsEditable

        if index.isValid() and index.internalPointer().isFolder() and index.column() == 0:
            flags |= Qt.ItemIsDragEnabled | Qt.ItemIsDropEnabled

        elif index.isValid() and index.column() == 0:
            flags |= Qt.ItemIsDragEnabled

        elif not index.isValid():
            flags |= Qt.ItemIsDropEnabled

        if index.isValid() and index.column() == Outline.compile.value:
            flags |= Qt.ItemIsUserCheckable

        if index.column() in [i.value for i in [Outline.wordCount, Outline.goalPercentage]]:
            flags &= ~ Qt.ItemIsEditable

        return flags
Esempio n. 45
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)

        # CharacterItems are stored in this list
        self.characters = []
Esempio n. 46
0
 def __init__(self, *args, **kwargs):
     QAbstractItemModel.__init__(self, *args, **kwargs)
     self._rootIndex = QModelIndex()
     self._artists = SortedDict()
Esempio n. 47
0
 def flags(self, index):
     if index.parent().isValid():
         return QAbstractItemModel.flags(self, index) | Qt.ItemIsEditable
     else:
         return QAbstractItemModel.flags(self, index)
Esempio n. 48
0
 def __init__(self):
     QAbstractItemModel.__init__(self)
     self.completer = None
Esempio n. 49
0
    def __init__(self, wordSet):
        QAbstractItemModel.__init__(self)

        self._wordSet = wordSet
Esempio n. 50
0
 def reset(self):
     self.rootNodes = self._getRootNodes()
     QAbstractItemModel.reset(self)
Esempio n. 51
0
 def setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex):
     model.setData(index, editor.currentText(), Qt.EditRole)
Esempio n. 52
0
    def flags(self, index):
        flags = QAbstractItemModel.flags(self, index)
        if not self.completer.isSelectable(index.row(), index.column()):
            flags = flags & ~Qt.ItemIsEnabled

        return flags
Esempio n. 53
0
 def __init__(self, data):
     QAbstractItemModel.__init__(self)
     self.__data = data
Esempio n. 54
0
 def setModelData(self, editor: QCheckBox, model: QAbstractItemModel, index: QModelIndex):
     model.setData(index, editor.isChecked(), Qt.EditRole)
Esempio n. 55
0
 def __init__(self, project_finder):
     QAbstractItemModel.__init__(self)
     self.project_finder = project_finder
     self.project_finder.fileChanged.connect(self.fileChanged)
Esempio n. 56
0
 def __init__(self, manager):
     QAbstractItemModel.__init__(self, manager)
     self._manager = manager
     self._indexCache = {}