[central] add enum class for tasks

This commit is contained in:
Jan Grewe 2025-01-29 22:37:53 +01:00
parent c188ffef3a
commit 0d634a5b77

View File

@ -1,4 +1,5 @@
import logging
import enum
from PySide6.QtWidgets import QWidget, QStackedLayout, QSizePolicy, QHBoxLayout, QPushButton
from PySide6.QtCore import Qt, QSize
from PySide6.QtGui import QIcon
@ -8,6 +9,12 @@ from fixtracks.widgets.detectionmerge import MergeDetections
from fixtracks.widgets.taskwidget import TasksWidget
from fixtracks.widgets.converter import Json2PandasConverter
class Task(enum.Enum):
CONVERT = "Convert"
MERGE = "Merge"
TRACKS = "Tracks"
class CentralWidget(QWidget):
def __init__(self, darkmode, parent=None):
@ -27,20 +34,20 @@ class CentralWidget(QWidget):
self._trackwidget = FixTracks(self)
self._trackwidget.back.connect(self._on_back)
convert = "convert"
convertBtn = QPushButton(QIcon(":/icons/convert_light"), "Convert")
convert = Task.CONVERT
convertBtn = QPushButton(QIcon(":/icons/convert_light"), Task.CONVERT.value)
convertBtn.setToolTip("Convert JSON pose files to to Pandas data frames")
convertBtn.setIconSize(QSize(128, 128))
convertBtn.clicked.connect(lambda: self._select_task(convert))
merge = "merge"
mergeBtn = QPushButton(QIcon(":/icons/merge_light"), "Merge")
merge = Task.MERGE
mergeBtn = QPushButton(QIcon(":/icons/merge_light"), Task.MERGE.value)
mergeBtn.setToolTip("Merge detections from two cameras to the same dataset")
mergeBtn.setIconSize(QSize(128, 128))
mergeBtn.clicked.connect(lambda: self._select_task(merge))
track = "track"
trackBtn = QPushButton(QIcon(":/icons/tracks_light"), "Track")
track = Task.TRACKS
trackBtn = QPushButton(QIcon(":/icons/tracks_light"), Task.TRACKS.value)
trackBtn.setToolTip("Fix tracking of individuals, reassign track ids.")
trackBtn.setIconSize(QSize(128, 128))
trackBtn.clicked.connect(lambda: self._select_task(track))
@ -67,13 +74,13 @@ class CentralWidget(QWidget):
def _select_task(self, s):
logging.debug("Centralwidget: Selected task: %s", s)
if "merge" in s.lower():
if s == Task.MERGE:
self.layout().setCurrentIndex(self._mergeindex)
self._mergewidget.fileList = self._tw.fileList
elif "tracks" in s.lower():
elif s == Task.TRACKS:
self.layout().setCurrentIndex(self._trackindex)
self._trackwidget.fileList = self._tw.fileList
elif "convert" in s.lower():
elif s == Task.CONVERT:
self.layout().setCurrentIndex(self._convertindex)
else:
self.layout().setCurrentIndex(self._tasksindex)