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)
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)
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()
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()
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()
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)