Changeset 8578:47e467d74982 in orange


Ignore:
Timestamp:
08/02/11 16:14:24 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
c6427bf7f81ca6172fc0b7722d2c96c06830ed36
Message:

Adding and removing points.

Location:
orange/OrangeWidgets/Prototypes
Files:
3 edited

Legend:

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

    r8524 r8578  
    242242        self.add_custom_curve(self.networkCurve) 
    243243        self.callbackMoveVertex = None 
    244         self.callbackSelectVertex = None 
     244         
    245245        self.minComponentEdgeWidth = 0 
    246246        self.maxComponentEdgeWidth = 0 
     
    261261        self.networkCurve.update_properties() 
    262262         
    263     def getSelection(self): 
    264       return self.networkCurve.get_selected_nodes() 
    265      
    266263    def get_marked_nodes(self): 
    267264      return self.networkCurve.get_marked_nodes() 
     
    352349      return subnet 
    353350     
    354     def get_selected_nodes(self): 
    355       return self.networkCurve.get_selected_nodes() 
     351    def selected_nodes(self): 
     352        return [p.index() for p in self.selected_points()] 
    356353     
    357354    def getNeighboursUpTo(self, ndx, dist): 
     
    669666        new_nodes = set(newgraph.nodes_iter()) 
    670667        inter_nodes = old_nodes.intersection(new_nodes) 
    671         remove_nodes = old_nodes.difference(inter_nodes) 
     668        remove_nodes = list(old_nodes.difference(inter_nodes)) 
    672669        add_nodes = new_nodes.difference(inter_nodes) 
    673670         
     671         
     672         
    674673        self.graph = newgraph 
    675         self.networkCurve.remove_nodes(remove_nodes) 
    676          
     674        self.networkCurve.remove_nodes(list(remove_nodes)) 
     675         
     676        nodes = dict((v, NodeItem(v, parent=self.networkCurve)) for v in new_nodes) 
     677         
     678        #add edges 
     679        if self.links is not None and len(self.links) > 0: 
     680            links = self.links 
     681            links_indices = (row_ind[i + 1][j + 1] for (i, j) in self.graph.edges(new_nodes)) 
     682            labels = ([str(row[r].value) for r in range(2, len(row))] for row in (links[links_index] for links_index in links_indices)) 
     683             
     684            if self.graph.is_directed(): 
     685                edges = [EdgeItem(nodes[i], nodes[j], 
     686                    self.graph[i][j].get('weight', 1), 0, 1, links_index, label, parent=self.networkCurve) for \ 
     687                    ((i, j), links_index, label) in zip(self.graph.edges(new_nodes), \ 
     688                                                        links_indices, labels)] 
     689            else: 
     690                edges = [EdgeItem(nodes[i], nodes[j], 
     691                    self.graph[i][j].get('weight', 1), links_index, label) for \ 
     692                    ((i, j), links_index, label) in zip(self.graph.edges(new_nodes), \ 
     693                                                        links_indices, labels, parent=self.networkCurve)] 
     694        elif self.graph.is_directed(): 
     695            edges = [EdgeItem(nodes[i], nodes[j], 
     696                                      self.graph[i][j].get('weight', 1), 0, 1, parent=self.networkCurve) for (i, j) in self.graph.edges(new_nodes)] 
     697        else: 
     698            edges = [EdgeItem(nodes[i], nodes[j], 
     699                                      self.graph[i][j].get('weight', 1), parent=self.networkCurve) for (i, j) in self.graph.edges(new_nodes)] 
     700             
     701         
     702        #self.networkCurve.add_nodes(nodes, edges) 
    677703                   
    678704        #self.minEdgeWeight = min(edge.weight for edge in edges) if len(edges) > 0 else 0 
     
    695721        self.clear() 
    696722        self.vertexDegree = [] 
    697         #self.vertices_old = {} 
    698         #self.vertices = [] 
    699         #self.edges_old = {} 
    700         #self.edges = [] 
    701723        self.minEdgeWeight = sys.maxint 
    702724        self.maxEdgeWeight = 0 
  • orange/OrangeWidgets/Prototypes/OWNxExplorerQt.py

    r8549 r8578  
    13651365        self._network_view = nxView 
    13661366        self._network_view.set_nx_explorer(self) 
    1367         self.networkCanvas.callbackSelectVertex = self._network_view.nodes_selected 
    13681367        self.set_graph(self.graph_base) 
     1368         
     1369        QObject.connect(self.networkCanvas, SIGNAL('selection_changed()'), self._network_view.node_selection_changed) 
    13691370         
    13701371    def setItems(self, items=None): 
  • orange/OrangeWidgets/Prototypes/OWNxInsideView.py

    r8378 r8578  
    4343        self._nhops = nhops 
    4444         
    45     def nodes_selected(self): 
    46         selection = self._nx_explorer.networkCanvas.get_selected_nodes() 
     45    def node_selection_changed(self): 
     46        selection = self._nx_explorer.networkCanvas.selected_nodes() 
    4747        if len(selection) == 1: 
    4848            self._center_node = selection[0] 
Note: See TracChangeset for help on using the changeset viewer.