Changeset 426:465ac4f60426 in orange-bioinformatics
- Timestamp:
- 07/17/08 13:43:32 (5 years ago)
- Branch:
- default
- Convert:
- 38fdf5c6d549c77c8b497f8d925aca578d74f603
- File:
-
- 1 edited
-
widgets/OWMoleculeVisualizer.py (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
widgets/OWMoleculeVisualizer.py
r398 r426 5 5 <priority>2015</priority> 6 6 """ 7 8 from __future__ import with_statement 7 9 8 10 import orange … … 64 66 def syncfunc(func): 65 67 def f(*args, **kw): 66 lock.acquire() 67 ret = func(*args, **kw) 68 lock.release() 68 with lock: 69 ret = func(*args, **kw) 69 70 return ret 70 71 return f … … 143 144 return inst 144 145 except Exception, ex: 145 print "Image cache loading failed", ex 146 print "Image cache loading failed", filename, ex 147 from traceback import print_exception 148 print_exception(*sys.exc_info()) 146 149 inst = cls(*args, **kw) 150 print inst 147 151 inst.cachefilename = filename 148 152 return inst … … 202 206 self.selected=False 203 207 self.label=QLabel() 208 self.label.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) 204 209 self.image=MolImage(master, self, context) 210 self.image.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) 205 211 self.label.setText(context.title) 206 212 self.label.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) … … 210 216 layout.addWidget(self.image) 211 217 self.setLayout(layout) 218 self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) 212 219 self.show() 213 220 … … 297 304 298 305 def resizeEvent(self, event): 306 print "in resizeEvent" 299 307 QScrollArea.resizeEvent(self, event) 300 308 size=event.size() … … 304 312 if numColumns!=oldNumColumns: 305 313 self.master.numColumns=numColumns 306 self.master.redrawImages(useCached=not self.master.overRideCache) 314 print "in resizeEvent calling redrawImages" 315 ## self.master.redrawImages(useCached=not self.master.overRideCache) 316 self.master.rearrangeLayout() 307 317 ## print self.maximumSize().height(), self.viewport().maximumSize().height() 308 318 … … 392 402 ## self.gridLayout.setAutoAdd(False) 393 403 self.listBox=QListWidget(spliter) 394 self.connect(self.listBox, SIGNAL(" highlighted(int)"), self.fragmentSelection)404 self.connect(self.listBox, SIGNAL("currentRowChanged(int)"), self.fragmentSelection) 395 405 ## self.scrollArea.setFocusPolicy(QWidget.StrongFocus) 396 406 ## self.listBox.setFocusPolicy(QWidget.NoFocus) … … 588 598 589 599 def fragmentSelection(self, index): 600 if index == -1: 601 index = 0 590 602 self.selectedFragment=self.fragmentSmiles[index] 591 603 self.selectMarkedMoleculesButton.setEnabled(bool(self.selectedFragment)) … … 595 607 596 608 def renderImages(self,useCached=False): 597 def fixNumColumns(numItems, numColumns):598 if (self.imageSize+4)*(numItems/numColumns+1)>30000:599 return numItems/(30000/(self.imageSize+4))600 else:601 return numColumns609 ## def fixNumColumns(numItems, numColumns): 610 ## if (self.imageSize+4)*(numItems/numColumns+1)>30000: 611 ## return numItems/(30000/(self.imageSize+4)) 612 ## else: 613 ## return numColumns 602 614 603 615 self.numColumns=self.scrollArea.width()/(self.imageSize+4) or 1 616 self.gridLayout = QGridLayout() 617 self.scrollArea.takeWidget() 618 self.molWidget = QWidget() 619 self.scrollArea.setWidget(self.molWidget) 620 self.molWidget.setLayout(self.gridLayout) 604 621 self.imageWidgets=[] 605 622 self.imageCache.newEpoch() … … 607 624 self.fromCacheCount=0 608 625 if self.showFragments and self.fragmentSmiles: 609 correctedNumColumns= fixNumColumns(len(self.fragmentSmiles[1:]), self.numColumns)626 correctedNumColumns=self.numColumns #fixNumColumns(len(self.fragmentSmiles[1:]), self.numColumns) 610 627 self.progressBarInit() 611 628 for i,fragment in enumerate(self.fragmentSmiles[1:]): … … 628 645 return 629 646 molSmiles=[(str(e[sAttr]), e) for e in self.molData if not e[sAttr].isSpecial()] 630 correctedNumColumns= fixNumColumns(len(molSmiles), self.numColumns)647 correctedNumColumns=self.numColumns #fixNumColumns(len(molSmiles), self.numColumns) 631 648 self.progressBarInit() 632 649 if self.colorFragments and self.selectedFragment: … … 649 666 #print "done drawing" 650 667 self.overRideCache=False 668 ## import sip 669 ## sip.delete(self.molWidget.layout()) 670 ## self.molWidget.setLayout(self.gridLayout) 671 ## self.molWidget.layout().activate() 651 672 self.molWidget.setMinimumSize(self.gridLayout.sizeHint()) 652 673 self.molWidget.show() … … 657 678 def destroyImageWidgets(self): 658 679 for w in self.imageWidgets: 680 w.hide() 659 681 self.gridLayout.removeWidget(w) 660 682 self.imageWidgets=[] 683 684 def rearrangeLayout(self): 685 self.numColumns=self.scrollArea.width()/(self.imageSize+4) or 1 686 self.molWidget = QWidget() 687 self.gridLayout = QGridLayout() 688 self.molWidget.setLayout(self.gridLayout) 689 for i, w in enumerate(self.imageWidgets): 690 self.gridLayout.addWidget(w, i/self.numColumns, i%self.numColumns) 691 self.scrollArea.takeWidget() 692 self.scrollArea.setWidget(self.molWidget) 693 self.molWidget.setMinimumSize(self.gridLayout.sizeHint()) 694 self.molWidget.show() 661 695 662 696 def showImages(self, useCached=False):
Note: See TracChangeset
for help on using the changeset viewer.
