refact. SubProc превр. в класс. fix bug canplay

This commit is contained in:
2025-11-18 17:23:37 +03:00
parent b333ec8ec1
commit 31e01ff8e5
9 changed files with 157 additions and 123 deletions

View File

@@ -37,3 +37,91 @@ void MalfunctionSign::initialize(int type, QString description)
this->type = type;
this->description = description;
}
QString SubProc::getDmCode() const
{
return dmCode;
}
QString SubProc::getTitle() const
{
return title;
}
void SubProc::setDmCode(const QString &value)
{
dmCode = value;
}
void SubProc::setTitle(const QString &value)
{
title = value;
}
QString SubProc::getModeListStr() const
{
return modeListStr;
}
ModeList SubProc::getModeList() const
{
return modeList;
}
void SubProc::setModeList(const ModeList &value)
{
this->modeList = value;
this->modeListStr = buildCanplay(value);
}
void SubProc::setModeListStr(const QString &value)
{
this->modeListStr = value;
this->modeList = parseCanplay(value);
}
QString SubProc::buildCanplay(ModeList modeList)
{
QString canplay = QString("%1/%2/%3/%4").arg(modeList.demo?"+":"-", modeList.train?"+":"-", modeList.exam?"+":"-", modeList.autoM?"+":"-");
return canplay;
}
ModeList SubProc::parseCanplay(QString canplay)
{
ModeList modeList;
if(canplay == "")
{
modeList.demo = false;
modeList.train = false;
modeList.exam = false;
modeList.autoM = false;
}
else
{
QStringList list = canplay.split("/");
if(list.at(0) == "+")
modeList.demo = true;
else
modeList.demo = false;
if(list.at(1) == "+")
modeList.train = true;
else
modeList.train = false;
if(list.at(2) == "+")
modeList.exam = true;
else
modeList.exam = false;
if(list.at(3) == "+")
modeList.autoM = true;
else
modeList.autoM = false;
}
return modeList;
}

View File

@@ -13,12 +13,38 @@ struct ModeList
bool autoM = false;
};
struct SubProc
class DATABASELMS_EXPORT SubProc
{
QString dmCode;
QString title;
public:
SubProc()
{
modeListStr = buildCanplay(modeList);
};
~SubProc(){};
public:
void setModeList(const ModeList &modeList);
ModeList getModeList() const;
void setModeListStr(const QString &modeListStr);
QString getModeListStr() const;
void setDmCode(const QString &value);
QString getDmCode() const;
void setTitle(const QString &value);
QString getTitle() const;
public:
static QString buildCanplay(ModeList modeList);
static ModeList parseCanplay(QString canplay);
private:
QString dmCode = "";
QString title = "";
ModeList modeList;
QString modeListStr = "";
};
class DATABASELMS_EXPORT ProcedureID