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