Changeset 3841:e14a1877f5a0 in orange


Ignore:
Timestamp:
05/12/08 11:26:34 (6 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
7637edfb807639243c315b8651c936b496495813
Message:

added vertex color support

Location:
orange/OrangeWidgets/Prototypes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Prototypes/OWNetwork.py

    r3838 r3841  
    167167        #OWGUI.button(self.controlArea, self, "test replot", callback=self.testRefresh) 
    168168         
    169         ib = OWGUI.widgetBox(self.infoTab, "General", addSpace = False) 
     169        ib = OWGUI.widgetBox(self.infoTab, "General") 
    170170        OWGUI.label(ib, self, "Number of vertices: %(nVertices)i") 
    171171        OWGUI.label(ib, self, "Number of edges: %(nEdges)i") 
     
    182182        self.icons = self.createAttributeIconDict() 
    183183        self.setMarkMode() 
     184         
    184185        self.displayTab.layout().addStretch(1) 
    185186        self.markTab.layout().addStretch(1) 
     
    366367        self.attributes = [(var.name, var.varType) for var in vars] 
    367368 
    368 #        self.colorCombo.clear() 
    369 #        self.colorCombo.addItem("(one color)") 
    370 #        for var in vars: 
    371 #            if var.varType in [orange.VarTypes.Discrete, orange.VarTypes.Continuous]: 
    372 #                self.colorCombo.addItem(self.icons[var.varType], unicode(var.name)) 
     369        self.colorCombo.clear() 
     370        self.colorCombo.addItem("(one color)") 
     371        for var in vars: 
     372            if var.varType in [orange.VarTypes.Discrete, orange.VarTypes.Continuous]: 
     373                self.colorCombo.addItem(self.icons[var.varType], unicode(var.name)) 
    373374 
    374375        #print "OWNetwork/setGraph: add visualizer..." 
  • orange/OrangeWidgets/Prototypes/OWNetworkCanvas.py

    r3838 r3841  
    4343      QwtPlotCurve.__init__(self, "Network Curve") 
    4444 
    45       #if xData != None and yData != None: 
    46       #    self.setRawData(xData, yData) 
    47  
    48       #self.setData([0], [0]) 
    4945      self.coors = None 
    5046      self.vertices = [] 
    5147      self.edges = [] 
    5248      self.setItemAttribute(QwtPlotItem.Legend, 0) 
    53  
    54   def toPolar(self, x, y): 
    55       if x > 0 and y >= 0: 
    56           return math.atan(y/x) 
    57       elif x > 0 and y < 0: 
    58           return math.atan(y/x) + 2 * math.pi 
    59       elif x < 0: 
    60           return math.atan(y/x) + math.pi 
    61       elif x == 0 and y > 0: 
    62           return math.pi / 2 
    63       elif x == 0 and y < 0: 
    64           return math.pi * 3 / 2 
    65       else: 
    66           return None 
    6749       
    6850  def moveSelectedVertices(self, dx, dy): 
     
    7355       
    7456    self.setData(self.coors[0], self.coors[1]) 
     57   
     58  def setVertexColor(self, v, color): 
     59      self.vertices[v].color = color 
     60      self.vertices[v].pen = QPen(color, 1) 
    7561   
    7662  def getSelectedVertices(self): 
     
    162148      self.markerKeys = {}       # dictionary of type NodeNdx : markerCurveKey 
    163149      self.tooltipKeys = {}      # dictionary of type NodeNdx : tooltipCurveKey 
    164       self.colorIndex = -1 
    165150      self.visualizer = None 
    166151      self.selectedCurve = None 
     
    624609  def setVertexColor(self, attribute): 
    625610      if attribute == "(one color)": 
    626           self.colorIndex = -1 
     611          colorIndex = -1 
    627612      else: 
    628613          i = 0 
    629614          for var in self.visualizer.graph.items.domain.variables: 
    630615              if var.name == attribute: 
    631                   self.colorIndex = i 
     616                  colorIndex = i 
    632617                  if var.varType == orange.VarTypes.Discrete:  
    633                       self.colorIndices = getVariableValueIndices(self.visualizer.graph.items, self.colorIndex) 
     618                      colorIndices = getVariableValueIndices(self.visualizer.graph.items, colorIndex) 
     619                       
    634620              i += 1 
    635       pass 
     621       
     622      for v in range(self.nVertices): 
     623          if colorIndex > -1:     
     624              if self.visualizer.graph.items.domain[colorIndex].varType == orange.VarTypes.Continuous: 
     625                  newColor = self.contPalette[self.noJitteringScaledData[colorIndex][v]] 
     626                   
     627              elif self.visualizer.graph.items.domain[colorIndex].varType == orange.VarTypes.Discrete: 
     628                  newColor = self.discPalette[colorIndices[self.visualizer.graph.items[v][colorIndex].value]] 
     629                  self.networkCurve.setVertexColor(v, newColor) 
     630                   
     631          else: 
     632              self.networkCurve.setVertexColor(v, Qt.blue) 
     633       
     634      self.replot() 
    636635       
    637636  def setLabelText(self, attributes): 
     
    674673      self.nEdges = 0 
    675674      self.vertexDegree = [] 
    676       self.colorIndex = -1 
    677675       
    678676      #dodajanje vozlisc 
Note: See TracChangeset for help on using the changeset viewer.