Changeset 1884:bbd363ba9498 in orange-bioinformatics for orangecontrib/bio/widgets/OWSelectGenes.py


Ignore:
Timestamp:
10/11/13 18:35:04 (7 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Added option to copy/append the names from "Gene Subset" input to saved selections.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orangecontrib/bio/widgets/OWSelectGenes.py

    r1882 r1884  
    176176            self.selectedSource == OWSelectGenes.SelectInput) 
    177177 
     178        box1 = OWGUI.widgetBox(self.subsetbox, "Gene Attribute", flat=True) 
    178179        self.subsetVarCombo = OWGUI.comboBox( 
    179             OWGUI.widgetBox(self.subsetbox, "Gene Attribute", flat=True), 
    180             self, "subsetGeneIndex", 
     180            box1, self, "subsetGeneIndex", 
    181181            callback=self._onSubsetGeneIndexChanged 
    182182        ) 
     
    185185            "Column with gene names in the 'Gene Subset' input" 
    186186        ) 
     187        OWGUI.button(box1, self, "Copy genes to saved subsets", 
     188                     callback=self.copyToSaved) 
     189 
     190        OWGUI.button(box1, self, "Append genes to current saved selection", 
     191                     callback=self.appendToSelected) 
    187192 
    188193        box.layout().addWidget(button2) 
    189194 
    190         group = QButtonGroup(box) 
     195        self.selectedSourceButtons = group = QButtonGroup(box) 
    191196        group.addButton(button1, OWSelectGenes.SelectInput) 
    192197        group.addButton(button2, OWSelectGenes.SelectCustom) 
     
    412417        self._changedFlag = False 
    413418 
     419    def setSelectionSource(self, source): 
     420        if self.selectedSource != source: 
     421            self.selectedSource = source 
     422            self.subsetbox.setEnabled(source == OWSelectGenes.SelectInput) 
     423            self.entrybox.setEnabled(source == OWSelectGenes.SelectCustom) 
     424            b = self.selectedSourceButtons.button(source) 
     425            b.setChecked(True) 
     426 
    414427    def _selectionSourceChanged(self, source): 
    415428        if self.selectedSource != source: 
     
    472485            item.savedata = self.entryField.items() 
    473486            item.modified = False 
     487 
     488    def copyToSaved(self): 
     489        """ 
     490        Copy the current 'Gene Subset' names to saved selections. 
     491        """ 
     492        if self.subsetGeneVar and \ 
     493                self.selectedSource == OWSelectGenes.SelectInput: 
     494            names = self.selectedGenes() 
     495            item = SaveSlot("New selection") 
     496            item.savedata = names 
     497            self.selectionsModel.appendRow([item]) 
     498            self.setSelectionSource(OWSelectGenes.SelectCustom) 
     499            self.selectionsView.setCurrentIndex(item.index()) 
     500            self.selectionsView.edit(item.index()) 
     501 
     502    def appendToSelected(self): 
     503        """ 
     504        Append the current 'Gene Subset' names to 'Select Genes' entry field. 
     505        """ 
     506        if self.subsetGeneVar and \ 
     507                self.selectedSource == OWSelectGenes.SelectInput: 
     508            names = self.selectedGenes() 
     509            text = " ".join(names) 
     510            self.entryField.appendPlainText(text) 
     511            self.setSelectionSource(OWSelectGenes.SelectCustom) 
     512            self.entryField.setFocus() 
     513            self.entryField.moveCursor(QTextCursor.End) 
    474514 
    475515    def addSelection(self, name=None): 
Note: See TracChangeset for help on using the changeset viewer.