Ignore:
Timestamp:
11/13/12 18:08:32 (17 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Showing the dynamic link state in the canvas.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/canvas/items/linkitem.py

    r11181 r11182  
    2121        QGraphicsPathItem.__init__(self, parent) 
    2222        assert(isinstance(parent, LinkItem)) 
     23 
    2324        self.__canvasLink = parent 
    2425        self.setAcceptHoverEvents(True) 
     
    4748    def setHoverState(self, state): 
    4849        self.__hover = state 
     50        self.__update() 
     51 
     52    def setCurvePenSet(self, pen, hoverPen): 
     53        if pen is not None: 
     54            self.normalPen = pen 
     55        if hoverPen is not None: 
     56            self.hoverPen = hoverPen 
    4957        self.__update() 
    5058 
     
    130138        self.__sourceName = "" 
    131139        self.__sinkName = "" 
     140 
     141        self.__dynamic = False 
     142        self.__dynamicEnabled = False 
    132143 
    133144        self.hover = False 
     
    328339    def setEnabled(self, enabled): 
    329340        QGraphicsObject.setEnabled(self, enabled) 
     341 
     342    def setDynamicEnabled(self, enabled): 
     343        if self.__dynamicEnabled != enabled: 
     344            self.__dynamicEnabled = enabled 
     345            if self.__dynamic: 
     346                self.__updatePen() 
     347 
     348    def isDynamicEnabled(self): 
     349        return self.__dynamicEnabled 
     350 
     351    def setDynamic(self, dynamic): 
     352        if self.__dynamic != dynamic: 
     353            self.__dynamic = dynamic 
     354            self.__updatePen() 
     355 
     356    def isDynamic(self): 
     357        return self.__dynamic 
     358 
     359    def __updatePen(self): 
     360        if self.__dynamic: 
     361            if self.__dynamicEnabled: 
     362                color = QColor(0, 150, 0, 150) 
     363            else: 
     364                color = QColor(150, 0, 0, 150) 
     365 
     366            normal = QPen(QBrush(color), 2.0) 
     367            hover = QPen(QBrush(color.darker(120)), 2.1) 
     368        else: 
     369            normal = QPen(QBrush(QColor("#9CACB4")), 2.0) 
     370            hover = QPen(QBrush(QColor("#7D7D7D")), 2.1) 
     371 
     372        self.curveItem.setCurvePenSet(normal, hover) 
Note: See TracChangeset for help on using the changeset viewer.