コード例 #1
0
    def __init__(self, glue, hierarchyLink=False, *args, **kargs):
        """:Parameters:
            - `glue`: glue object owning this

        pass glue object and let it key nodeItems to leo nodes
        """
        self.glue = glue
        QtWidgets.QGraphicsItemGroup.__init__(self)
        self.line = QtWidgets.QGraphicsLineItem(*args)

        pen = QtGui.QPen()

        self.line.setZValue(0)
        if not hierarchyLink:
            self.setZValue(1)
            pen.setWidth(2)
        else:
            self.setZValue(0)
            pen.setColor(QtGui.QColor(240, 240, 240))
            pen.setWidth(2)  # (0.5)

        self.line.setPen(pen)
        self.addToGroup(self.line)

        self.head = QtWidgets.QGraphicsPolygonItem()

        if hierarchyLink:
            self.head.setBrush(QtGui.QBrush(QtGui.QColor(180, 180, 180)))
        else:
            self.head.setBrush(QtGui.QBrush(QtGui.QColor(0, 0, 0)))

        self.head.setPen(QtGui.QPen(QtConst.NoPen))
        self.addToGroup(self.head)
コード例 #2
0
ファイル: graphcanvas.py プロジェクト: wrapperband/leo-editor
    def __init__(self, glue, hierarchyLink=False, *args, **kargs):
        """:Parameters:
            - `glue`: glue object owning this

        pass glue object and let it key nodeItems to leo nodes
        """
        # pylint: disable=keyword-arg-before-vararg
        # putting *args first is invalid in Python 2.x.
        self.glue = glue
        super().__init__()
        self.line = QtWidgets.QGraphicsLineItem(*args)

        pen = QtGui.QPen()

        self.line.setZValue(0)
        if not hierarchyLink:
            self.setZValue(1)
            pen.setWidth(2)
        else:
            self.setZValue(0)
            pen.setColor(QtGui.QColor(240, 240, 240))
            pen.setWidth(2)  # (0.5)

        self.line.setPen(pen)
        self.addToGroup(self.line)

        self.head = QtWidgets.QGraphicsPolygonItem()

        if hierarchyLink:
            self.head.setBrush(QtGui.QBrush(QtGui.QColor(180, 180, 180)))
        else:
            self.head.setBrush(QtGui.QBrush(QtGui.QColor(0, 0, 0)))

        self.head.setPen(QtGui.QPen(QtConst.NoPen))
        self.addToGroup(self.head)
コード例 #3
0
ファイル: graphcanvas.py プロジェクト: ATikhonov2/leo-editor
    def __init__(self, c):

        self.c = c
        self.c.graphcanvasController = self
        self.selectPen = QtGui.QPen(QtGui.QColor(255, 0, 0))
        self.selectPen.setWidth(2)
        self.ui = graphcanvasUI(self)
        g.registerHandler('headkey2', lambda a, b: self.do_update())
        g.registerHandler("select2", self.onSelect2)
        # g.registerHandler('open2', self.loadLinks)
        # already missed initial 'open2' because of after-create-leo-frame, so
        # self.loadLinksInt()
        self.initIvars()
        self.reloadSettings()
コード例 #4
0
    def __init__(self, c):

        self.c = c

        self.graph_manual_layout = c.config.getBool('graph-manual-layout',
                                                    default=False)

        self.c.graphcanvasController = self

        self.selectPen = QtGui.QPen(QtGui.QColor(255, 0, 0))
        self.selectPen.setWidth(2)

        self.ui = graphcanvasUI(self)

        g.registerHandler('headkey2', lambda a, b: self.do_update())
        g.registerHandler("select2", self.onSelect2)

        self.initIvars()
コード例 #5
0
ファイル: graphcanvas.py プロジェクト: thhonigm/leo-editor
    def releaseNode(self, nodeItem, event=None):
        """nodeItem is telling us it has a new position"""

        if self.lastNodeItem == nodeItem:
            return

        #X node = self.node[nodeItem]
        #X node.u['_bklnk']['x'] = nodeItem.x()
        #X node.u['_bklnk']['y'] = nodeItem.y()

        # text only node needs pen used to indicate selection removed
        lastNode = self.lastNodeItem
        if (lastNode and
            not isinstance(lastNode, nodeNone) and
            not isinstance(lastNode, nodeImage)
        ):
            lastNode.bg.setPen(QtGui.QPen(QtConst.NoPen))

        if  (not isinstance(nodeItem, nodeNone) and
             not isinstance(nodeItem, nodeImage)
        ):
            nodeItem.bg.setPen(self.selectPen)

        oldItem = self.lastNodeItem
        self.lastNodeItem = nodeItem  # needed for self.goto()

        if event and self.ui.UI.chkTrack.isChecked():
            # event is none if this is an internal call
            self.goto()

        blc = getattr(self.c, 'backlinkController')

        if not blc:
            return

        if event and event.modifiers() & QtConst.ShiftModifier:
            links = blc.linksFrom(self.node[oldItem])
            if self.node[nodeItem] not in links:
                blc.vlink(self.node[oldItem], self.node[nodeItem])
                # blc will call our do_update(), so in retaliation...
                blc.updateTabInt()
コード例 #6
0
    def __init__(self, *args, **kargs):
        nodeBase.__init__(self, *args, **kargs)

        self.text = self.text_item()
        # .text must be first for nodeComment, see its bg_item()
        self.bg = self.bg_item()
        if g.app.config.getBool("color_theme_is_dark"):
            bgcolor = QtGui.QColor(30, 50, 30)
        else:
            bgcolor = QtGui.QColor(200, 240, 200)
        self.bg.setBrush(QtGui.QBrush(bgcolor))

        self.setZValue(20)
        self.bg.setZValue(10)
        self.text.setZValue(15)
        self.bg.setPen(QtGui.QPen(QtConst.NoPen))

        self.text.setPos(QtCore.QPointF(0, self.iconVPos))
        self.addToGroup(self.text)

        self.bg.setPos(QtCore.QPointF(0, self.iconVPos))
        self.addToGroup(self.bg)