Ignore:
Timestamp:
06/10/13 13:31:24 (11 months ago)
Author:
Flashpoint <vid.flashpoint@…>
Branch:
default
Message:

Version 1 of the OWCustomSet.py widget

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _bioinformatics/widgets/prototypes/OWCustomSets.py

    r1817 r1818  
    4545        self.selected_file = ""  
    4646 
    47         # List of recent opened files. 
    48         self.recent_files = [] 
    49         self.loadSettings() 
    50         self.recent_files = filter(os.path.exists, self.recent_files) 
    51  
    5247        layout = QHBoxLayout() 
    5348        box = OWGUI.widgetBox(self.controlArea, "File", orientation=layout) 
     
    5550        icons = standard_icons(self) 
    5651 
    57         self.recent_combo = QComboBox(self, objectName="recent_combo", 
    58                                       toolTip="Recent files", 
    59                                       activated=self.on_select_recent) 
    60         self.recent_combo.addItems([os.path.basename(p) \ 
    61                                     for p in self.recent_files]) 
    62  
    63         self.browse_button = QPushButton("...", icon=icons.dir_open_icon, 
     52        self.browse_button = QPushButton(" ...", icon=icons.dir_open_icon, 
    6453                                         toolTip="Browse filesystem", 
    6554                                         clicked=self.on_open_dialog) 
    6655 
    67         layout.addWidget(self.recent_combo, 2) 
    6856        layout.addWidget(self.browse_button) 
    6957        
    7058        # The preview field         
    71         box = OWGUI.widgetBox(self.controlArea, "Preview") 
     59        box = OWGUI.widgetBox(self.controlArea, "Available Gene Sets") 
    7260        self.preview_view = QPlainTextEdit() 
    7361        self.preview_view.setReadOnly(True) 
    7462        self.preview_view.setWordWrapMode(0) 
    75  
    76         box.layout().addWidget(self.preview_view) 
    77         
     63  
    7864        # The geneset table 
    7965        ma = self.mainArea 
    8066 
    8167        self.listView = QTreeWidget(ma) 
    82         ma.layout().addWidget(self.listView) 
     68 
     69        # Adding the widgets into separate layouts 
     70        ma.layout().addWidget(self.preview_view) 
     71        box.layout().addWidget(self.listView) 
     72 
     73 
    8374        self.listView.setAllColumnsShowFocus(1) 
    8475        self.listView.setColumnCount(2) 
     
    8677 
    8778        self.listView.header().setStretchLastSection(True) 
    88         self.listView.header().setClickable(True) 
    89         self.listView.header().setSortIndicatorShown(True) 
    90         self.listView.setSortingEnabled(True) 
     79#        self.listView.header().setClickable(True) 
     80#        self.listView.header().setSortIndicatorShown(True) 
     81#        self.listView.setSortingEnabled(True) 
    9182 
    9283        self.listView.setSelectionMode(QAbstractItemView.SingleSelection) 
     
    9687 
    9788        self.resize(800, 500) 
    98         if self.recent_files: 
    99             QTimer.singleShot(1, 
    100                     lambda: self.set_selected_file(self.recent_files[0]) 
    101                     ) 
    10289 
    10390        #Data Set info bar 
     
    122109                    num_sets, uniq_genes, avg_genes = str(stats[0]), str(stats[1]), str(stats[2]) 
    123110                    break 
    124             self.info.setText("Gene Sets: %d\nUnique Genes: %d\nAverage no. of Genes/Gene Set: %d" % (int(num_sets), int(uniq_genes), int(avg_genes))) 
     111            self.info.setText("Gene Sets: %d\nUnique Genes: %d\nAverage Gene Set size: %d" % (int(num_sets), int(uniq_genes), int(avg_genes))) 
    125112        else: 
    126113            self.info.setText("No gene set selected") 
     
    154141        self.selected_file = filename 
    155142        self.genesetname = name 
    156         index_to_remove = None 
    157         if filename in self.recent_files: 
    158             index_to_remove = self.recent_files.index(filename) 
    159         elif self.recent_combo.count() > 6: 
    160             # Always keep 6 latest files in the list. 
    161             index_to_remove = self.recent_combo.count() - 1 
    162         self.recent_combo.insertItem(0, name) 
    163         self.recent_combo.setCurrentIndex(0) 
    164         self.recent_files.insert(0, filename) 
    165  
    166         if index_to_remove is not None: 
    167             self.recent_combo.removeItem(index_to_remove + 1) 
    168             self.recent_files.pop(index_to_remove + 1) 
    169143             
    170144        self.import_data() 
     
    180154                    sets = pickle.load(open(the_file, "rb")) 
    181155                    break 
     156            geneset_count = 0 
    182157            for geneset in sets: 
    183158                final_text += geneset.id + " (%d genes)\n" % len(geneset.genes) 
    184159                final_text += ", ".join([geneset.genes.pop() for i in range(5)]) + ", ...\n\n" 
     160                geneset_count += 1 
     161                if geneset_count == 5: 
     162                    break 
    185163            final_text += "..." 
    186164            self.preview_view.setPlainText(final_text) 
Note: See TracChangeset for help on using the changeset viewer.