Changeset 11221:13909de3464e in orange


Ignore:
Timestamp:
12/04/12 17:59:14 (17 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Fixed removal of selected annotations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/document/schemeedit.py

    r11219 r11221  
    451451 
    452452    def scheme(self): 
     453        """Return the :class:`Scheme` edited by the widget. 
     454        """ 
    453455        return self.__scheme 
    454456 
    455457    def scene(self): 
     458        """Return the QGraphicsScene instance used to display the scheme. 
     459        """ 
    456460        return self.__scene 
    457461 
    458462    def view(self): 
     463        """Return the QGraphicsView instance used to display the scene. 
     464        """ 
    459465        return self.__view 
    460466 
     
    483489 
    484490    def createNewNode(self, description): 
    485         """Create a new SchemeNode add at it to the document at left of the 
     491        """Create a new `SchemeNode` and add it to the document at left of the 
    486492        last added node. 
    487493 
     
    498504 
    499505    def removeNode(self, node): 
     506        """Remove a `node` (:class:`SchemeNode`) from the scheme 
     507        """ 
    500508        command = commands.RemoveNodeCommand(self.__scheme, node) 
    501509        self.__undoStack.push(command) 
    502510 
    503511    def renameNode(self, node, title): 
     512        """Rename a `node` (:class:`SchemeNode`) to `title`. 
     513        """ 
    504514        command = commands.RenameNodeCommand(self.__scheme, node, title) 
    505515        self.__undoStack.push(command) 
    506516 
    507517    def addLink(self, link): 
     518        """Add a `link` (:class:`SchemeLink`) to the scheme. 
     519        """ 
    508520        command = commands.AddLinkCommand(self.__scheme, link) 
    509521        self.__undoStack.push(command) 
    510522 
    511523    def removeLink(self, link): 
     524        """Remove a link (:class:`SchemeLink`) from the scheme. 
     525        """ 
    512526        command = commands.RemoveLinkCommand(self.__scheme, link) 
    513527        self.__undoStack.push(command) 
    514528 
    515529    def addAnnotation(self, annotation): 
     530        """Add `annotation` (:class:`BaseSchemeAnnotation`) to the scheme 
     531        """ 
    516532        command = commands.AddAnnotationCommand(self.__scheme, annotation) 
    517533        self.__undoStack.push(command) 
    518534 
    519535    def removeAnnotation(self, annotation): 
     536        """Remove `annotation` (:class:`BaseSchemeAnnotation`) from the scheme. 
     537        """ 
    520538        command = commands.RemoveAnnotationCommand(self.__scheme, annotation) 
    521539        self.__undoStack.push(command) 
    522540 
    523541    def removeSelected(self): 
     542        """Remove all selected items in the scheme. 
     543        """ 
    524544        selected = self.scene().selectedItems() 
    525545        if not selected: 
     
    541561 
    542562    def selectAll(self): 
     563        """Select all selectable items in the scheme. 
     564        """ 
    543565        for item in self.__scene.items(): 
    544566            if item.flags() & QGraphicsItem.ItemIsSelectable: 
     
    581603 
    582604    def selectedNodes(self): 
     605        """Return all selected `SchemeNode` items. 
     606        """ 
    583607        return map(self.scene().node_for_item, 
    584608                   self.scene().selected_node_items()) 
    585609 
     610    def selectedAnnotations(self): 
     611        """Return all selected `SchemeAnnotation` items. 
     612        """ 
     613        return map(self.scene().annotation_for_item, 
     614                   self.scene().selected_annotation_items()) 
     615 
    586616    def openSelected(self): 
     617        """Open (show and raise) all widgets for selected nodes. 
     618        """ 
    587619        selected = self.scene().selected_node_items() 
    588620        for item in selected: 
     
    590622 
    591623    def editNodeTitle(self, node): 
     624        """Edit the `node`'s title. 
     625        """ 
    592626        name, ok = QInputDialog.getText( 
    593627                    self, self.tr("Rename"), 
     
    819853 
    820854    def __onSelectionChanged(self): 
    821         selected = self.selectedNodes() 
    822  
    823         enabled = bool(selected) 
    824         self.__openSelectedAction.setEnabled(enabled) 
    825         self.__removeSelectedAction.setEnabled(enabled) 
    826  
    827         if len(selected) == 0: 
     855        nodes = self.selectedNodes() 
     856        annotations = self.selectedAnnotations() 
     857 
     858        self.__openSelectedAction.setEnabled(bool(nodes)) 
     859        self.__removeSelectedAction.setEnabled( 
     860            bool(nodes) or bool(annotations) 
     861        ) 
     862 
     863        self.__helpAction.setEnabled(len(nodes) == 1) 
     864        self.__renameAction.setEnabled(len(nodes) == 1) 
     865 
     866        if len(nodes) > 1: 
     867            self.__openSelectedAction.setText(self.tr("Open All")) 
     868        else: 
     869            self.__openSelectedAction.setText(self.tr("Open")) 
     870 
     871        if len(nodes) + len(annotations) > 1: 
     872            self.__removeSelectedAction.setText(self.tr("Remove All")) 
     873        else: 
     874            self.__removeSelectedAction.setText(self.tr("Remove")) 
     875 
     876        if len(nodes) == 0: 
    828877            self.__openSelectedAction.setText(self.tr("Open")) 
    829878            self.__removeSelectedAction.setText(self.tr("Remove")) 
    830  
    831         elif len(selected) == 1: 
    832             self.__openSelectedAction.setText(self.tr("Open")) 
    833             self.__removeSelectedAction.setText(self.tr("Remove")) 
    834  
    835             self.__renameAction.setEnabled(True) 
    836             self.__helpAction.setEnabled(True) 
    837  
    838         else: 
    839             self.__widgetMenu.setEnabled(enabled) 
    840             self.__openSelectedAction.setText(self.tr("Open All")) 
    841             self.__removeSelectedAction.setText(self.tr("Remove All")) 
    842  
    843             self.__renameAction.setEnabled(False) 
    844             self.__helpAction.setEnabled(False) 
    845879 
    846880    def __onNodeAdded(self, node): 
Note: See TracChangeset for help on using the changeset viewer.