示例#1
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,
        }
示例#2
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]]
 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
示例#4
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 = []
示例#5
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,
        }
示例#6
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)
示例#7
0
    def __init__(self, parent):
        """Constructor of SearchResultsModel class
        """
        QAbstractItemModel.__init__(self, parent)
        self._replaceMode = False

        self.fileResults = []  # list of FileResults
示例#8
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
示例#9
0
 def __init__(self, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self.root = Node('')
     self.selectedNode = None
     self.languageFilter = None
     self.videoResultsBackup = []
     self.moviesResultsBackup = None
示例#10
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 = []
示例#11
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
示例#12
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)
示例#13
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
示例#14
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
示例#15
0
    def __init__(self, *args, **kwargs):
        QAbstractItemModel.__init__(self, *args, **kwargs)

        self._root = scriptTreeNode(None)

        self._data = []

        self.refresh()
 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()
示例#17
0
 def __init__(self,
              unknown_text,
              unknown_visible,
              legal_languages,
              parent=None):
     QAbstractItemModel.__init__(self, parent)
     self._unknown_text = unknown_text
     self._unknown_visible = unknown_visible
     self._languages = [UnknownLanguage.create_generic()
                        ] if unknown_visible else []
     self._languages += sorted(legal_languages, key=lambda x: x.name())
示例#18
0
 def __init__(self, di, prefix, sortcus, sortdies):
     QAbstractItemModel.__init__(self)
     self.prefix = prefix
     self.top_dies = [
         decorate_die(CU.get_top_DIE(), i) for (i, CU) in enumerate(di._CUs)
     ]
     self.highlight_condition = None
     fi = QFontInfo(QApplication.font())
     self.bold_font = QFont(fi.family(), fi.pointSize(), QFont.Bold)
     self.blue_brush = QBrush(Qt.GlobalColor.blue)
     self.sortcus = sortcus
     self.sortdies = sortdies
示例#19
0
 def __init__(self, cameca_files, dark_mode=True, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self.collection = cameca_files
     self.dark_mode = dark_mode
     # alpha/transparency for curves when not highlighted
     self.global_alpha = 200
     # this flag is used for tristate check behaviour
     # to prevent children<->parent loops:
     self.parent_selects_children_flag = False
     # That is for custom node with calculated WDS spectra
     self.last_item_is_custom = False
     self.spec_xtal_selection_model = None
示例#20
0
文件: model.py 项目: mlilien/sloth
    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)
示例#21
0
文件: model.py 项目: iluxave/sloth
    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)
示例#22
0
文件: dock.py 项目: 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)
示例#23
0
 def __init__(self, parent, columns: List[TableModelColumn],
              columns_movable, filtering_sorting):
     AttrsProtected.__init__(self)
     QAbstractItemModel.__init__(self, parent)
     self.parent_widget = parent
     self._columns = columns
     self._col_idx_by_name: Dict[str, int] = {}
     self._rebuild_column_index()
     self.view: Optional[QAbstractItemView] = None
     self.columns_movable = columns_movable
     self.initial_sorting_column_name = ''
     self.initial_sorting_order = Qt.AscendingOrder
     self.proxy_model: Optional[ColumnedSortFilterProxyModel] = None
     self.data_lock = thread_utils.EnhRLock()
     if filtering_sorting:
         self.enable_filter_proxy_model(self)
示例#24
0
    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
                assert slot.subindex, f"BUG: Excpected nested slot {slot}"
                laneIndex = slot.subindex[0]
                # 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)
示例#25
0
    def __init__(self, parent=None, *args, **kwargs):
        """
        Constructor of the class.
        """
        QAbstractItemModel.__init__(self)
        self.parent = parent

        # Initialize arrays
        self.dataArray = np.array([[]])
        self.indexArray = np.array([[]])
        self.formulaArray = np.array([[]])
        self.headerArray = None

        # class variables
        self.numColumns = 0
        self.numRows = 0
        self.suppress_column_names = True

        return
    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 )
示例#27
0
    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)
    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 )
示例#29
0
 def __init__(self, *args, **kwargs):
     QAbstractItemModel.__init__(self, *args, **kwargs)
     self._rootIndex = QModelIndex()
     self._artists = SortedDict()
示例#30
0
 def __init__(self, query):
     QAbstractItemModel.__init__(self)
     self._root = ImageViewNode(None)
     self.setQuery(query)
示例#31
0
文件: locator.py 项目: bjones1/enki
 def __init__(self):
     QAbstractItemModel.__init__(self)
     self.completer = None
示例#32
0
 def __init__(self, parent=None):
     QAbstractItemModel.__init__(self, parent)
     self._all_root = Node(data=None, parent=None)
     self._root = Node(data=None, parent=None)
     self._language_filter = []
示例#33
0
 def __init__(self, data):
     QAbstractItemModel.__init__(self)
     self.__data = data
示例#34
0
 def __init__(self, root, dmodel):
     QAbstractItemModel.__init__(self)
     self.root = root
     self.connectGroup(root)
     self.dmodel = dmodel
     self.dmodel.filterModelChange.connect(self.setRoot)
示例#35
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)

        # CharacterItems are stored in this list
        self.characters = []
示例#36
0
 def __init__(self, data):
     QAbstractItemModel.__init__(self)
     self.__data = data
示例#37
0
    def __init__(self, parent):
        QAbstractItemModel.__init__(self, parent)

        # CharacterItems are stored in this list
        self.characters = []
示例#38
0
 def __init__(self, project_finder):
     QAbstractItemModel.__init__(self)
     self.project_finder = project_finder
     self.project_finder.fileChanged.connect(self.fileChanged)
示例#39
0
 def __init__(self, db):
     QAbstractItemModel.__init__(self)
     self._root = TagViewNode(None)
     self.db = db
     self.reloadTags()
示例#40
0
 def __init__(self):
     QAbstractItemModel.__init__(self)
     self.completer = None
示例#41
0
 def __init__(self, project_finder):
     QAbstractItemModel.__init__(self)
     self.project_finder = project_finder
     self.project_finder.fileChanged.connect(self.fileChanged)
示例#42
0
 def __init__(self, nodes):
     QAbstractItemModel.__init__(self)
     self._root = NavigationNode(None)
     for node in nodes:
         self._root.addChild(node)
示例#43
0
 def __init__(self, manager):
     QAbstractItemModel.__init__(self, manager)
     self._manager = manager
     self._indexCache = {}
示例#44
0
    def __init__(self, wordSet):
        QAbstractItemModel.__init__(self)

        self._wordSet = wordSet