Ignore:
Timestamp:
01/09/12 09:43:14 (2 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
901d8d06f7f60f497b2e1471e2c43b2d78a94358
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Unsupervised/OWNxExplorer.py

    r9516 r9518  
    4949                           ("Network", Orange.network.Graph, self.set_graph, Default), 
    5050                           ("Items", Orange.data.Table, self.set_items), 
    51                            ("Items to Mark", Orange.data.Table, self.mark_items),  
    52                            ("Items Subset", Orange.data.Table, self.set_feature_subset),  
     51                           ("Items Subset", Orange.data.Table, self.mark_items),  
    5352                           ("Items Distance Matrix", Orange.core.SymMatrix, self.set_items_distance_matrix)] 
    5453             
     
    500499                    var = str(self.markInputCombo.currentText()) 
    501500                    if self.markInputItems is not None and len(self.markInputItems) > 0: 
    502                         values = [str(x[var]).strip().upper() for x in self.markInputItems] 
    503                         tomark = dict((x, True) for x in self.graph.nodes() if str(self.graph_base.items()[x][var]).strip().upper() in values) 
     501                        if var == 'ID': 
     502                            values = [x.id for x in self.markInputItems] 
     503                            tomark = dict((x, True) for x in self.graph.nodes() if self.graph_base.items()[x].id in values) 
     504                        else: 
     505                            values = [str(x[var]).strip().upper() for x in self.markInputItems] 
     506                            tomark = dict((x, True) for x in self.graph.nodes() if str(self.graph_base.items()[x][var]).strip().upper() in values) 
    504507                        self.networkCanvas.networkCurve.clear_node_marks() 
    505508                        self.networkCanvas.networkCurve.set_node_marks(tomark) 
     
    869872            self.information() 
    870873             
    871             if self.graph is None or items is None: 
     874            if items is None: 
     875                return 
     876             
     877            if self.graph is None: 
    872878                self.warning('No graph found!') 
    873879                return 
     
    895901            self.information() 
    896902             
     903            if items is None: 
     904                return 
     905             
    897906            if self.graph is None or self.graph_base.items() is None or items is None: 
    898907                self.warning('No graph found or no items attached to the graph.') 
     
    904913                commonVars = set(lstNewDomain) & set(lstOrgDomain) 
    905914     
     915                self.markInputCombo.addItem(self.icons[Orange.data.Type.Discrete], unicode("ID")) 
     916                 
    906917                if len(commonVars) > 0: 
    907918                    for var in commonVars: 
     
    911922                        if orgVar.varType == mrkVar.varType and orgVar.varType == Orange.data.Type.String: 
    912923                            self.markInputCombo.addItem(self.icons[orgVar.varType], unicode(orgVar.name)) 
    913                             self.markInputRadioButton.setEnabled(True) 
    914                      
    915                             self.set_mark_mode(9) 
     924                 
     925                self.markInputRadioButton.setEnabled(True) 
     926                self.set_mark_mode(9) 
    916927                   
    917         def set_feature_subset(self, subset): 
    918             print "TODO: not yet implemented" 
    919             if self.graph is None: 
    920                 return 
    921              
    922             self.warning('') 
    923             hiddenNodes = [] 
    924              
    925             if subset is not None: 
    926                 try: 
    927                     expected = 1 
    928                     for row in subset: 
    929                         index = int(row['index'].value) 
    930                         if expected != index: 
    931                             hiddenNodes += range(expected-1, index-1) 
    932                             expected = index + 1 
    933                         else: 
    934                             expected += 1 
    935                              
    936                     hiddenNodes += range(expected-1, self.graph.number_of_nodes()) 
    937                      
    938                     self.networkCanvas.setHiddenNodes(hiddenNodes) 
    939                 except: 
    940                     self.warning('"index" attribute does not exist in "items" table.') 
    941                         
    942928        ####################################################################### 
    943929        ### Layout Optimization                                             ### 
Note: See TracChangeset for help on using the changeset viewer.