Ignore:
Timestamp:
04/03/12 15:53:22 (2 years ago)
Author:
mstajdohar
Branch:
default
rebase_source:
0523fd6857017a4703b32b1631058cfa8d59147b
Message:

Fixed some bugs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeWidgets/Unsupervised/OWNxInsideView.py

    r9671 r10719  
    1616     
    1717    """ 
    18      
     18 
    1919    def __init__(self, nhops): 
    2020        Orange.network.NxView.__init__(self) 
    21          
     21 
    2222        self._nhops = nhops 
    2323        self._center_node = None 
    24          
     24 
    2525    def init_network(self, graph): 
    2626        self._network = graph 
    27          
     27 
    2828        if graph is None: 
    2929            return None 
    30          
    31         self._center_node = graph.nodes_iter().next() 
     30 
     31        selected = self._nx_explorer.networkCanvas.selected_nodes() 
     32        if selected is None or len(selected) <= 0: 
     33            self._center_node = graph.nodes_iter().next() 
     34        else: 
     35            self._center_node = selected[0] 
     36 
    3237        nodes = self._get_neighbors() 
    3338        return Orange.network.nx.Graph.subgraph(self._network, nodes) 
    34      
     39 
    3540    def update_network(self): 
    3641        nodes = self._get_neighbors() 
     
    3944        if self._nx_explorer is not None: 
    4045            self._nx_explorer.change_graph(subnet) 
    41          
     46 
    4247    def set_nhops(self, nhops): 
    4348        self._nhops = nhops 
    44          
     49 
    4550    def node_selection_changed(self): 
    4651        selection = self._nx_explorer.networkCanvas.selected_nodes() 
     
    4853            self._center_node = selection[0] 
    4954            self.update_network() 
    50          
     55 
    5156    def _get_neighbors(self): 
    5257        nodes = set([self._center_node]) 
     
    5762            nodes.update(neighbors) 
    5863        return nodes 
    59          
     64 
    6065class OWNxInsideView(OWWidget): 
    61      
     66 
    6267    settingsList = ['_nhops'] 
    63      
     68 
    6469    def __init__(self, parent=None, signalManager=None): 
    6570        OWWidget.__init__(self, parent, signalManager, 'Net Inside View') 
    66          
     71 
    6772        self.inputs = [] 
    6873        self.outputs = [("Nx View", Orange.network.NxView)] 
    69          
     74 
    7075        self._nhops = 2 
    71          
     76 
    7277        self.loadSettings() 
    73          
     78 
    7479        ib = OWGUI.widgetBox(self.controlArea, "Preferences", orientation="vertical") 
    7580        OWGUI.spin(ib, self, "_nhops", 1, 6, 1, label="Number of hops: ", callback=self.update_view) 
     
    7782        self.inside_view = NxInsideView(self._nhops) 
    7883        self.send("Nx View", self.inside_view) 
    79      
     84 
    8085    def update_view(self): 
    8186        self.inside_view.set_nhops(self._nhops) 
    82          
     87 
    8388        self.inside_view.update_network() 
    84      
Note: See TracChangeset for help on using the changeset viewer.