Changeset 1430:aee4fc56624f in orange-bioinformatics


Ignore:
Timestamp:
06/23/11 16:02:41 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
80777f661e5ce048751990dd814e143c97f10230
Message:

Fixed table sorting.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/prototypes/OWGeneAtlasTissueExpression.py

    r1428 r1430  
    77 
    88import OWGUI 
    9 #from OWItemModels import PyTableModel 
    109from OWWidget import * 
    1110 
     
    2019    settingsList = [] 
    2120     
    22     ORGANISMS = obiArrayExpress.ATLAS_ORGANISMS #["Homo sapiens", "Mus musculus"] 
     21    ORGANISMS = obiArrayExpress.ATLAS_ORGANISMS 
    2322    FACTORS = ["Organism part", "Disease state", "Cell type"] 
    2423     
     
    8786                     tooltip="Send selected genes") 
    8887         
    89         self.report_view = QTreeView() 
    90         self.report_view.setSelectionMode(QTreeView.MultiSelection) 
     88        self.report_view = QTreeView(self.mainArea) 
     89        self.report_view.setSelectionMode(QTreeView.ExtendedSelection) 
    9190        self.report_view.setSortingEnabled(True) 
    9291        self.report_view.setRootIsDecorated(False) 
    9392        self.report_view.setAlternatingRowColors(True) 
     93        self.report_view.setEditTriggers(QTreeView.NoEditTriggers) 
    9494        self.mainArea.layout().addWidget(self.report_view) 
    95         self.report_header = ["Gene Symbol", "Up", "Down"] 
     95        self.report_header = ["Gene symbol", "Up", "Down"] 
    9696         
    9797        model = QStandardItemModel() 
     
    212212            # self.results = self.get_atlas_summary(tuple(genes), self.selected_organism) 
    213213            # Threaded 
    214             call = self.asyncCall(self.get_atlas_summary, (tuple(genes), self.selected_organism), 
    215                                   name="Query Gene Expression Atlas") 
    216              
    217             call() 
    218             self.results = call.get_result(processEvents=True) 
     214            self.controlArea.setEnabled(False) 
     215            try: 
     216                call = self.asyncCall(self.get_atlas_summary, (tuple(genes), self.selected_organism), 
     217                                      name="Query Gene Expression Atlas") 
     218                 
     219                call() 
     220                self.results = call.get_result(processEvents=True) 
     221            finally: 
     222                self.controlArea.setEnabled(True) 
    219223         
    220224    def update_ef_values_box(self): 
     
    238242         
    239243        model = QStandardItemModel() 
     244         
     245                 
    240246        def standard_item(val): 
    241             item = QStandardItem() 
     247            item = StandardPyItem() 
     248            item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) 
    242249            item.setData(QVariant(val), Qt.DisplayRole) 
    243250            return item 
     
    248255                if ef_value in efvs: 
    249256                    up, down = efvs[ef_value] 
    250                     up_item = QStandardItem() 
    251                     down_item = QStandardItem() 
    252                     up_item 
    253257                    model.appendRow([standard_item(gene), 
    254258                                     standard_item(up), 
     
    296300        self.send("Selected Genes", data) 
    297301             
     302class StandardPyItem(QStandardItem): 
     303    def __lt__(self, other): 
     304        my = self.data(Qt.DisplayRole).toPyObject() 
     305        other = other.data(Qt.DisplayRole) 
     306        return my < other 
    298307         
    299308     
     
    301310    app = QApplication(sys.argv) 
    302311    w = OWGeneAtlasTissueExpression() 
    303     data = Orange.data.variable.Table("RUNX1") 
     312    data = Orange.data.Table("RUNX1.tab") 
    304313    w.show() 
    305314    w.set_data(data) 
Note: See TracChangeset for help on using the changeset viewer.