Changeset 1566:6f61e6bfa9fc in orange-bioinformatics


Ignore:
Timestamp:
02/14/12 11:03:24 (2 years ago)
Author:
ales_erjavec
Branch:
default
rebase_source:
f3c63b87be49ea94bf35ec58d38bcfb5527a8b16
Message:

Added some basic error warning reporting. Minor bug fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/OWQualityControl.py

    r1564 r1566  
    2424 
    2525DEBUG = False 
     26 
    2627 
    2728@contextmanager 
     
    3334    widget.setEnabled(True) 
    3435     
     36     
    3537@contextmanager 
    3638def disable_updates(widget): 
     
    4345    yield 
    4446    widget._disable_updates = False 
     47 
    4548 
    4649def group_label(splits, groups): 
     
    6063    return " | ".join(labels) 
    6164 
     65 
    6266def float_if_posible(val): 
    6367    """Return val as float if possible otherwise return the value unchanged. 
     
    6872    except ValueError: 
    6973        return val 
     74     
    7075     
    7176def experiment_description(feature): 
     
    8186    return text 
    8287 
     88 
    8389class OWQualityControl(OWWidget): 
    8490    contextHandlers = {"": SetContextHandler("")} 
     
    108114        self.groups = None 
    109115        self.unique_pos = None 
    110         self.base_index = 0 
     116        self.base_group_index = 0 
    111117 
    112118        ## GUI 
     
    114120        self.info_box = OWGUI.widgetLabel(box, "\n") 
    115121 
    116         ## Split By box 
    117         box = OWGUI.widgetBox(self.controlArea, "Split By") 
     122        ## Separate By box 
     123        box = OWGUI.widgetBox(self.controlArea, "Separate By") 
    118124        self.split_by_model = PyListModel() 
    119125        self.split_by_view = QListView() 
     
    184190        """ 
    185191        self.clear() 
     192         
     193        self.error(0) 
     194        self.warning(0) 
     195         
     196        if data is not None: 
     197            keys = self.get_suitable_keys(data) 
     198            if not keys: 
     199                self.error(0, "Data has no suitable feature labels.") 
     200                data = None 
     201                 
    186202        self.data = data 
    187203 
     
    243259        """Return the selected base group index 
    244260        """ 
    245         return self.base_index 
     261        return self.base_group_index 
    246262     
    247263    def selected_base_indices(self, base_group_index=None): 
     
    305321        with widget_disable(self): 
    306322            if not self._disable_updates: 
     323                self.base_group_index = 0 
    307324                context = self.currentContexts[""] 
    308325                context.split_by_labels = self.selected_split_by_labels() 
     
    314331        with widget_disable(self): 
    315332            if not self._disable_updates: 
    316                 self.base_index = 0 
     333                self.base_group_index = 0 
    317334                context = self.currentContexts[""] 
    318335                context.sort_by_labels = self.selected_sort_by_labels() 
     
    342359        if sort_by_labels and item.in_group: 
    343360            ## The item is part of the group 
    344             if item.group_index != self.base_index: 
    345                 self.base_index = item.group_index 
     361            if item.group_index != self.base_group_index: 
     362                self.base_group_index = item.group_index 
    346363                update = True 
    347364             
     
    373390        split_labels = self.selected_split_by_labels() 
    374391        sort_labels = self.selected_sort_by_labels() 
     392         
     393        self.warning(0) 
     394        if not split_labels: 
     395            self.warning(0, "No separate by label selected.") 
     396             
    375397        self.groups, self.unique_pos = \ 
    376398                exp.separate_by(self.data, split_labels, 
     
    404426             
    405427        return self._cached_distances[measure] 
    406              
    407              
     428         
    408429    def get_cached_distance(self, measure, i, j): 
    409430        matrix, computed = self.get_cached_distances(measure) 
Note: See TracChangeset for help on using the changeset viewer.