refactor: Modify the display and interaction related to worklist.
This commit is contained in:
@@ -25,14 +25,19 @@ void ScanProcessSequence::updateAutoLocatePosition(int aX, int aY, int aZ)
|
||||
emit autoLocateZUpdated(aZ);
|
||||
}
|
||||
|
||||
void ScanProcessSequence::pushPosition(ScanPosition aPostion)
|
||||
void ScanProcessSequence::pushAccession(AccessionInformation* aAccession, ScanPosition aPostion)
|
||||
{
|
||||
mScanProtocol.push(aPostion);
|
||||
mScanProtocol.push(QPair<AccessionInformation*, ScanPosition>(aAccession, aPostion));
|
||||
}
|
||||
|
||||
QPair<AccessionInformation*,ScanPosition> ScanProcessSequence::topAccession()
|
||||
{
|
||||
return mScanProtocol.top();
|
||||
}
|
||||
|
||||
ScanPosition ScanProcessSequence::popPosition()
|
||||
{
|
||||
ScanPosition result = mScanProtocol.pop();
|
||||
ScanPosition result = mScanProtocol.pop().second;
|
||||
if(mScanProtocol.size() == 0)
|
||||
{
|
||||
emit ScanProcessSequenceFinished();
|
||||
@@ -42,7 +47,7 @@ ScanPosition ScanProcessSequence::popPosition()
|
||||
|
||||
ScanPosition ScanProcessSequence::topPosition()
|
||||
{
|
||||
return mScanProtocol.top();
|
||||
return mScanProtocol.top().second;
|
||||
}
|
||||
|
||||
void ScanProcessSequence::clear()
|
||||
|
||||
@@ -4,19 +4,23 @@
|
||||
#include <QObject>
|
||||
#include <QStack>
|
||||
|
||||
|
||||
enum ScanPosition
|
||||
{
|
||||
Left = 0, Right
|
||||
};
|
||||
|
||||
class AccessionInformation;
|
||||
|
||||
class ScanProcessSequence : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
static ScanProcessSequence* getInstance();
|
||||
void pushPosition(ScanPosition aPosition);
|
||||
void pushAccession(AccessionInformation* aAccession, ScanPosition aPosition);
|
||||
ScanPosition popPosition();
|
||||
ScanPosition topPosition();
|
||||
QPair<AccessionInformation*,ScanPosition> topAccession();
|
||||
int getScanPositionSize();
|
||||
void clear();
|
||||
|
||||
@@ -35,7 +39,7 @@ private slots:
|
||||
|
||||
private:
|
||||
ScanProcessSequence(QObject* aParent = nullptr);
|
||||
QStack<ScanPosition> mScanProtocol;
|
||||
QStack<QPair<AccessionInformation*, ScanPosition>> mScanProtocol;
|
||||
|
||||
};
|
||||
|
||||
|
||||
81
src/utilities/WorklistFilterHelper.cpp
Normal file
81
src/utilities/WorklistFilterHelper.cpp
Normal file
@@ -0,0 +1,81 @@
|
||||
#include "WorklistFilterHelper.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QDate>
|
||||
|
||||
#include "json/jsonobject.h"
|
||||
|
||||
QStringList WorklistFilterHelper::getWorklistFilterModalityList()
|
||||
{
|
||||
return QStringList()<< QObject::tr("None") << "US" << "CT";
|
||||
}
|
||||
|
||||
QString WorklistFilterHelper::getCurrentWorklistFilterModality()
|
||||
{
|
||||
QString modality = JsonObject::Instance()->getWorklistFilterModality();
|
||||
if(modality.isEmpty())
|
||||
{
|
||||
return QObject::tr("None");
|
||||
}
|
||||
return modality;
|
||||
}
|
||||
|
||||
QString WorklistFilterHelper::processSelectedWorklistFilterModality(const QString& aModality)
|
||||
{
|
||||
if(aModality == QObject::tr("None"))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return aModality;
|
||||
}
|
||||
|
||||
QStringList WorklistFilterHelper::getWorklistFilterDateList()
|
||||
{
|
||||
return QStringList()<< QObject::tr("None") << QObject::tr("Today") << QObject::tr("Last 3 days") << QObject::tr("Last 7 days");
|
||||
}
|
||||
|
||||
QString WorklistFilterHelper::getCurrentWorklistFilterDate()
|
||||
{
|
||||
int date = JsonObject::Instance()->getWorklistFilterDate().toInt();
|
||||
switch (date)
|
||||
{
|
||||
case -1:return QObject::tr("None");
|
||||
case 0:return QObject::tr("Today");
|
||||
case 3:return QObject::tr("Last 3 days");
|
||||
case 7:return QObject::tr("Last 7 days");
|
||||
default: return QObject::tr("None");
|
||||
}
|
||||
}
|
||||
|
||||
QString WorklistFilterHelper::processSelectedWorklistFilterDate(const QString& aModality)
|
||||
{
|
||||
if(aModality == QObject::tr("Today"))
|
||||
{
|
||||
return "0";
|
||||
}
|
||||
|
||||
if(aModality == QObject::tr("Last 3 days"))
|
||||
{
|
||||
return "3";
|
||||
}
|
||||
|
||||
if(aModality == QObject::tr("Last 7 days"))
|
||||
{
|
||||
return "7";
|
||||
}
|
||||
|
||||
return "-1";
|
||||
}
|
||||
|
||||
QString WorklistFilterHelper::getFilterDateStringInSCU()
|
||||
{
|
||||
int date = JsonObject::Instance()->getWorklistFilterDate().toInt();
|
||||
if(date < 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
QDate today = QDate::currentDate();
|
||||
QDate startDate = today.addDays(0-date);
|
||||
return startDate.toString("yyyyMMdd") + "-" + today.toString("yyyyMMdd");
|
||||
}
|
||||
21
src/utilities/WorklistFilterHelper.h
Normal file
21
src/utilities/WorklistFilterHelper.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef WORKLISTFILTERHELPER_H
|
||||
#define WORKLISTFILTERHELPER_H
|
||||
|
||||
#include <QString>
|
||||
|
||||
class WorklistFilterHelper
|
||||
{
|
||||
public:
|
||||
WorklistFilterHelper() = delete;
|
||||
|
||||
static QStringList getWorklistFilterModalityList();
|
||||
static QString getCurrentWorklistFilterModality();
|
||||
static QString processSelectedWorklistFilterModality(const QString& aModality);
|
||||
|
||||
static QStringList getWorklistFilterDateList();
|
||||
static QString getCurrentWorklistFilterDate();
|
||||
static QString processSelectedWorklistFilterDate(const QString& aModality);
|
||||
static QString getFilterDateStringInSCU();
|
||||
};
|
||||
|
||||
#endif // WORKLISTFILTERHELPER_H
|
||||
Reference in New Issue
Block a user