Changeset 8465:a744329fe710 in orange


Ignore:
Timestamp:
07/26/11 10:55:39 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
902b8d619e7a1da3f78d1dec6540a7872c8a66e0
Message:

set node color

Location:
orange/OrangeWidgets/Prototypes
Files:
2 edited

Legend:

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

    r8450 r8465  
    4848    self.update_properties() 
    4949    return selected 
    50    
    51   def set_node_color(self, v, color): 
    52       pen = self.vertices[v].pen 
    53       self.vertices[v].color = color 
    54       self.vertices[v].pen = QPen(color, pen.width()) 
    55  
    56   def set_nodes_color(self, vertices, color): 
    57       for v in vertices: 
    58           v.color = color 
    59           v.pen = QPen(color, v.pen.width()) 
    6050       
    6151  def set_edge_color(self, index, color, nocolor=0): 
     
    981971     
    982972    def set_node_color(self, attribute, nodes=None): 
    983 #        if self.graph is None: 
    984 #            return 
    985 #         
    986 #        if nodes is None: 
    987 #            nodes = self.networkCurve.vertices.itervalues() 
    988 #        else: 
    989 #            nodes = (self.networkCurve.vertices[nodes] for node in nodes)  
    990 #             
    991 #        colorIndices, colorIndex, minValue, maxValue = self.getColorIndeces(self.items, attribute, self.discPalette) 
    992 #     
    993 #        if colorIndex is not None and self.items.domain[colorIndex].varType == orange.VarTypes.Continuous: 
    994 #            for vertex in nodes: 
    995 #                v = vertex.index 
    996 #                newColor = self.discPalette[0] 
    997 #                 
    998 #                if str(self.items[v][colorIndex]) != "?": 
    999 #                    if maxValue == minValue: 
    1000 #                        newColor = self.discPalette[0] 
    1001 #                    else: 
    1002 #                        value = (float(self.items[v][colorIndex].value) - minValue) / (maxValue - minValue) 
    1003 #                        newColor = self.contPalette[value] 
    1004 #                     
    1005 #                self.networkCurve.set_node_color(v, newColor) 
    1006 #                 
    1007 #        elif colorIndex is not None and self.items.domain[colorIndex].varType == orange.VarTypes.Discrete: 
    1008 #            for vertex in nodes: 
    1009 #                v = vertex.index 
    1010 #                newColor = self.discPalette[colorIndices[self.items[v][colorIndex].value]] 
    1011 #                self.networkCurve.set_node_color(v, newColor) 
    1012 #        else: 
    1013 #            self.networkCurve.set_nodes_color(nodes, self.discPalette[0]) 
    1014 #             
     973        if self.graph is None: 
     974            return 
     975 
     976        colorIndices, colorIndex, minValue, maxValue = self.getColorIndeces(self.items, attribute, self.discPalette) 
     977        colors = {} 
     978         
     979        if nodes is None: 
     980            nodes = self.graph.nodes() 
     981         
     982        if colorIndex is not None and self.items.domain[colorIndex].varType == orange.VarTypes.Continuous: 
     983            for v in nodes: 
     984                newColor = self.discPalette[0] 
     985                 
     986                if str(self.items[v][colorIndex]) != "?": 
     987                    if maxValue == minValue: 
     988                        newColor = self.discPalette[0] 
     989                    else: 
     990                        value = (float(self.items[v][colorIndex].value) - minValue) / (maxValue - minValue) 
     991                        newColor = self.contPalette[value] 
     992                     
     993                colors[v] = newColor 
     994                 
     995        elif colorIndex is not None and self.items.domain[colorIndex].varType == orange.VarTypes.Discrete: 
     996            for v in nodes: 
     997                newColor = self.discPalette[colorIndices[self.items[v][colorIndex].value]] 
     998                colors[v] = newColor 
     999        else: 
     1000            colors.update((node, self.discPalette[0]) for node in nodes) 
     1001         
     1002        self.networkCurve.set_node_color(colors) 
    10151003        self.replot() 
    10161004         
     
    11461134        #self.vertices_old = [(None, []) for v in self.graph] 
    11471135        vertices = dict((v, NodeItem(v, parent=self.networkCurve)) for v in self.graph) 
    1148         self.networkCurve.set_nodes(vertices) 
    1149                  
     1136         
    11501137        #build edge index 
    11511138        row_ind = {} 
     
    11861173             
    11871174        self.networkCurve.set_edges(edges) 
     1175        self.networkCurve.set_nodes(vertices) 
    11881176        self.networkCurve.update_properties() 
    11891177        self.replot() 
  • orange/OrangeWidgets/Prototypes/OWNxExplorerQt.py

    r8450 r8465  
    17861786        self.networkCanvas.set_node_color(self.colorCombo.currentText()) 
    17871787        self.lastColorColumn = self.colorCombo.currentText() 
    1788         self.networkCanvas.updateData() 
    1789         self.networkCanvas.replot() 
     1788        #self.networkCanvas.updateData() 
     1789        #self.networkCanvas.replot() 
    17901790         
    17911791    def setEdgeColor(self): 
Note: See TracChangeset for help on using the changeset viewer.