Changeset 1373:02a2783ce00f in orange-bioinformatics


Ignore:
Timestamp:
04/18/11 11:51:40 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
65ce0e3d52b25a64cf2f7df5c3d1e88357170fbc
Message:

Show warning when there are no samples with the selected annotations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/OWGEODatasets.py

    r1346 r1373  
    114114        ## GUI 
    115115        self.infoBox = OWGUI.widgetLabel(OWGUI.widgetBox(self.controlArea, "Info", addSpace=True), "\n\n") 
    116 #        box = OWGUI.widgetBox(self.controlArea, "Sample Subset") 
    117 #        OWGUI.listBox(box, self, "selectedSubsets", "sampleSubsets", selectionMode=QListWidget.ExtendedSelection) 
    118 #        box = OWGUI.widgetBox(self.controlArea, "Sample Annotations (Types)") 
    119 #        self.annotationCombo = OWGUI.comboBox(box, self, "selectedAnnotation", items=["Include all"]) 
    120          
    121 ##        OWGUI.button(box, self, "Clear selection", callback=self.clearSubsetSelection) 
    122 ##        c = OWGUI.checkBox(box, self, "includeIf", "Include if at least", callback=self.commitIf) 
    123 ##        OWGUI.spin(OWGUI.indentedBox(box), self, "minSamples", 2, 100, posttext="samples", callback=self.commitIf) 
    124116 
    125117        box = OWGUI.widgetBox(self.controlArea, "Output", addSpace=True) 
     
    129121        box = OWGUI.widgetBox(self.controlArea, "Output", addSpace=True) 
    130122        self.commitButton = OWGUI.button(box, self, "Commit", callback=self.commit) 
    131 #        self.commitButton.setDisabled(True) 
    132123        cb = OWGUI.checkBox(box, self, "autoCommit", "Commit on any change") 
    133124        OWGUI.setStopper(self, self.commitButton, cb, "selectionChanged", self.commit) 
    134 ##        OWGUI.checkBox(box, self, "autoCommit", "Commit automatically") 
    135125        OWGUI.rubber(self.controlArea) 
    136126 
    137         self.filterLineEdit = OWGUIEx.lineEditHint(self.mainArea, self, "filterString", "Filter", caseSensitive=False, matchAnywhere=True, listUpdateCallback=self.filter, callbackOnType=True, callback=self.filter, delimiters=" ") 
     127        self.filterLineEdit = OWGUIEx.lineEditHint(self.mainArea, self, "filterString", "Filter", 
     128                                   caseSensitive=False, matchAnywhere=True,  
     129                                   listUpdateCallback=self.filter, callbackOnType=True,  
     130                                   callback=self.filter,  delimiters=" ") 
     131         
    138132        splitter = QSplitter(Qt.Vertical, self.mainArea) 
    139133        self.mainArea.layout().addWidget(splitter) 
    140134        self.treeWidget = QTreeView(splitter) 
    141 #        splitter.addWidget(self.treeWidget) 
    142135         
    143136        self.treeWidget.setSelectionMode(QAbstractItemView.SingleSelection) 
     
    148141        self.treeWidget.setItemDelegateForColumn(0, OWGUI.IndicatorItemDelegate(self.treeWidget, role=Qt.DisplayRole)) 
    149142         
    150 #        self.mainArea.layout().addWidget(self.treeWidget) 
    151143        self.connect(self.treeWidget, SIGNAL("itemSelectionChanged ()"), self.updateSelection) 
    152144        self.treeWidget.viewport().setMouseTracking(True) 
    153 ##        self.connect(self.treeWidget, SIGNAL("currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*))"), self.updateSelection_) 
    154 #        self.connect(self.treeWidget.model(), SIGNAL("layoutChanged()"), self.filter) 
     145         
    155146        splitterH = QSplitter(Qt.Horizontal, splitter)  
    156 #        splitter.addWidget(splitterH) 
     147         
    157148        box = OWGUI.widgetBox(splitterH, "Description") 
    158149        self.infoGDS = OWGUI.widgetLabel(box, "") 
     
    176167        self.searchKeys = ["dataset_id", "title", "platform_organism", "description"] 
    177168        self.cells = [] 
    178 #        self.currentGds = None 
     169         
    179170        QTimer.singleShot(50, self.updateTable) 
    180171        self.resize(1000, 600) 
     
    344335        else: 
    345336            self.selectionChanged = True 
    346              
    347 #    def commit(self): 
    348 #        if self.currentGds: 
    349 ##            classes = [s["description"] for s in self.currentGds["subsets"]] 
    350 ##            classes = [classes[i] for i in self.selectedSubsets] or None 
    351 ##            sample_type = self.annotationCombo.currentText() 
    352 #            sample_type = None 
    353 #            self.progressBarInit() 
    354 #            self.progressBarSet(10) 
    355 #             
    356 #            def getdata(gds_id, **kwargs): 
    357 #                gds = obiGEO.GDS(gds_id) 
    358 #                data = gds.getdata(**kwargs) 
    359 #                return data 
    360 #            from OWConcurrent import createTask 
    361 #            self.setEnabled(False) 
    362 #            qApp.processEvents() 
    363 #            self.get_data_async = createTask(getdata, (self.currentGds["dataset_id"],), dict(report_genes=self.mergeSpots, 
    364 #                                                                   transpose=self.outputRows, 
    365 #                                                                   sample_type=sample_type if sample_type!="Include all" else None), 
    366 #                                             onResult=self.onData, onFinished=lambda: self.setEnabled(True), 
    367 #                                             threadPool=QThreadPool.globalInstance() 
    368 #                                             ) 
    369337     
    370338    def commit(self): 
     
    390358                                 ) 
    391359            call.__call__() #invoke 
    392 #            data = gds.getdata(report_genes=self.mergeSpots, transpose=self.outputRows, sample_type=sample_type if sample_type!="Include all" else None) 
    393360 
    394361    def onAsyncError(self, (exctype, value, tb)): 
     
    408375        samples = self.selectedSamples() 
    409376         
     377        self.warning(0) 
    410378        message = None 
    411379        if self.outputRows: 
     
    416384            data.domain.classVar.values = ["|".join([cl for cl in val.split("|") if cl in samples]) for val in data.domain.classVar.values] 
    417385            if len(data) == 0: 
    418                 message = "No selected samples with selected sample annotations." 
     386                message = "No samples with selected sample annotations." 
    419387        else: 
    420388            samples = set(samples) 
    421389            domain = orange.Domain([attr for attr in data.domain.attributes if samples.issuperset(attr.attributes.items())], data.domain.classVar) 
    422390            domain.addmetas(data.domain.getmetas()) 
     391            if len(domain.attributes) == 0: 
     392                message = "No samples with selected sample annotations." 
    423393            stypes = set(s[0] for s in samples) 
    424394            for attr in domain.attributes: 
    425395                attr.attributes = dict([(key, value) for key, value in attr.attributes.items() if key in stypes]) 
    426396            data = orange.ExampleTable(domain, data) 
    427  
     397         
     398        if message is not None: 
     399            self.warning(0, message) 
     400             
    428401        data_hints.set_hint(data, "taxid", self.currentGds.get("taxid", ""), 10.0) 
    429402        data_hints.set_hint(data, "genesinrows", self.outputRows, 10.0) 
Note: See TracChangeset for help on using the changeset viewer.