Changeset 8087:369d7b52dc62 in orange


Ignore:
Timestamp:
07/06/11 16:34:06 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
0dee8377b1df289d463cf5ec2509051c1042ef43
Message:

Added a new network view functionality.

File:
1 edited

Legend:

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

    r8080 r8087  
    2222        self._nhops = nhops 
    2323        self._center_node = None 
    24         self._network = None 
    2524         
    2625    def init_network(self, graph): 
     
    3029            return None 
    3130         
    32         for node in graph.nodes_iter(): 
    33             self._center_node = node 
    34             break 
    35           
     31        self._center_node = graph.nodes_iter().next() 
     32        nodes = self._get_neighbors() 
     33        return self._network.subgraph(nodes) 
     34     
     35    def update_network(self): 
     36        nodes = self._get_neighbors() 
     37        subnet = self._network.subgraph(nodes) 
     38         
     39        if self._nx_explorer is not None: 
     40            self._nx_explorer.change_graph(subnet) 
     41         
     42    def set_nhops(self, nhops): 
     43        self._nhops = nhops 
     44         
     45    def nodes_selected(self): 
     46        selection = self._nx_explorer.networkCanvas.get_selected_nodes() 
     47        if len(selection) == 1: 
     48            self._center_node = selection[0] 
     49            self.update_network() 
     50         
     51    def _get_neighbors(self): 
    3652        nodes = set([self._center_node]) 
    3753        for n in range(self._nhops): 
    3854            neighbors = set() 
    3955            for node in nodes: 
    40                 neighbors.update(graph.neighbors(node)) 
     56                neighbors.update(self._network.neighbors(node)) 
    4157            nodes.update(neighbors) 
    42              
    43         return graph.subgraph(nodes) 
    44      
    45     def update_network(self): 
    46         pass 
    47      
    48     def set_nhops(self, nhops): 
    49         self._nhops = nhops 
    50          
     58        return nodes 
    5159         
    5260class OWNxInsideView(OWWidget): 
     
    6573         
    6674        ib = OWGUI.widgetBox(self.controlArea, "Preferences", orientation="vertical") 
    67         OWGUI.spin(ib, self, "_nhops", 1, 6, 1, label="Number of hops: ", callback = self._update_view) 
     75        OWGUI.spin(ib, self, "_nhops", 1, 6, 1, label="Number of hops: ", callback=self.update_view) 
    6876 
    6977        self.inside_view = NxInsideView(self._nhops) 
    7078        self.send("Nx View", self.inside_view) 
    7179     
    72     def _update_view(self): 
     80    def update_view(self): 
    7381        self.inside_view.set_nhops(self._nhops) 
    7482         
Note: See TracChangeset for help on using the changeset viewer.