def addLink(self, outWidget, inWidget, outSignalName, inSignalName, enabled=1, lineType=None): existingSignals = False if not existingSignals: line = orngCanvasItems.CanvasLine(self.canvasDlg, self.canvasView, outWidget, inWidget, self.canvas, lineType) self.lines.append(line) line.show() outWidget.addOutLine(line) outWidget.updateTooltip() inWidget.addInLine(line) inWidget.updateTooltip() else: line = self.getLine(outWidget, inWidget) orngHistory.logAddLink(self.schemaID, outWidget, inWidget, outSignalName) line.updateTooltip() line.update() return 1
def addLink(self, outWidget, inWidget, outSignalName, inSignalName, enabled=1, saveTempDoc=True): #print "<extra>orngDoc - addLink() - ", outWidget, inWidget, outSignalName, inSignalName # in case there already exists link to inSignalName in inWidget that is single, we first delete it widgetInstance = inWidget.instance.removeExistingSingleLink( inSignalName) if widgetInstance: widget = self.findWidgetFromInstance(widgetInstance) existingSignals = self.signalManager.findSignals( widgetInstance, inWidget.instance) for (outN, inN) in existingSignals: if inN == inSignalName: self.removeLink(widget, inWidget, outN, inN) line = self.getLine(widget, inWidget) if line: line.updateTooltip() # if line does not exist yet, we must create it existingSignals = self.signalManager.findSignals( outWidget.instance, inWidget.instance) if not existingSignals: line = orngCanvasItems.CanvasLine(self.signalManager, self.canvasDlg, self.canvasView, outWidget, inWidget, self.canvas) self.lines.append(line) line.show() outWidget.addOutLine(line) outWidget.updateTooltip() inWidget.addInLine(line) inWidget.updateTooltip() else: line = self.getLine(outWidget, inWidget) ok = self.signalManager.addLink(outWidget.instance, inWidget.instance, outSignalName, inSignalName, enabled) if not ok: self.removeLink(outWidget, inWidget, outSignalName, inSignalName) QMessageBox.warning( None, "Orange Canvas", "Unable to add link. Try restarting Orange Canvas.", QMessageBox.Ok + QMessageBox.Default, 0) return 0 else: orngHistory.logAddLink(self.schemaID, outWidget, inWidget, outSignalName) line.updateTooltip() line.update() return 1
def addLink(self, outWidget, inWidget, outSignalName, inSignalName, enabled=1, saveTempDoc=True): # print "<extra>orngDoc - addLink() - ", outWidget, inWidget, outSignalName, inSignalName # in case there already exists link to inSignalName in inWidget that is single, we first delete it widgetInstance = inWidget.instance.removeExistingSingleLink(inSignalName) if widgetInstance: widget = self.findWidgetFromInstance(widgetInstance) existingSignals = self.signalManager.findSignals(widgetInstance, inWidget.instance) for (outN, inN) in existingSignals: if inN == inSignalName: self.removeLink(widget, inWidget, outN, inN) line = self.getLine(widget, inWidget) if line: line.updateTooltip() # if line does not exist yet, we must create it existingSignals = self.signalManager.findSignals(outWidget.instance, inWidget.instance) if not existingSignals: line = orngCanvasItems.CanvasLine( self.signalManager, self.canvasDlg, self.canvasView, outWidget, inWidget, self.canvas ) self.lines.append(line) line.show() outWidget.addOutLine(line) outWidget.updateTooltip() inWidget.addInLine(line) inWidget.updateTooltip() else: line = self.getLine(outWidget, inWidget) ok = self.signalManager.addLink(outWidget.instance, inWidget.instance, outSignalName, inSignalName, enabled) if not ok: self.removeLink(outWidget, inWidget, outSignalName, inSignalName) QMessageBox.warning( None, "Orange Canvas", "Unable to add link. Try restarting Orange Canvas.", QMessageBox.Ok + QMessageBox.Default, 0, ) return 0 else: orngHistory.logAddLink(self.schemaID, outWidget, inWidget, outSignalName) line.updateTooltip() line.update() return 1