From 0d634a5b776e5ce9da4367d7274f81f3f41fabe0 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Wed, 29 Jan 2025 22:37:53 +0100 Subject: [PATCH] [central] add enum class for tasks --- fixtracks/widgets/centralwidget.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/fixtracks/widgets/centralwidget.py b/fixtracks/widgets/centralwidget.py index a5db9ac..c36c9d8 100644 --- a/fixtracks/widgets/centralwidget.py +++ b/fixtracks/widgets/centralwidget.py @@ -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)