Changeset 1390:fc7b990aa912 in orange-bioinformatics


Ignore:
Timestamp:
05/12/11 18:13:56 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
6cf5a7d6e007fb1a607eb3ee90413cf247282ace
Message:

Some bug fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/OWVulcanoPlot.py

    r1388 r1390  
    230230                    selection.select(index, index) 
    231231            self.values_view.selectionModel().select(selection,  QItemSelectionModel.ClearAndSelect) 
     232        else: 
     233            self.values_view.selectionModel().clear() 
    232234             
    233235    def set_current_label(self, index): 
     
    236238        self.labels_combo.setCurrentIndex(index) 
    237239        label, values = self.labels[index] 
    238 #        self._block_selection_emit = True 
    239240        # Block selection changed 
    240241        with self._blocked_signals(): 
    241242            self._values_model[:] = values 
    242 #        self._block_selection_emit = False 
    243243         
    244244    def on_label_activated(self, index): 
     
    469469        self.genesInColumnsCheck = OWGUI.checkBox(box, self, "genesInColumns", 
    470470                                    "Genes in columns",  
    471                                     callback=[self.update_target_labels, self.plot]) 
     471                                    callback=[self.init_from_data, self.plot]) 
    472472 
    473473        box = OWGUI.widgetBox(self.controlArea, "Settings") 
     
    509509        self.label_selections = [] 
    510510        self.target_group = None, [] 
     511        self.clear_graph() 
     512         
     513    def clear_graph(self): 
    511514        self.values = {} 
    512515        self.graph.setPlotValues({}) 
     
    514517         
    515518    def setData(self, data=None): 
    516         self.closeContext() 
     519        self.closeContext("") 
    517520        self.closeContext("targets") 
    518521        self.clear() 
     
    524527            self.genesInColumnsCheck.setDisabled(not bool(data.domain.classVar)) 
    525528            if self.genesInColumns: 
    526                 self.genesInColumns = not data_hints.get_hint(data, "genesinrows", not self.genesInColumns)  
    527             self.update_target_labels() 
     529                self.genesInColumns = not data_hints.get_hint(data, "genesinrows", not self.genesInColumns) 
     530            self.openContext("", data) 
     531        else: 
     532            self.infoLabel.setText("No data on input.") 
     533        self.init_from_data() 
     534             
     535    def init_from_data(self): 
     536        """ Init widget state from the data. 
     537        """  
     538        self.update_target_labels() 
     539        self.error(0) 
     540        if self.data: 
    528541            if not self.targets: 
    529                 self.error(0, "Data set with no column labels (attribute tags) or row labels (classes).") 
    530         else: 
    531             self.update_target_labels() 
    532             self.infoLabel.setText("No data on input") 
    533          
    534         self.openContext("", data) 
     542                if self.genesInColumns: 
     543                    self.error(0, "Data set with no column labels (attribute tags)") 
     544                else: 
     545                    self.error(0, "Data has no class.") 
     546         
    535547        self.openContext("targets", [(label, v) for label, vals in self.targets \ 
    536548                                                for v in vals]) 
    537549         
     550        if len(self.label_selections) != len(self.targets): # Some times this happens. 
     551            self.label_selections = [[] for t in self.targets] 
     552             
    538553        if self.target_group == (None, []) and self.targets: 
    539554            label, values = self.targets[0] 
     
    543558            self.target_widget.set_selection(*self.target_group) 
    544559        else: 
    545             self.plot() 
     560            self.clear_graph() 
    546561 
    547562    def update_target_labels(self): 
     
    599614        if label and values: 
    600615            self.plot() 
     616        else: 
     617            self.clear_graph() 
    601618     
    602619    @disable_controls 
Note: See TracChangeset for help on using the changeset viewer.