Пример #1
0
    def __init__(self,
                 sourceInterface=None,
                 additionalInterfaces=[],
                 parent=None):
        super(JinxDataSource, self).__init__(parent)
        self._model = None
        self._needToRefresh = True
        self._sortableTypes = [
            common.TYPE_STRING_SINGLELINE, common.TYPE_DATE,
            common.TYPE_DATE_TIME, common.TYPE_FLOAT, common.TYPE_INTEGER,
            common.TYPE_UNSIGNED_INTEGER
        ]
        self._allInterfaces = []
        self._totalCount = -1
        self._filter = mongorm.getFilter()
        self._interface = sourceInterface
        self._additionalInterfaces = additionalInterfaces
        self._allInterfaces.extend(self._additionalInterfaces)
        self._allInterfaces.append(self._interface)

        self._columnHeaderMap = self._generateHeaderMap()
        self._columnList = filter(self._columnHeaderMap.get,
                                  self.COLUMN_HEADER_ORDER)
        for columnCode in sorted(self._columnHeaderMap.keys()):
            if columnCode not in self.COLUMN_HEADER_ORDER:
                self._columnList.append(columnCode)

        if not self._columnList:
            self._columnList = self._columnHeaderMap.keys()

        self._headerItem = self._createHeaderItem(self._columnList)
Пример #2
0
    def parent(self):
        super(Leaf, self).parent()
        db = mongorm.getHandler()
        filt = mongorm.getFilter()
        filt.search(db['stalk'], uuid=self.stalk_uuid)
        stalk = db['stalk'].one(filt)

        return stalk
Пример #3
0
    def parent(self):
        super(Stalk, self).parent()
        db = mongorm.getHandler()
        filt = mongorm.getFilter()
        filt.search(db['twig'], uuid=self.twig_uuid)
        stem = db['twig'].one(filt)

        return stem
Пример #4
0
    def parent(self):
        super(Twig, self).parent()
        db = mongorm.getHandler()
        filt = mongorm.getFilter()
        filt.search(db['stem'], uuid=self.stem_uuid)
        stem = db['stem'].one(filt)

        return stem
Пример #5
0
    def parent(self, interfaceType):
        super(Stem, self).parent()
        db = mongorm.getHandler()
        filt = mongorm.getFilter()
        filt.search(db[interfaceType], uuid=self.parent_uuid)
        job = db[interfaceType].one(filt)

        return job
Пример #6
0
 def children(self, interfaceType):
     super(Job, self).children()
     db = mongorm.getHandler()
     filt = mongorm.getFilter()
     filt.search(db["stem"], job=self.job)
     stems = db["stem"].all(filt)
     if stems.hasObjects():
         return stems
     else:
         return None
Пример #7
0
 def children(self, interfaceType):
     super(Stem, self).children()
     db = mongorm.getHandler()
     filt = mongorm.getFilter()
     filt.setInterface(db[interfaceType])
     filt.overrideFilterStrings({"stem_uuid": self.uuid} if interfaceType ==
                                "twig" else {"parent_uuid": self.uuid})
     twigs = db[interfaceType].all(filt)
     if twigs.hasObjects():
         return twigs
     else:
         return None
Пример #8
0
 def siblings(self, includeSelf=False):
     db = mongorm.getHandler()
     filt = mongorm.getFilter()
     filt.search(db['job'])
     siblings = db['job'].all(filt)
     if not siblings.size() < 2:
         if includeSelf:
             return siblings
         else:
             siblings.remove_object(self)
             return siblings
     else:
         return None
Пример #9
0
 def siblings(self, includeSelf=True):
     db = mongorm.getHandler()
     filt = mongorm.getFilter()
     filt.search(db['leaf'], stalk_uuid=self.stalk_uuid)
     siblings = db['leaf'].all(filt)
     if not siblings.size() < 2:
         if includeSelf:
             return siblings
         else:
             siblings.remove_object(self)
             return siblings
     else:
         return None
Пример #10
0
 def children(self):
     """
     Returns all leaf objects associated with this (self) stalk.
     """
     super(Stalk, self).children()
     db = mongorm.getHandler()
     filt = mongorm.getFilter()
     filt.search(db['leaf'], stalk_uuid=self.uuid)
     leafs = db['leaf'].all(filt)
     if leafs.hasObjects():
         return leafs
     else:
         return None
Пример #11
0
 def children(self):
     """
     Returns all stalk versions associated with this (self) twig.
     """
     super(Twig, self).children()
     db = mongorm.getHandler()
     filt = mongorm.getFilter()
     filt.search(db['stalk'], twig_uuid=self.uuid)
     stalks = db['stalk'].all(filt)
     if stalks.hasObjects():
         return stalks
     else:
         return None
Пример #12
0
                self, None)
            gridColor = QtGui.QColor.fromRgb(gridHint & 0xffffffff)
            painter.setPen(QtGui.QPen(gridColor, 0, QtCore.Qt.SolidLine))
            painter.drawLine(rect.left(), rect.bottom(), rect.right(),
                             rect.bottom())
            painter.restore()


if __name__ == '__main__':
    import sys
    import qdarkstyle
    from jinxqt.modelview.datasource.interfaces.twig import TwigDataSource
    import mongorm
    db = mongorm.getHandler()
    app = QtWidgets.QApplication(sys.argv)
    app.setStyleSheet(qdarkstyle.load_stylesheet_pyside2())
    win = TreeView()
    model = Model()
    handler = mongorm.getHandler()
    filter = mongorm.getFilter()
    datasource = TwigDataSource(handler)
    datasource._filter.search(datasource._interface)
    model.setDataSource(datasource)
    win.setModel(model)

    win.header().moveSection(0, 1)
    win.header().setFirstSectionMovable(True)

    win._resizeAllColumnsToContents()
    win.show()
    sys.exit(app.exec_())