logic 추가
git-svn-id: svn://192.168.0.12/source@302 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -26,7 +26,8 @@ SOURCES += main.cpp\
|
||||
scompanyprocess.cpp \
|
||||
serrorprocess.cpp \
|
||||
srunningprocess.cpp \
|
||||
slogwidget.cpp
|
||||
slogwidget.cpp \
|
||||
seffectlogic.cpp
|
||||
|
||||
HEADERS += widget.h \
|
||||
scompanylistwidget.h \
|
||||
@@ -40,6 +41,7 @@ HEADERS += widget.h \
|
||||
scompanyprocess.h \
|
||||
serrorprocess.h \
|
||||
srunningprocess.h \
|
||||
slogwidget.h
|
||||
slogwidget.h \
|
||||
seffectlogic.h
|
||||
|
||||
FORMS += widget.ui
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 3.3.0, 2016-10-19T19:14:14. -->
|
||||
<!-- Written by QtCreator 3.3.0, 2016-10-21T19:00:52. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <QString>
|
||||
#include <QDate>
|
||||
#include <QStringList>
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
namespace
|
||||
@@ -24,11 +25,13 @@ SCompanyProcess::SCompanyProcess():SParentProcess(),
|
||||
|
||||
void SCompanyProcess::setList(const QVector<int>& _list)
|
||||
{
|
||||
clear();
|
||||
m_vecRunList = _list;
|
||||
}
|
||||
|
||||
void SCompanyProcess::setList(QVector<int>&& _list)
|
||||
{
|
||||
clear();
|
||||
m_vecRunList = std::move(_list);
|
||||
}
|
||||
|
||||
@@ -45,6 +48,7 @@ void SCompanyProcess::setList(QVector<SEffectRow>&& _list)
|
||||
void SCompanyProcess::runInit()
|
||||
{
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_INIT);
|
||||
|
||||
QSqlDatabase db = QSqlDatabase::database(strDatabaseName);
|
||||
if (!db.open())
|
||||
{
|
||||
@@ -53,13 +57,14 @@ void SCompanyProcess::runInit()
|
||||
return;
|
||||
}
|
||||
|
||||
QString strQuery("select num, enddate from company where enddate in (");
|
||||
foreach (auto& num, m_vecRunList)
|
||||
QString strQuery("select num, enddate from company where num in (");
|
||||
foreach (auto num, m_vecRunList)
|
||||
{
|
||||
strQuery += (QString::number(num) + ",");
|
||||
}
|
||||
strQuery = strQuery.left(strQuery.length() - 1);
|
||||
strQuery += ")";
|
||||
signalLog(strQuery);
|
||||
|
||||
QSqlQuery query(db);
|
||||
if (!query.exec(strQuery))
|
||||
@@ -68,12 +73,10 @@ void SCompanyProcess::runInit()
|
||||
emit signalTerminateError(getError());
|
||||
return;
|
||||
}
|
||||
|
||||
while (query.next())
|
||||
{
|
||||
QDate enddate = QDate::fromString(query.value(1).toString(), "yyyy-MM-dd");
|
||||
QDate today = QDate::currentDate();
|
||||
|
||||
if (today <= enddate.addMonths(1))
|
||||
{
|
||||
m_vecRunOrderList.push_back(query.value(0).toInt());
|
||||
@@ -133,9 +136,9 @@ void SCompanyProcess::runInit()
|
||||
|
||||
void SCompanyProcess::initIterator()
|
||||
{
|
||||
m_iterRunOrderList = m_vecRunList.begin();
|
||||
m_iterRunOrderList = m_vecRunOrderList.begin();
|
||||
|
||||
while (m_iterRunOrderList != m_vecRunList.end())
|
||||
while (m_iterRunOrderList != m_vecRunOrderList.end())
|
||||
{
|
||||
if (m_mapEffectRow.contains(*m_iterRunOrderList))
|
||||
{
|
||||
@@ -155,17 +158,19 @@ void SCompanyProcess::nextIterator()
|
||||
if (m_iterEffectRow == m_mapEffectRow[*m_iterRunOrderList].end())
|
||||
{
|
||||
m_bDoneCompany = true;
|
||||
while (m_iterRunOrderList != m_vecRunList.end())
|
||||
while (++m_iterRunOrderList != m_vecRunOrderList.end())
|
||||
{
|
||||
if (m_mapEffectRow.contains(*m_iterRunOrderList))
|
||||
{
|
||||
m_iterEffectRow = m_mapEffectRow[*m_iterRunOrderList].begin();
|
||||
break;
|
||||
}
|
||||
/*
|
||||
else
|
||||
{
|
||||
++m_iterRunOrderList;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -174,7 +179,7 @@ void SCompanyProcess::nextIterator()
|
||||
|
||||
bool SCompanyProcess::isDone()
|
||||
{
|
||||
return m_iterRunOrderList == m_vecRunList.end();
|
||||
return m_iterRunOrderList == m_vecRunOrderList.end();
|
||||
}
|
||||
|
||||
void SCompanyProcess::runEventCode()
|
||||
@@ -189,6 +194,7 @@ void SCompanyProcess::runEventCode()
|
||||
|
||||
if (isDone())
|
||||
{
|
||||
qDebug() << "Done";
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_TERMINATE);
|
||||
emit signalTerminateNormal();
|
||||
return;
|
||||
@@ -198,6 +204,8 @@ void SCompanyProcess::runEventCode()
|
||||
setCurrentEffectRow(row);
|
||||
nextIterator();
|
||||
|
||||
emit signalCompanyStart(row.company_num);
|
||||
|
||||
runProcess(getProcessArguments(row));
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ public:
|
||||
|
||||
signals:
|
||||
void signalTerminateCompany(int _company_num);
|
||||
void signalCompanyStart(int _company_num);
|
||||
void signalCompanyOutdated(const QVector<int>& _vecCompanyNum);
|
||||
|
||||
private:
|
||||
void initIterator();
|
||||
|
||||
@@ -19,17 +19,21 @@ void SErrorProcess::setList(QVector<int>&& _list)
|
||||
|
||||
void SErrorProcess::setList(const QVector<SEffectRow>& _list)
|
||||
{
|
||||
clear();
|
||||
m_vecRunList = _list;
|
||||
}
|
||||
|
||||
void SErrorProcess::setList(QVector<SEffectRow>&& _list)
|
||||
{
|
||||
clear();
|
||||
m_vecRunList = std::move(_list);
|
||||
}
|
||||
|
||||
void SErrorProcess::runInit()
|
||||
{
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_INIT);
|
||||
initIterator();
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
||||
}
|
||||
|
||||
void SErrorProcess::runEventCode()
|
||||
|
||||
@@ -12,6 +12,7 @@ SLogWidget::SLogWidget(QWidget *parent):QWidget(parent),
|
||||
{
|
||||
m_pLayout->addWidget(m_plwLog);
|
||||
setLayout(m_pLayout);
|
||||
//m_plwLog->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "sutilfunction.h"
|
||||
#include <QThread>
|
||||
#include <QString>
|
||||
#include <QDebug>
|
||||
|
||||
extern QString ERROR_MESSAGE[];
|
||||
|
||||
@@ -15,8 +16,8 @@ const QString SPLIT_KEYWORD = "!@#";
|
||||
SParentProcess::SParentProcess():m_pProcess(new QProcess(this)), m_bRunning(false), nTime(0),
|
||||
m_bUserAbort(false), m_eInnerMode(E_INNER_RUN_MODE::MODE_WAIT)
|
||||
{
|
||||
QObject::connect(m_pProcess, SIGNAL(QProcess::finished(int, QProcess::ExitStatus)),
|
||||
this, SLOT(SParentProcess::finishedProcess(int, QProcess::ExitStatus)));
|
||||
QObject::connect(m_pProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
|
||||
this, SLOT(finishedProcess(int, QProcess::ExitStatus)));
|
||||
QObject::connect(this, &SParentProcess::signalTerminateError,
|
||||
this, &SParentProcess::slotTerminateError);
|
||||
}
|
||||
@@ -44,7 +45,7 @@ QVector<SEffectRow> SParentProcess::getErrorList() const
|
||||
|
||||
SReportSummary SParentProcess::getReportSummary(int _id) const
|
||||
{
|
||||
return m_mapReportSummary[_id];
|
||||
return m_mapReportSummary.value(_id, SReportSummary());
|
||||
}
|
||||
|
||||
QMap<int, SReportSummary> SParentProcess::getReportSummary() const
|
||||
@@ -78,14 +79,22 @@ QStringList SParentProcess::getProcessArguments(SEffectRow&& _row) const
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SParentProcess::runProcess(QStringList _arguments)
|
||||
{
|
||||
if (_arguments.size() > 0)
|
||||
{
|
||||
QString arg = _arguments.at(0);
|
||||
_arguments.removeFirst();
|
||||
|
||||
m_pProcess->start(arg, _arguments);
|
||||
}
|
||||
else
|
||||
{
|
||||
emit signalLog("x " + m_erCurrentRow.eventcode + " " + m_erCurrentRow.url + "\nERROR:NO_PROGRAM");
|
||||
emit signalTerminateEachEvent(m_erCurrentRow.company_num, E_CRAWL_STATE::FAIL);
|
||||
m_vecError.append(m_erCurrentRow);
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
||||
}
|
||||
}
|
||||
|
||||
void SParentProcess::setError(const SError& _error)
|
||||
@@ -110,7 +119,6 @@ void SParentProcess::update()
|
||||
|
||||
case E_INNER_RUN_MODE::MODE_WAIT:
|
||||
{
|
||||
clear();
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_INIT);
|
||||
break;
|
||||
}
|
||||
@@ -190,6 +198,7 @@ void SParentProcess::finishedProcess(int exitCode, QProcess::ExitStatus exitStat
|
||||
emit signalLog(strLog);
|
||||
emit signalTerminateEachEvent(analyzedResult.company_num, analyzedResult.state);
|
||||
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
||||
|
||||
//This may be unnecessary :(
|
||||
//pPro->kill();
|
||||
}
|
||||
@@ -354,5 +363,6 @@ void SParentProcess::setCurrentEffectRow(const SEffectRow& _row)
|
||||
|
||||
void SParentProcess::setCurrentEffectRow(SEffectRow&& _row)
|
||||
{
|
||||
m_erCurrentRow = _row;
|
||||
m_erCurrentRow = std::move(_row);
|
||||
}
|
||||
|
||||
@@ -288,9 +288,12 @@ void SRunningListWidget::setWaiting(int _id)
|
||||
|
||||
void SRunningListWidget::setComplete(int _id)
|
||||
{
|
||||
QTableWidgetItem* item = findWidgetItembyID(_id, E_TABLE_HEADER::LAST_UPDATE_TIME);
|
||||
if (item)
|
||||
if (QTableWidgetItem* item = findWidgetItembyID(_id, E_TABLE_HEADER::LAST_UPDATE_TIME))
|
||||
item->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
||||
|
||||
if (QTableWidgetItem* item = findWidgetItembyID(_id, E_TABLE_HEADER::STATUS))
|
||||
item->setText("Complete");
|
||||
|
||||
}
|
||||
|
||||
void SRunningListWidget::setOutDate(int _id)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#include "srunningprocess.h"
|
||||
#include <QTimer>
|
||||
#include <QDebug>
|
||||
|
||||
namespace{
|
||||
const int ONE_SECOND = 1000; // 1 second
|
||||
const int HALF_SECOND = 500; // 0.5 second
|
||||
}
|
||||
|
||||
|
||||
SRunningProcess::SRunningProcess():
|
||||
m_pTimer(new QTimer(this)), m_pErrorProcess(new SErrorProcess),
|
||||
m_pCompanyProcess(new SCompanyProcess), m_eMode(E_PROCESS_MODE::WAIT),
|
||||
@@ -19,13 +19,15 @@ SRunningProcess::SRunningProcess():
|
||||
bool SRunningProcess::isRunning()
|
||||
{
|
||||
if (m_pCurrentProcess == nullptr && !m_pTimer->isActive())
|
||||
return true;
|
||||
return false;
|
||||
else
|
||||
return m_pCurrentProcess->isWaiting() && !m_pTimer->isActive();
|
||||
return !(m_pCurrentProcess->isWaiting() && !m_pTimer->isActive());
|
||||
}
|
||||
|
||||
void SRunningProcess::setList(const QVector<SEffectRow>& _list)
|
||||
{
|
||||
qDebug() << isRunning();
|
||||
|
||||
if (!isRunning())
|
||||
{
|
||||
m_pCurrentProcess = m_pErrorProcess;
|
||||
@@ -35,6 +37,8 @@ void SRunningProcess::setList(const QVector<SEffectRow>& _list)
|
||||
|
||||
void SRunningProcess::setList(QVector<SEffectRow>&& _list)
|
||||
{
|
||||
qDebug() << isRunning();
|
||||
|
||||
if (!isRunning())
|
||||
{
|
||||
m_pCurrentProcess = m_pErrorProcess;
|
||||
@@ -44,6 +48,7 @@ void SRunningProcess::setList(QVector<SEffectRow>&& _list)
|
||||
|
||||
void SRunningProcess::setList(const QVector<int>& _list)
|
||||
{
|
||||
qDebug() << isRunning();
|
||||
if (!isRunning())
|
||||
{
|
||||
m_pCurrentProcess = m_pCompanyProcess;
|
||||
@@ -53,6 +58,7 @@ void SRunningProcess::setList(const QVector<int>& _list)
|
||||
|
||||
void SRunningProcess::setList(QVector<int>&& _list)
|
||||
{
|
||||
qDebug() << isRunning();
|
||||
if (!isRunning())
|
||||
{
|
||||
m_pCurrentProcess = m_pCompanyProcess;
|
||||
@@ -110,6 +116,7 @@ void SRunningProcess::stop()
|
||||
|
||||
void SRunningProcess::slotCompanyComplete(int _num)
|
||||
{
|
||||
qDebug() << "slotCompanyComplete";
|
||||
SReportSummary summary = m_pCurrentProcess->getReportSummary(_num);
|
||||
emit signalCompanyComplete(_num, summary);
|
||||
}
|
||||
@@ -122,15 +129,16 @@ void SRunningProcess::slotSuccessErrorCompany(int _num)
|
||||
void SRunningProcess::slotTerminateError()
|
||||
{
|
||||
terminate();
|
||||
SError error = m_pCurrentProcess->getError();
|
||||
emit signalTerminateError(error);
|
||||
//SError error = m_pCurrentProcess->getError();
|
||||
emit signalTerminateError();
|
||||
}
|
||||
|
||||
void SRunningProcess::slotTerminateNormal()
|
||||
{
|
||||
terminate();
|
||||
qDebug() << "slotTerminteNormal ??";
|
||||
QVector<SEffectRow> errors = m_pCurrentProcess->getErrorList();
|
||||
QMap<int, SReportSummary> reportSummary = m_pCurrentProcess->getReportSummary();
|
||||
terminate();
|
||||
emit signalTerminateNormal(errors, reportSummary);
|
||||
}
|
||||
|
||||
@@ -149,5 +157,21 @@ void SRunningProcess::initConnect()
|
||||
|
||||
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalTerminateCompany, this, &SRunningProcess::slotCompanyComplete);
|
||||
QObject::connect(&(*m_pErrorProcess), &SErrorProcess::signalTerminateCompany, this, &SRunningProcess::slotSuccessErrorCompany);
|
||||
|
||||
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalUserAbort, this, &SRunningProcess::slotUserAbort);
|
||||
QObject::connect(&(*m_pErrorProcess), &SErrorProcess::signalUserAbort, this, &SRunningProcess::slotUserAbort);
|
||||
|
||||
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalCompanyStart, this, &SRunningProcess::slotCompanyStart);
|
||||
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalCompanyOutdated, this, &SRunningProcess::slotCompanyOutDated);
|
||||
}
|
||||
|
||||
void SRunningProcess::slotCompanyOutDated(const QVector<int>& _vecCompanyNum)
|
||||
{
|
||||
emit signalCompanyOutDated(_vecCompanyNum);
|
||||
}
|
||||
|
||||
void SRunningProcess::slotCompanyStart(int _companyNum)
|
||||
{
|
||||
emit signalCompanyStart(_companyNum);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ private slots:
|
||||
void slotSuccessErrorCompany(int _num);
|
||||
void slotTerminateError();
|
||||
void slotTerminateNormal();
|
||||
void slotCompanyOutDated(const QVector<int>& _vecCompanyNum);
|
||||
void slotCompanyStart(int _companyNum);
|
||||
|
||||
|
||||
signals:
|
||||
@@ -51,9 +53,11 @@ signals:
|
||||
void signalUserAbort();
|
||||
void signalTerminateNormal(const QVector<SEffectRow>& _error,
|
||||
const QMap<int, SReportSummary>& _report);
|
||||
void signalTerminateError(const SError& _error);
|
||||
void signalTerminateError();
|
||||
void signalCompanyComplete(int _num, const SReportSummary& summary);
|
||||
void signalSuccessErrorCompany(int _num);
|
||||
void signalCompanyOutDated(const QVector<int>& _vecCompanyNum);
|
||||
void signalCompanyStart(int _companyNum);
|
||||
|
||||
private:
|
||||
std::unique_ptr<QTimer> m_pTimer;
|
||||
|
||||
@@ -225,7 +225,8 @@ void SRunProcess::runInitCompany()
|
||||
if (!query.exec(strQuery))
|
||||
{
|
||||
SError err(E_ERROR_CODE::DB_QUERY_ERROR, query.lastQuery() + "\n" + query.lastError().text());
|
||||
processError(std::move(err));
|
||||
//processError(std::move(err));
|
||||
processError(err);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -256,7 +257,8 @@ void SRunProcess::runInitCompany()
|
||||
if (!query.exec(strQuery))
|
||||
{
|
||||
SError err(E_ERROR_CODE::DB_QUERY_ERROR, query.lastQuery() + "\n" + query.lastError().text());
|
||||
processError(std::move(err));
|
||||
//processError(std::move(err));
|
||||
processError(err);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,42 +4,64 @@
|
||||
#include "srunninglistwidget.h"
|
||||
#include "sadddelwidget.h"
|
||||
#include "slogwidget.h"
|
||||
#include "stimer.h"
|
||||
#include "seffectlogic.h"
|
||||
#include "srunningprocess.h"
|
||||
#include <QHBoxLayout>
|
||||
|
||||
Widget::Widget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
SCompanyListWidget *m_pCompanyWidget;
|
||||
SRunningListWidget *m_pRunningListWidget;
|
||||
SAddDelWidget *m_pAddDelWidget;
|
||||
SLogWidget *m_pLogWidget;
|
||||
STimer *m_pTimer;
|
||||
SEffectLogic *m_pLogic;
|
||||
|
||||
Widget::Widget(QWidget *parent) : m_pCompanyWidget(new SCompanyListWidget),
|
||||
m_pRunningListWidget(new SRunningListWidget), m_pAddDelWidget(new SAddDelWidget),
|
||||
m_pLogWidget(new SLogWidget), m_pTimer(new STimer), m_pLogic(new SEffectLogic),
|
||||
m_pProcess(new SRunningProcess),
|
||||
ui(new Ui::Widget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
SCompanyListWidget *c = new SCompanyListWidget;
|
||||
SRunningListWidget *d = new SRunningListWidget;
|
||||
SAddDelWidget *e = new SAddDelWidget;
|
||||
SLogWidget *f = new SLogWidget;
|
||||
QHBoxLayout* mainLayout = new QHBoxLayout(this);
|
||||
|
||||
mainLayout->addWidget(c);
|
||||
mainLayout->addWidget(e);
|
||||
QHBoxLayout* mainLayout = new QHBoxLayout();
|
||||
QVBoxLayout* vmainLayout = new QVBoxLayout(this);
|
||||
|
||||
mainLayout->addWidget(d);
|
||||
mainLayout->addWidget(f);
|
||||
mainLayout->addWidget(m_pCompanyWidget);
|
||||
mainLayout->addWidget(m_pAddDelWidget);
|
||||
mainLayout->addWidget(m_pRunningListWidget);
|
||||
vmainLayout->addLayout(mainLayout);
|
||||
vmainLayout->addWidget(m_pLogWidget);
|
||||
|
||||
connect(e, &SAddDelWidget::signalClickedAddBtn, [&c, &d](){
|
||||
d->addList(c->getSelectedList());
|
||||
});
|
||||
connect(m_pAddDelWidget, &SAddDelWidget::signalClickedAddBtn, this, &Widget::slotClickAdd);
|
||||
connect(m_pAddDelWidget, &SAddDelWidget::signalClickedDelBtn, this, &Widget::slotClickDel);
|
||||
|
||||
connect(e, &SAddDelWidget::signalClickedDelBtn, [&c, &d](){
|
||||
d->removeSelectedList();
|
||||
});
|
||||
m_pLogic->setSAddDelWidget(m_pAddDelWidget);
|
||||
m_pLogic->setSLogWidget(m_pLogWidget);
|
||||
m_pLogic->setSTimer(m_pTimer);
|
||||
m_pLogic->setSRunningProcess(m_pProcess);
|
||||
m_pLogic->setSRunningWidget(m_pRunningListWidget);
|
||||
|
||||
setLayout(mainLayout);
|
||||
m_pLogic->initConnect();
|
||||
|
||||
setLayout(vmainLayout);
|
||||
setWindowTitle("EffectUI " + QString::number(QCoreApplication::applicationPid()));
|
||||
|
||||
show();
|
||||
|
||||
c->refresh();
|
||||
m_pCompanyWidget->refresh();
|
||||
}
|
||||
|
||||
Widget::~Widget()
|
||||
{
|
||||
|
||||
}
|
||||
void Widget::slotClickAdd()
|
||||
{
|
||||
m_pRunningListWidget->addList(m_pCompanyWidget->getSelectedList());
|
||||
}
|
||||
|
||||
void Widget::slotClickDel()
|
||||
{
|
||||
m_pRunningListWidget->removeSelectedList();
|
||||
}
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
#include <QWidget>
|
||||
#include <memory>
|
||||
|
||||
class SCompanyListWidget;
|
||||
class SRunningListWidget;
|
||||
class SAddDelWidget;
|
||||
class STimer;
|
||||
class SLogWidget;
|
||||
class SEffectLogic;
|
||||
class SRunningProcess;
|
||||
|
||||
namespace Ui {
|
||||
class Widget;
|
||||
}
|
||||
@@ -16,11 +24,20 @@ public:
|
||||
explicit Widget(QWidget *parent = 0);
|
||||
~Widget();
|
||||
|
||||
protected slots:
|
||||
void slotClickAdd();
|
||||
void slotClickDel();
|
||||
|
||||
|
||||
private:
|
||||
std::unique_ptr<Ui::Widget> ui;
|
||||
|
||||
|
||||
|
||||
SCompanyListWidget *m_pCompanyWidget;
|
||||
SRunningListWidget *m_pRunningListWidget;
|
||||
SAddDelWidget *m_pAddDelWidget;
|
||||
SLogWidget *m_pLogWidget;
|
||||
STimer *m_pTimer;
|
||||
SEffectLogic *m_pLogic;
|
||||
SRunningProcess* m_pProcess;
|
||||
};
|
||||
|
||||
#endif // WIDGET_H
|
||||
|
||||
Reference in New Issue
Block a user