Changeset 8515:db22ae60d0c5 in orange


Ignore:
Timestamp:
07/28/11 15:31:37 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
6b3b339de0dd67d3477e2f70dfb05abbe994fb59
Message:
 
Location:
orange/OrangeWidgets/Prototypes
Files:
2 edited

Legend:

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

    r8513 r8515  
    194194        self.master = master 
    195195        self.parent = parent 
    196         self.label_attributes = [] 
    197         self.tooltipText = [] 
    198196        #self.vertices_old = {}         # distionary of nodes (orngIndex: vertex_objekt) 
    199197        #self.edges_old = {}            # distionary of edges (curveKey: edge_objekt) 
     
    511509             
    512510            mkey = self.addMarker(lbl, float(x1), float(y1), alignment=Qt.AlignCenter, size=self.fontSize) 
    513      
    514     def drawToolTips(self): 
    515       # add ToolTips 
    516       self.tooltipData = [] 
    517       self.tooltipKeys = {} 
    518       self.tips.removeAll() 
    519       if len(self.tooltipText) > 0: 
    520         for vertex in self.networkCurve.vertices.itervalues(): 
    521           if not vertex.show: 
    522             continue 
    523511           
    524           x1 = self.networkCurve.coors[vertex.index][0] 
    525           y1 = self.networkCurve.coors[vertex.index][1] 
    526           lbl = "" 
    527           values = self.items[vertex.index] 
    528           for ndx in self.tooltipText: 
    529               if not ndx in self.items.domain: 
    530                   continue 
    531                
    532               value = str(values[ndx]) 
    533               # wrap text 
    534               i = 0 
    535               while i < len(value) / 100: 
    536                   value = value[:((i + 1) * 100) + i] + "\n" + value[((i + 1) * 100) + i:] 
    537                   i += 1 
    538                    
    539               lbl = lbl + str(value) + "\n" 
    540      
    541           if lbl != '': 
    542             lbl = lbl[:-1] 
    543             self.tips.addToolTip(x1, y1, lbl) 
    544             self.tooltipKeys[vertex.index] = len(self.tips.texts) - 1 
    545                     
    546     def drawLabels(self): 
    547         if len(self.label_attributes) > 0: 
    548             for vertex in self.networkCurve.vertices.itervalues(): 
    549                 if not vertex.show: 
    550                     continue 
    551                  
    552                 if self.labelsOnMarkedOnly and not (vertex.marked): 
    553                     continue 
    554                                    
    555                 x1 = self.networkCurve.coors[vertex.index][0] 
    556                 y1 = self.networkCurve.coors[vertex.index][1] 
    557                 lbl = "" 
    558                 values = self.items[vertex.index] 
    559                 if self.showMissingValues: 
    560                     lbl = ", ".join([str(values[ndx]) for ndx in self.label_attributes]) 
    561                 else: 
    562                     lbl = ", ".join([str(values[ndx]) for ndx in self.label_attributes if str(values[ndx]) != '?']) 
    563                 #if not self.showMissingValues and lbl == '': 
    564                 #    continue  
    565                  
    566                 if lbl: 
    567                     vertex.label = lbl 
    568                     mkey = self.addMarker(lbl, float(x1), float(y1), alignment=Qt.AlignBottom, size=self.fontSize) 
    569                     self.markerKeys[vertex.index] = mkey     
    570                       
    571512    def drawIndexes(self): 
    572513        if self.showIndexes: 
     
    700641         
    701642    def set_label_attributes(self, attributes): 
    702         self.label_attributes = [] 
    703643        if self.graph is None or self.items is None or \ 
    704644           not isinstance(self.items, orange.ExampleTable): 
    705645            return 
    706646         
    707         self.label_attributes = [self.items.domain[att] for att in \ 
     647        label_attributes = [self.items.domain[att] for att in \ 
    708648                                 attributes if att in self.items.domain] 
    709         self.networkCurve.set_node_labels(dict((node, '\n'.join(str( \ 
    710                     self.items[node][att]) for att in self.label_attributes)) \ 
    711                                                         for node in self.graph))     
    712         self.replot() 
    713          
    714     def setTooltipText(self, attributes): 
    715         self.tooltipText = [] 
    716         if self.layout is None or self.graph is None or self.items is None: 
    717             return 
    718          
    719         if isinstance(self.items, orange.ExampleTable): 
    720             data = self.items 
    721             for att in attributes: 
    722                 for i in range(len(data.domain)): 
    723                     if data.domain[i].name == att: 
    724                         self.tooltipText.append(i) 
    725                          
    726                 if self.items.domain.hasmeta(att): 
    727                         self.tooltipText.append(self.items.domain.metaid(att)) 
     649        self.networkCurve.set_node_labels(dict((node, ', '.join(str( \ 
     650                    self.items[node][att]) for att in label_attributes)) \ 
     651                                                        for node in self.graph)) 
     652         
     653    def set_tooltip_attributes(self, attributes): 
     654        if self.graph is None or self.items is None or \ 
     655           not isinstance(self.items, orange.ExampleTable): 
     656            return 
     657         
     658        tooltip_attributes = [self.items.domain[att] for att in \ 
     659                                 attributes if att in self.items.domain] 
     660        self.networkCurve.set_node_tooltips(dict((node, ', '.join(str( \ 
     661                   self.items[node][att]) for att in tooltip_attributes)) \ 
     662                                                        for node in self.graph)) 
    728663                         
    729664    def setEdgeLabelText(self, attributes): 
  • orange/OrangeWidgets/Prototypes/OWNxExplorerQt.py

    r8513 r8515  
    16831683            return 
    16841684         
    1685         self.lastLabelColumns = set([self.attributes[i][0] for i in self.markerAttributes]) 
     1685        self.lastLabelColumns = [self.attributes[i][0] for i in self.markerAttributes] 
    16861686        self.networkCanvas.set_label_attributes(self.lastLabelColumns) 
    1687         self.networkCanvas.updateData() 
    16881687        self.networkCanvas.replot() 
    16891688   
     
    16921691            return 
    16931692         
    1694         self.lastTooltipColumns = set([self.attributes[i][0] for i in self.tooltipAttributes]) 
    1695         self.networkCanvas.setTooltipText(self.lastTooltipColumns) 
    1696         self.networkCanvas.updateData() 
     1693        self.lastTooltipColumns = [self.attributes[i][0] for i in self.tooltipAttributes] 
     1694        self.networkCanvas.set_tooltip_attributes(self.lastTooltipColumns) 
    16971695        self.networkCanvas.replot() 
    16981696         
Note: See TracChangeset for help on using the changeset viewer.