Skip to content

Commit

Permalink
Merge pull request #18 from davidgrier/qtasks
Browse files Browse the repository at this point in the history
Qtasks
  • Loading branch information
sustielz authored Aug 18, 2020
2 parents ab28e91 + 7c30d47 commit 11ef8e6
Show file tree
Hide file tree
Showing 94 changed files with 1,816 additions and 2,094 deletions.
45 changes: 40 additions & 5 deletions FabWidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Form implementation generated from reading ui file 'FabWidget.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!

Expand All @@ -11,7 +11,7 @@
class Ui_PyFab(object):
def setupUi(self, PyFab):
PyFab.setObjectName("PyFab")
PyFab.resize(1072, 732)
PyFab.resize(1239, 732)
self.centralwidget = QtWidgets.QWidget(PyFab)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
Expand All @@ -30,6 +30,7 @@ def setupUi(self, PyFab):
self.screen.setMinimumSize(QtCore.QSize(640, 480))
self.screen.setObjectName("screen")
self.tabWidget = QtWidgets.QTabWidget(self.splitter)
self.tabWidget.setEnabled(True)
self.tabWidget.setMinimumSize(QtCore.QSize(400, 0))
self.tabWidget.setAccessibleName("")
self.tabWidget.setObjectName("tabWidget")
Expand Down Expand Up @@ -149,6 +150,37 @@ def setupUi(self, PyFab):
self.vision.setObjectName("vision")
self.visionLayout.addWidget(self.vision)
self.tabWidget.addTab(self.tabVision, "")
self.tabTasks = QtWidgets.QWidget()
self.tabTasks.setObjectName("tabTasks")
self.bpausequeue = QtWidgets.QPushButton(self.tabTasks)
self.bpausequeue.setGeometry(QtCore.QRect(30, 410, 89, 25))
self.bpausequeue.setObjectName("bpausequeue")
self.bclearqueue = QtWidgets.QPushButton(self.tabTasks)
self.bclearqueue.setGeometry(QtCore.QRect(30, 450, 89, 25))
self.bclearqueue.setObjectName("bclearqueue")
self.horizontalLayoutWidget = QtWidgets.QWidget(self.tabTasks)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(20, 20, 551, 371))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.TaskManagerView = QtWidgets.QListView(self.horizontalLayoutWidget)
self.TaskManagerView.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.TaskManagerView.setObjectName("TaskManagerView")
self.horizontalLayout_2.addWidget(self.TaskManagerView)
self.scrollArea_2 = QtWidgets.QScrollArea(self.horizontalLayoutWidget)
self.scrollArea_2.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.scrollArea_2.setWidgetResizable(True)
self.scrollArea_2.setObjectName("scrollArea_2")
self.TaskPropertiesView = QtWidgets.QWidget()
self.TaskPropertiesView.setGeometry(QtCore.QRect(0, 0, 269, 367))
self.TaskPropertiesView.setObjectName("TaskPropertiesView")
self.TaskPropertiesLayout = QtWidgets.QFormLayout(self.TaskPropertiesView)
self.TaskPropertiesLayout.setObjectName("TaskPropertiesLayout")
self.scrollArea_2.setWidget(self.TaskPropertiesView)
self.horizontalLayout_2.addWidget(self.scrollArea_2)
self.tabWidget.addTab(self.tabTasks, "")
self.tabHardware = QtWidgets.QWidget()
self.tabHardware.setObjectName("tabHardware")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tabHardware)
Expand Down Expand Up @@ -225,7 +257,7 @@ def setupUi(self, PyFab):
self.gridLayout.addWidget(self.splitter, 0, 0, 1, 1)
PyFab.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(PyFab)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1072, 31))
self.menubar.setGeometry(QtCore.QRect(0, 0, 1239, 22))
self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(self.menubar)
self.menuFile.setObjectName("menuFile")
Expand Down Expand Up @@ -265,7 +297,7 @@ def setupUi(self, PyFab):
self.menubar.addAction(self.menuTasks.menuAction())

self.retranslateUi(PyFab)
self.tabWidget.setCurrentIndex(7)
self.tabWidget.setCurrentIndex(3)
self.actionQuit.triggered.connect(PyFab.close)
self.dvr.recording['bool'].connect(self.camera.setDisabled)
self.dvr.recording['bool'].connect(self.filters.setDisabled)
Expand All @@ -276,9 +308,9 @@ def setupUi(self, PyFab):
self.actionSavePhotoAs.triggered.connect(PyFab.savePhotoAs)
self.actionSaveHologram.triggered.connect(PyFab.saveHologram)
self.actionSaveHologramAs.triggered.connect(PyFab.saveHologramAs)
self.tabWidget.currentChanged['int'].connect(self.hardware.expose)
self.screen.sigFPS['double'].connect(self.fps.setValue)
self.bback.clicked.connect(self.browser.back)
self.tabWidget.currentChanged['int'].connect(self.hardware.expose)
QtCore.QMetaObject.connectSlotsByName(PyFab)

def retranslateUi(self, PyFab):
Expand All @@ -298,6 +330,9 @@ def retranslateUi(self, PyFab):
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabVideo), _translate("PyFab", "Video"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabHistogram), _translate("PyFab", "Histogram"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabVision), _translate("PyFab", "Vision"))
self.bpausequeue.setText(_translate("PyFab", "pause"))
self.bclearqueue.setText(_translate("PyFab", "clear"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabTasks), _translate("PyFab", "Tasks"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabHardware), _translate("PyFab", "Hardware"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabTraps), _translate("PyFab", "Traps"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabCGH), _translate("PyFab", "CGH"))
Expand Down
123 changes: 103 additions & 20 deletions FabWidget.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>1072</width>
<width>1239</width>
<height>732</height>
</rect>
</property>
Expand Down Expand Up @@ -50,6 +50,9 @@
</property>
</widget>
<widget class="QTabWidget" name="tabWidget">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>400</width>
Expand All @@ -63,7 +66,7 @@
<string/>
</property>
<property name="currentIndex">
<number>7</number>
<number>3</number>
</property>
<widget class="QWidget" name="tabVideo">
<property name="sizePolicy">
Expand Down Expand Up @@ -375,6 +378,86 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tabTasks">
<attribute name="title">
<string>Tasks</string>
</attribute>
<widget class="QPushButton" name="bpausequeue">
<property name="geometry">
<rect>
<x>30</x>
<y>410</y>
<width>89</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>pause</string>
</property>
</widget>
<widget class="QPushButton" name="bclearqueue">
<property name="geometry">
<rect>
<x>30</x>
<y>450</y>
<width>89</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>clear</string>
</property>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>551</width>
<height>371</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<widget class="QListView" name="TaskManagerView">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QScrollArea" name="scrollArea_2">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="TaskPropertiesView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>269</width>
<height>367</height>
</rect>
</property>
<layout class="QFormLayout" name="TaskPropertiesLayout"/>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="tabHardware">
<attribute name="title">
<string>Hardware</string>
Expand Down Expand Up @@ -567,8 +650,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1072</width>
<height>31</height>
<width>1239</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
Expand Down Expand Up @@ -890,22 +973,6 @@
</hint>
</hints>
</connection>
<connection>
<sender>tabWidget</sender>
<signal>currentChanged(int)</signal>
<receiver>hardware</receiver>
<slot>expose(int)</slot>
<hints>
<hint type="sourcelabel">
<x>856</x>
<y>365</y>
</hint>
<hint type="destinationlabel">
<x>856</x>
<y>382</y>
</hint>
</hints>
</connection>
<connection>
<sender>screen</sender>
<signal>sigFPS(double)</signal>
Expand Down Expand Up @@ -938,6 +1005,22 @@
</hint>
</hints>
</connection>
<connection>
<sender>tabWidget</sender>
<signal>currentChanged(int)</signal>
<receiver>hardware</receiver>
<slot>expose(int)</slot>
<hints>
<hint type="sourcelabel">
<x>856</x>
<y>365</y>
</hint>
<hint type="destinationlabel">
<x>856</x>
<y>382</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>pauseTasks()</slot>
Expand Down
6 changes: 2 additions & 4 deletions jansenlib/QJansenScreen.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,8 @@ def source(self, source):
self.source.sigNewFrame.disconnect(self.updateImage)
except AttributeError:
pass
if source is None:
source = self.default
source.sigNewFrame.connect(self.updateImage)
self._source = source
self._source = source or self.default
self._source.sigNewFrame.connect(self.updateImage)

@pyqtSlot(np.ndarray)
def updateImage(self, image):
Expand Down
2 changes: 1 addition & 1 deletion jansenlib/video/QOpenCV/QOpenCV.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import logging
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.setLevel(logging.WARN)


class QOpenCV(QSettingsWidget):
Expand Down
12 changes: 12 additions & 0 deletions jansenlib/video/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import logging
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

try:
from .QSpinnaker.QSpinnaker import QSpinnaker as QCamera
except Exception as ex:
logger.warning('Could not import Spinnaker camera: {}'.format(ex))
from .QOpenCV.QOpenCV import QOpenCV as QCamera

__all__ = ['QCamera']
Loading

0 comments on commit 11ef8e6

Please sign in to comment.