From cde6a28977dc2affddb76b6f7f1ffff822581c46 Mon Sep 17 00:00:00 2001
From: Seth Hitefield <sdhitefield@gmail.com>
Date: Tue, 31 Mar 2015 18:39:35 -0700
Subject: qtgui: Initial removal of pyqwt. Replaced with pyqt4.

---
 gr-qtgui/python/qtgui/range.py | 105 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100755 gr-qtgui/python/qtgui/range.py

(limited to 'gr-qtgui/python/qtgui/range.py')

diff --git a/gr-qtgui/python/qtgui/range.py b/gr-qtgui/python/qtgui/range.py
new file mode 100755
index 0000000000..1d19818692
--- /dev/null
+++ b/gr-qtgui/python/qtgui/range.py
@@ -0,0 +1,105 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright 2015 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+from PyQt4 import Qt, QtCore, QtGui
+
+
+class Range(QtGui.QWidget):
+
+    def __init__(self, min, max, step, default, style):
+        QtGui.QWidget.__init__(self)
+
+        self.min = min
+        self.max = max
+        self.step = step
+        self.default = default
+
+        if style == "dial":
+            self.setupDial()
+        elif style == "slider":
+            self.setupSlider()
+        elif style == "counter":
+            self.setupCounter()
+        elif style == "counter_slider":
+            self.setupCounterSlider()
+
+
+    def setupCounterSlider(self):
+        """ Creates the range using a counter and slider """
+
+        layout = Qt.QHBoxLayout()
+        slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
+        slider.setFocusPolicy(QtCore.Qt.NoFocus)
+        slider.setRange(self.min, self.max)
+        slider.setPageStep(self.step)
+        slider.setSingleStep(self.step)
+        slider.setTracking(False)
+        slider.setInvertedControls(True)
+        layout.addWidget(slider)
+
+        counter = QtGui.QDoubleSpinBox(self)
+        counter.setRange(self.min, self.max)
+        counter.setSingleStep(self.step)
+        counter.setDecimals(0)
+        layout.addWidget(counter)
+
+        # Wire the events to each other
+        counter.valueChanged.connect(slider.setValue)
+        slider.valueChanged.connect(counter.setValue)
+
+        self.setLayout(layout)
+
+    def setupCounter(self):
+        """ Creates the range using a counter """
+
+        layout = Qt.QHBoxLayout()
+        counter = QtGui.QDoubleSpinBox(self)
+        counter.setRange(self.min, self.max)
+        counter.setSingleStep(self.step)
+        counter.setDecimals(0)
+        layout.addWidget(counter)
+        self.setLayout(layout)
+
+    def setupSlider(self):
+        """ Creates the range using a slider """
+
+        layout = Qt.QHBoxLayout()
+        slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
+        slider.setFocusPolicy(QtCore.Qt.NoFocus)
+        slider.setRange(self.min, self.max)
+        slider.setPageStep(self.step)
+        slider.setSingleStep(self.step)
+        slider.setTracking(False)
+        slider.setInvertedControls(True)
+        layout.addWidget(slider)
+        self.setLayout(layout)
+
+    def init_dial(self):
+        layout = Qt.QHBoxLayout()
+        dial = QtGui.QDial(self)
+        dial.setRange(min, max)
+        dial.setSingleStep(step)
+        dial.setNotchesVisible(True)
+        dial.setValue(init_value)
+        layout.addWidget(dial)
+        self.setLayout(layout)
-- 
cgit v1.2.3