Skip to content

Commit

Permalink
scanwidget: more adaptable sizing (8bc0c10)
Browse files Browse the repository at this point in the history
jordens committed Mar 16, 2016
1 parent 11bfe33 commit a75ee76
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions artiq/gui/scanwidget.py
Original file line number Diff line number Diff line change
@@ -32,6 +32,11 @@ def __init__(self, zoomFactor=1.05, zoomMargin=.1, dynamicRange=1e9):

self.setRange(0, 4095)

qfm = QtGui.QFontMetrics(self.font())
self._labelSize = QtCore.QSize(
(self.ticker.precision + 5)*qfm.averageCharWidth(),
qfm.lineSpacing())

self._start, self._stop, self._num = None, None, None
self._axisView, self._sliderView = None, None
self._offset, self._pressed, self._dragLeft = None, None, None
@@ -43,9 +48,8 @@ def sizeHint(self):
return self.minimumSizeHint()

def minimumSizeHint(self):
qfm = QtGui.QFontMetrics(self.font())
return QtCore.QSize(5*10*qfm.averageCharWidth(),
4*qfm.lineSpacing())
return QtCore.QSize(2.5*3*self._labelSize.width(),
4*self._labelSize.height())

def _axisToPixel(self, val):
a, b = self._axisView
@@ -212,7 +216,8 @@ def resizeEvent(self, ev):
if center:
scale = min(scale, self.dynamicRange/abs(center))
left = a*scale/b
self.ticker.min_ticks = int(ev.size().width()/100)
self.ticker.min_ticks = int(ev.size().width() /
(2.5*self._labelSize.width()))
self._setView(left, scale)

def paintEvent(self, ev):

0 comments on commit a75ee76

Please sign in to comment.