Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/artiq
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3ed82886019f^
Choose a base ref
...
head repository: m-labs/artiq
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 485fc3bd2772
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Feb 25, 2016

  1. Copy the full SHA
    3ed8288 View commit details
  2. gui: use scanwidget

    jordens committed Feb 25, 2016
    Copy the full SHA
    485fc3b View commit details
Showing with 786 additions and 15 deletions.
  1. +34 −15 artiq/gui/entries.py
  2. +545 −0 artiq/gui/scanwidget.py
  3. +71 −0 artiq/gui/scientific_spinbox.py
  4. +136 −0 artiq/gui/ticker.py
49 changes: 34 additions & 15 deletions artiq/gui/entries.py
Original file line number Diff line number Diff line change
@@ -4,6 +4,8 @@
from PyQt5 import QtCore, QtGui, QtWidgets

from artiq.gui.tools import LayoutWidget, disable_scroll_wheel
from artiq.gui.scanwidget import ScanWidget
from artiq.gui.scientific_spinbox import ScientificSpinBox


logger = logging.getLogger(__name__)
@@ -136,6 +138,7 @@ def __init__(self, procdesc, state):
LayoutWidget.__init__(self)

scale = procdesc["scale"]

def apply_properties(spinbox):
spinbox.setDecimals(procdesc["ndecimals"])
if procdesc["global_min"] is not None:
@@ -151,37 +154,53 @@ def apply_properties(spinbox):
if procdesc["unit"]:
spinbox.setSuffix(" " + procdesc["unit"])

self.addWidget(QtWidgets.QLabel("Min:"), 0, 0)
self.min = QtWidgets.QDoubleSpinBox()
self.scanner = scanner = ScanWidget()
scanner.setSizePolicy(QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed))
self.addWidget(scanner, 0, 0, -1, 1)

self.min = ScientificSpinBox()
self.min.setStyleSheet("QDoubleSpinBox {color:blue}")
self.min.setMinimumSize(110, 0)
self.min.setSizePolicy(QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed))
self.min.setValue(state["min"]/scale)
disable_scroll_wheel(self.min)
apply_properties(self.min)
self.addWidget(self.min, 0, 1)

self.addWidget(QtWidgets.QLabel("Max:"), 1, 0)
self.max = QtWidgets.QDoubleSpinBox()
disable_scroll_wheel(self.max)
apply_properties(self.max)
self.addWidget(self.max, 1, 1)

self.addWidget(QtWidgets.QLabel("#Points:"), 2, 0)
self.npoints = QtWidgets.QSpinBox()
self.npoints.setMinimum(1)
self.npoints.setValue(state["npoints"])
disable_scroll_wheel(self.npoints)
self.npoints.setMinimum(2)
self.npoints.setValue(10)
self.addWidget(self.npoints, 2, 1)
self.addWidget(self.npoints, 1, 1)

self.min.setValue(state["min"]/scale)
self.max = ScientificSpinBox()
self.max.setStyleSheet("QDoubleSpinBox {color:red}")
self.max.setMinimumSize(110, 0)
self.max.setValue(state["max"]/scale)
self.npoints.setValue(state["npoints"])
disable_scroll_wheel(self.max)
apply_properties(self.max)
self.addWidget(self.max, 2, 1)

def update_min(value):
state["min"] = value*scale

def update_max(value):
state["min"] = value*scale

def update_npoints(value):
state["npoints"] = value

scanner.sigMinMoved.connect(self.min.setValue)
# scanner.sigNumChanged.connect(self.npoints.setValue)
scanner.sigMaxMoved.connect(self.max.setValue)
self.min.valueChanged.connect(update_min)
self.max.valueChanged.connect(update_max)
self.min.valueChanged.connect(scanner.setMin)
# self.npoints.valueChanged.connect(scanner.setNumPoints)
self.npoints.valueChanged.connect(update_npoints)
self.max.valueChanged.connect(scanner.setMax)
self.max.valueChanged.connect(update_max)


class _ExplicitScan(LayoutWidget):
Loading