diff --git a/3part/lpCoreCtrl/include/IMainWidget.h b/3part/lpCoreCtrl/include/IMainWidget.h index f68415a..cbc0cc9 100644 --- a/3part/lpCoreCtrl/include/IMainWidget.h +++ b/3part/lpCoreCtrl/include/IMainWidget.h @@ -1,3 +1,10 @@ +/*! + *FileName: IMainWidget.h + *Author: Pan Yingdong + *Email: bob.pan@hzleaper.com + *Created:2021/2/10 15:56 + *Note: +*/ #ifndef _H_IMAINWIDGET_H_ #define _H_IMAINWIDGET_H_ diff --git a/src/algorithm/ImageProcess.h b/src/algorithm/ImageProcess.h index 3bf534b..a607165 100644 --- a/src/algorithm/ImageProcess.h +++ b/src/algorithm/ImageProcess.h @@ -1,4 +1,13 @@ -#pragma once +/*! + *FileName: ImageProcess.h + *Author: Pan Yingdong + *Email: bob.pan@hzleaper.com + *Created:2021/2/10 15:55 + *Note: +*/ +#ifndef _H_IMAGEPROCESS_H_ +#define _H_IMAGEPROCESS_H_ + #include "opencv\cv.h" #include "opencv\highgui.h" #include "Luffy.h" @@ -16,3 +25,5 @@ public: static cv::Mat getForeImage(const Mat & src, const Mat &backgroundImg); }; +#endif + diff --git a/src/interface/Result2Ui.h b/src/interface/Result2Ui.h index 142007c..ac9ddde 100644 --- a/src/interface/Result2Ui.h +++ b/src/interface/Result2Ui.h @@ -1,4 +1,6 @@ -#pragma once +#ifndef _H_RESULT2UI_H_ +#define _H_RESULT2UI_H_ + #include "qpixmap.h" #include "qimage.h" class Result2Ui @@ -25,3 +27,5 @@ public: int m_channel; }; +#endif + diff --git a/src/tpMain/CamConfig.h b/src/tpMain/CamConfig.h index 8969def..cbc73bf 100644 --- a/src/tpMain/CamConfig.h +++ b/src/tpMain/CamConfig.h @@ -1,4 +1,6 @@ -#pragma once +#ifndef _H_CAMCONFIG_H_ +#define _H_CAMCONFIG_H_ + #include "QString" class CamConfig { @@ -15,3 +17,5 @@ private: QString m_CamSerial; }; +#endif + diff --git a/src/tpMain/HubBase.h b/src/tpMain/HubBase.h index 3deb0b5..6fdc7e8 100644 --- a/src/tpMain/HubBase.h +++ b/src/tpMain/HubBase.h @@ -1,6 +1,6 @@ -#pragma once -#include "qstring.h" - +#ifndef _H_HUBBASE_H_ +#define _H_HUBBASE_H_ +#include namespace hubBase { bool copyPath2Path(QString sourcePath, QString dstPath, bool converFileIfExist); @@ -13,4 +13,6 @@ namespace hubBase { QString genDateTime(QString strFormat = "yyyy-MM-dd hh:mm:ss"); QString genTime(QString strFormat = "hh:mm:ss"); QString pathSuffix(QString ); -} \ No newline at end of file +} + +#endif \ No newline at end of file diff --git a/src/tpMain/IWheelCtrl.h b/src/tpMain/IWheelCtrl.h index 603ef08..0a49c72 100644 --- a/src/tpMain/IWheelCtrl.h +++ b/src/tpMain/IWheelCtrl.h @@ -1,4 +1,13 @@ -#pragma once +/*! + *FileName: IWheelCtrl.h + *Author: Pan Yingdong + *Email: bob.pan@hzleaper.com + *Created:2021/2/10 15:56 + *Note: +*/ +#ifndef _H_IWHEELCTRL_H_ +#define _H_IWHEELCTRL_H_ + #include "qstring.h" #include "qobject.h" #include "InfoFile.h" @@ -59,3 +68,5 @@ signals: void sgModelChanged(QString); }; +#endif + diff --git a/src/tpMain/QFunctionTransfer.h b/src/tpMain/QFunctionTransfer.h new file mode 100644 index 0000000..a45e65c --- /dev/null +++ b/src/tpMain/QFunctionTransfer.h @@ -0,0 +1,37 @@ +#ifndef _H_QFUNCTIONTRANSFER_H_ +#define _H_QFUNCTIONTRANSFER_H_ + +#include +#include +#include +#include +#if defined(__linux) || defined(__linux__) +#include +#include +#endif +class QFunctionTransfer : public QObject +{ + Q_OBJECT + +public: + explicit QFunctionTransfer(QObject *parent = 0) { + qRegisterMetaType>("std::tr1::function"); + connect(this, &QFunctionTransfer::comming, this, &QFunctionTransfer::exec, Qt::QueuedConnection); + }; + void execInMain(std::tr1::function f) { + emit this->comming(f); + }; + static QFunctionTransfer* Instance() { + static QFunctionTransfer ins; + return &ins; + } +signals: + void comming(std::tr1::function f); +public slots: + void exec(std::tr1::function f) + { + f(); + }; +}; + +#endif diff --git a/src/tpMain/lp_singleton.h b/src/tpMain/lp_singleton.h new file mode 100644 index 0000000..a9725ed --- /dev/null +++ b/src/tpMain/lp_singleton.h @@ -0,0 +1,55 @@ +#ifndef LP_SINGLETON_H +#define LP_SINGLETON_H + +#include +#include + +template +class lp_singleton +{ +public: + static T* instance() + { + T *sin = s_this.load(std::memory_order_acquire); + + if (!sin) { + std::lock_guard locker(s_mutex); + sin = s_this.load(std::memory_order_relaxed); + if (!sin) { + sin = new T; + s_this.store(sin, std::memory_order_release); + } + } + + return sin; + } + + static void uninstance() + { + T *sin = s_this.load(std::memory_order_relaxed); + if (sin) { + std::lock_guard locker(s_mutex); + delete sin; + sin = nullptr; + } + } + +protected: + lp_singleton() = default; + virtual ~lp_singleton() = default; +private: + lp_singleton(const T&) = delete; + T& operator=(const T&) = delete; + + static std::atomic s_this; + static std::mutex s_mutex; + +}; + +template +std::atomic lp_singleton::s_this; + +template +std::mutex lp_singleton::s_mutex; + +#endif // LP_SINGLETON_H diff --git a/src/tpMain/threadsafe_list.hpp b/src/tpMain/threadsafe_list.hpp new file mode 100644 index 0000000..ec8137b --- /dev/null +++ b/src/tpMain/threadsafe_list.hpp @@ -0,0 +1,81 @@ +/*! + * \file threadsafe_list.hpp + * \date 2018/11/30 + * + * \author pan yingdong + * Contact: bob.pan@hzleaper.com + * + * + * \note +*/ +#ifndef _THREADSAFE_LIST_H_ +#define _THREADSAFE_LIST_H_ + +#include +#include +#include +#include +#include +struct empty_list :std::exception +{ + const char* what() const throw(){ return "empty list"; }; +}; + +template +class threadsafe_list +{ +private: + std::list dataList; + mutable std::mutex m; +public: + threadsafe_list(){} + threadsafe_list(const threadsafe_list& other) + { + std::lock_guard guard(m); + dataList = other.dataList; + } + threadsafe_list& operator=(const threadsafe_list&) = delete; + bool push_back(T new_val) + { + std::lock_guard guard(m); + dataList.push_back(new_val); + return true; + } + std::shared_ptr pop_front() + { + std::lock_guard guard(m); + if (dataList.empty()) + throw empty_list(); + std::shared_ptr const res(std::make_shared(dataList.front())); + dataList.pop_front(); + return res; + } + bool pop_front(T& value) + { + std::lock_guard guard(m); + if (dataList.empty()) + { + //throw empty_list(); + return false; + } + value = dataList.front(); + dataList.pop_front(); + return true; + } + bool empty() const + { + std::lock_guard guard(m); + return dataList.empty(); + } + int getSize() const + { + std::lock_guard guard(m); + return dataList.size(); + } + void clear() { + std::lock_guard guard(m); + dataList.clear(); + } +}; +#endif + diff --git a/src/tpMain/timemgrctrl.h b/src/tpMain/timemgrctrl.h index 1d99e59..37c85a3 100644 --- a/src/tpMain/timemgrctrl.h +++ b/src/tpMain/timemgrctrl.h @@ -1,4 +1,11 @@ -#ifndef TIMEMGRCTRL_H +/*! + *FileName: timemgrctrl.h + *Author: Pan Yingdong + *Email: bob.pan@hzleaper.com + *Created:2021/2/10 16:00 + *Note: +*/ +#ifndef TIMEMGRCTRL_H #define TIMEMGRCTRL_H #include @@ -9,7 +16,6 @@ class DetectDataDB; class TimeMgrCtrl { public: - //TimeMgrCtrl(QSqliteApplication *p); TimeMgrCtrl(DetectDataDB *p); ~TimeMgrCtrl(); QMap getAllTime(); @@ -19,8 +25,7 @@ public: QString GetCurrentBan(); QMap* getAllTimePtr(); private: - //QSqliteApplication *m_DB; - DetectDataDB* m_DB; + DetectDataDB* m_DB{ nullptr }; QMap m_MapTime; }; diff --git a/src/tpMain/tpMain.rc b/src/tpMain/tpMain.rc index 1d2130d..92a9aea 100644 Binary files a/src/tpMain/tpMain.rc and b/src/tpMain/tpMain.rc differ diff --git a/tpvs17/tpMain/QCamSettingDlg.cpp b/tpvs17/tpMain/QCamSettingDlg.cpp new file mode 100644 index 0000000..fde31be --- /dev/null +++ b/tpvs17/tpMain/QCamSettingDlg.cpp @@ -0,0 +1,11 @@ +#include "QCamSettingDlg.h" + +QCamSettingDlg::QCamSettingDlg(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); +} + +QCamSettingDlg::~QCamSettingDlg() +{ +} diff --git a/tpvs17/tpMain/QCamSettingDlg.h b/tpvs17/tpMain/QCamSettingDlg.h new file mode 100644 index 0000000..aaccdb2 --- /dev/null +++ b/tpvs17/tpMain/QCamSettingDlg.h @@ -0,0 +1,21 @@ +#ifndef _H_QCAMSETTINGDLG_H_ +#define _H_QCAMSETTINGDLG_H_ + +#include +#include "ui_QCamSettingDlg.h" +#include "iCoreCtrl.h" + +class QCamSettingDlg : public QWidget +{ + Q_OBJECT + +public: + QCamSettingDlg(QWidget *parent = Q_NULLPTR); + ~QCamSettingDlg(); + void setCoreCtrlPtr(ICoreCtrl* ptr) { m_pCoreCtl = ptr; }; +private: + Ui::QCamSettingDlg ui; + ICoreCtrl* m_pCoreCtl{ nullptr }; +}; + +#endif diff --git a/tpvs17/tpMain/QCamSettingDlg.ui b/tpvs17/tpMain/QCamSettingDlg.ui new file mode 100644 index 0000000..4d1c697 --- /dev/null +++ b/tpvs17/tpMain/QCamSettingDlg.ui @@ -0,0 +1,190 @@ + + + QCamSettingDlg + + + + 0 + 0 + 857 + 466 + + + + 相机配置 + + + + + + + 6 + 0 + + + + background-color: rgb(130, 136, 255); + + + + + + + + 2 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + 序列号: + + + + + + + + + + 显示名称: + + + + + + + + + + 相机类型: + + + + + + + + + + 路径: + + + + + + + + + + 设置 + + + + + + + 图像高度: + + + + + + + + + + 图像宽度: + + + + + + + + + + 图像格式: + + + + + + + 增益: + + + + + + + 曝光: + + + + + + + 应用 + + + + + + + + 内触发 + + + + + 外触发 + + + + + 软触发 + + + + + + + + 打开 + + + + + + + 触发 + + + + + + + + + + + + + + + + + + + + + diff --git a/tpvs17/tpMain/QChannelMgrDlg.h b/tpvs17/tpMain/QChannelMgrDlg.h index 54648be..2647a04 100644 --- a/tpvs17/tpMain/QChannelMgrDlg.h +++ b/tpvs17/tpMain/QChannelMgrDlg.h @@ -1,4 +1,5 @@ -#pragma once +#ifndef _H_QCHANNELMGRDLG_H_ +#define _H_QCHANNELMGRDLG_H_ #include #include "ui_QChannelMgrDlg.h" @@ -14,3 +15,5 @@ public: private: Ui::QChannelMgrDlg ui; }; + +#endif diff --git a/tpvs17/tpMain/QSystemSettingDlg.cpp b/tpvs17/tpMain/QSystemSettingDlg.cpp new file mode 100644 index 0000000..fd25b7f --- /dev/null +++ b/tpvs17/tpMain/QSystemSettingDlg.cpp @@ -0,0 +1,1007 @@ +#include "QSystemSettingDlg.h" +#include "QDir" +#include "QCheckBox" +#include "QLabel" +#include "QSpinBox" +#include "DetectState.h" +#include "QFileDialog" +#include "QMessageBox" +#include "qshowimg.h" +#include +#include "InfoFile.h" + +#pragma execution_character_set("utf-8") + +#define DEVELOP_UI_CHECK_SAVE_GOOD "SaveGoodcheckBox" +#define DEVELOP_UI_CHECK_SAVE_BAD "SaveBadcheckBox" +#define DEVELOP_UI_CHECK_SAVE_CUTGOOD "SaveCutGoodcheckBox" +#define DEVELOP_UI_CHECK_SAVE_CUTBAD "SaveCutBadcheckBox" +#define DEVELOP_UI_CHECK_CHKBOXALL2A "chkBoxAll2A" + +#define DEVELOP_DETECT_CAMERE_VIRSUAL tr("") +#define DEVELOP_DETECT_CAMERE_TRUE tr("Ӳ") +#define DEVELOP_DETECT_DEBUG_NOUSER tr("½") +#define DEVELOP_DETECT_DEBUG_USER tr("ģʽ") + +#define DEVELOP_DETECT_CAM_OUTTRIGER tr("") +#define DEVELOP_DETECT_CAM_SOFTER tr("") + +#define DEVELOP_PLC_TRIGER_DOWM tr("½ش") +#define DEVELOP_PLC_TRIGER_UP tr("ش") + +QSystemSettingDlg::QSystemSettingDlg(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + m_setting = new QSettings(".\\user\\systemfile.ini", QSettings::IniFormat); + readSettingFile(); + m_listwidgetItemStr.append(tr("豸")); + m_listwidgetItemStr.append(tr("ͼ")); + m_listwidgetItemStr.append(tr("PLC")); + m_listwidgetItemStr.append(tr("Ʋ")); + m_listwidgetItemStr.append(tr("߼")); + { + InitTreeWidget(ui.treeWidget); + addComRoot(ui.treeWidget, m_listwidgetItemStr.at(0));//豸 + addPicRoot(ui.treeWidget, m_listwidgetItemStr.at(1));//ͼ + addPLCRoot(ui.treeWidget, m_listwidgetItemStr.at(2));//PLC + addLightRoot(ui.treeWidget, m_listwidgetItemStr.at(3));//Ʋ + ui.treeWidget->expandAll(); + addSuperRoot(ui.treeWidget, m_listwidgetItemStr.at(4));//߼ + } + + { + ui.listWidget->clear(); + ui.listWidget->addItems(m_listwidgetItemStr); + for (int nIndex = 0; nIndex < ui.listWidget->count(); nIndex++) + { + QListWidgetItem *itenn = ui.listWidget->item(nIndex); + itenn->setBackgroundColor(QColor(0, 50, 50, 100)); + QSize s = itenn->sizeHint(); + itenn->setSizeHint(QSize(s.width(), 30)); + } + connect(ui.listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(onSetCurrentIndex(int))); + } + +} + +QSystemSettingDlg::~QSystemSettingDlg() +{ + for (int nIndex = 0; nIndex < developitems.size(); nIndex++) { + QTreeWidgetItem* pItem = developitems.at(nIndex); + delete pItem; + pItem = NULL; + } + for (int nIndex = 0; nIndex < comitems.size(); nIndex++) { + QTreeWidgetItem* pItem = comitems.at(nIndex); + delete pItem; + pItem = NULL; + } + for (int nIndex = 0; nIndex < camitems.size(); nIndex++) { + QTreeWidgetItem* pItem = camitems.at(nIndex); + delete pItem; + pItem = NULL; + } + for (int nIndex = 0; nIndex < picitems.size(); nIndex++) { + QTreeWidgetItem* pItem = picitems.at(nIndex); + delete pItem; + pItem = NULL; + } + for (int nIndex = 0; nIndex < PLCitems.size(); nIndex++) { + QTreeWidgetItem* pItem = PLCitems.at(nIndex); + delete pItem; + pItem = NULL; + } + for (int nIndex = 0; nIndex < lightitems.size(); nIndex++) { + QTreeWidgetItem* pItem = lightitems.at(nIndex); + delete pItem; + pItem = NULL; + } +// for (QMap::iterator its = m_TreeItemMap.begin(); its != m_TreeItemMap.end(); ++its) +// { +// delete *its; +// *its = NULL; +// } + m_TreeItemMap.clear(); + for (int nIndex = 0; nIndex < m_listObj.size(); nIndex++) { + QObject* p = m_listObj.at(nIndex); + delete p; + p = NULL; + } + + if (pDiskCleanThread) { + pDiskCleanThread->ExitThread(); + pDiskCleanThread->quit(); + pDiskCleanThread->wait(50); + delete pDiskCleanThread; + pDiskCleanThread = NULL; + } + if (m_setting) { + delete m_setting; + m_setting = NULL; + } +} + +void QSystemSettingDlg::onShowWidget(int nLevel) +{ + if (nLevel == 9 || DetectState::instance()->m_Debug == 100) { + + HidPLCUI(false); + HidDevelopUI(false); + } + else if (nLevel == 5) { + + HidDevelopUI(true); + HidPLCUI(true); + } + else if (nLevel == 4) { + ui.treeWidget->setItemHidden(picitems.at(7), true); + HidDevelopUI(true); + HidPLCUI(true); + } + else { + HidDevelopUI(true); + HidPLCUI(true); + } + ui.listWidget->setCurrentRow(0); +} + +bool QSystemSettingDlg::InitTreeWidget(QTreeWidget* pTreewidget) +{ + if (pTreewidget == NULL) + return false; + QStringList header; + header.append(tr("")); + header.append(tr("ֵ")); + pTreewidget->setHeaderLabels(header); + pTreewidget->header()->setStretchLastSection(true); + pTreewidget->setColumnCount(2); + pTreewidget->setStyleSheet("QTreeView::item:hover{background-color:rgb(0,255,0,50)}" + "QTreeView::item:selected{background-color:rgb(67,101,234,100)}"); + //pTreewidget->setSelectionModel(QAbstractItemView::ExtendedSelection); + pTreewidget->setColumnWidth(0, 180); + return true; +} + +void QSystemSettingDlg::addComRoot(class QTreeWidget *pTreewidget, QString strName /*= QString()*/) +{ +// QTreeWidgetItem *m_ComItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("豸"))); +// pStationSetButton = new QPushButton(tr("ҳ")); +// pTreewidget->setItemWidget(m_ComItems, 1, pStationSetButton); +// m_ComItems->setSizeHint(1, QSize(100, 30)); +// pStationSetButton->setObjectName("pStationSetButton"); +// connect(pStationSetButton, SIGNAL(clicked()), this, SLOT(onTreeWidgetButton())); +// m_listObj.append(pStationSetButton); +// m_TreeItemMap.insert(strName, m_ComItems); + + QTreeWidgetItem *pLanguage = new QTreeWidgetItem(pTreewidget, QStringList(tr(""))); + m_Language = new QComboBox; + pTreewidget->setItemWidget(pLanguage, 1, m_Language); + m_TreeItemMap.insert("language", pLanguage); + + m_Language->setObjectName("m_Language"); + QString strpath = QCoreApplication::applicationDirPath() + "/language/"; + QStringList strList = getDirNames(strpath); + if (strList.size() <= 0) + strList << "Chinese"; + m_Language->addItems(strList); + QSettings languageSetting("hubdetect.ini", QSettings::IniFormat); + QString strLangeage = languageSetting.value("language", "Chinese").toString(); + m_Language->setCurrentText(strLangeage); + connect(m_Language, SIGNAL(currentTextChanged(const QString &)), this, SLOT(oncurrentChanged(const QString &))); + m_listObj.append(m_Language); +} + +QStringList QSystemSettingDlg::getDirNames(QString strPath) +{ + QStringList strDirNames; + QDir dir(strPath); + if (!dir.exists()) + { + return strDirNames; + } + dir.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); + dir.setSorting(QDir::DirsFirst); // ļ + // תһList + QFileInfoList list = dir.entryInfoList(); + if (list.size() < 1) + { + return strDirNames; + } + int i = 0; + do + { + QFileInfo fileInfo = list.at(i); + QString tt = fileInfo.fileName(); + // ļ + bool bisDir = fileInfo.isDir(); + if (bisDir) + { + strDirNames.append(fileInfo.fileName()); + } + i++; + } while (i < list.size()); + return strDirNames; +} + +void QSystemSettingDlg::addPicRoot(QTreeWidget *pTreewidget, QString strName) +{ + QTreeWidgetItem *m_RootItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("ͼ"))); + m_TreeItemMap.insert(strName, m_RootItems); + m_RootItems->setSizeHint(1, QSize(100, 30)); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ⱳ")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ͼ")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ͼ")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ԭͼ")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ԭͼ")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ͼ񱣴·")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ñ·")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ͼ·")))); + picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("浱ǰ")))); + m_RootItems->addChildren(picitems); + QCheckBox *m_saveImgRes_good = new QCheckBox; + m_saveImgRes_good->setText(tr("ƥͼ")); + m_saveImgRes_good->setObjectName("m_saveImgRes_good"); + connect(m_saveImgRes_good, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_saveImgRes_good->setChecked(DetectState::instance()->saveCutGood == (int)true); + + QCheckBox *m_saveImgRes_bad = new QCheckBox; + m_saveImgRes_bad->setText(tr("ƥͼ")); + m_saveImgRes_bad->setObjectName("m_saveImgRes_bad"); + connect(m_saveImgRes_bad, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_saveImgRes_bad->setChecked(DetectState::instance()->saveCutBad == (int)true); + + QCheckBox *m_saveImgSrc_good = new QCheckBox; + m_saveImgSrc_good->setText(tr("ƥͼ")); + m_saveImgSrc_good->setObjectName("m_saveImgSrc_good"); + connect(m_saveImgSrc_good, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_saveImgSrc_good->setChecked(DetectState::instance()->saveGood == (int)true); + + QCheckBox *m_saveImgSrc_bad = new QCheckBox; + m_saveImgSrc_bad->setText(tr("ƥͼ")); + m_saveImgSrc_bad->setObjectName("m_saveImgSrc_bad"); + connect(m_saveImgSrc_bad, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_saveImgSrc_bad->setChecked(DetectState::instance()->saveBad == (int)true); + + QCheckBox *m_ResAll2A = new QCheckBox; + m_ResAll2A->setText(tr("ȫȥAͨ")); + m_ResAll2A->setObjectName("m_ResAll2A"); + connect(m_ResAll2A, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_ResAll2A->setChecked(DetectState::instance()->m_bObjAll2A == (int)true); + + QPushButton* pChangeBGbp = new QPushButton(tr("鿴ⱳ")); + connect(pChangeBGbp, SIGNAL(clicked()), this, SLOT(onChangeBackground())); + + m_pLbShowPath = new QLabel; + m_pLbShowPath->setText(DetectState::instance()->m_SaveImgDirPath); + + QPushButton *pbSetSavePath = new QPushButton(tr("ñ·")); + pbSetSavePath->setObjectName("pbSetSavePath"); + connect(pbSetSavePath, SIGNAL(clicked()), this, SLOT(onOpenDataPath())); + + QPushButton *pbOpenImgPath = new QPushButton(tr("ͼ·")); + pbOpenImgPath->setObjectName("pbOpenImgPath"); + connect(pbOpenImgPath, SIGNAL(clicked()), this, SLOT(onOpenDataPath())); + + QPushButton* pSavePara = new QPushButton(tr("")); + pSavePara->setObjectName("pSavePara"); + connect(pSavePara, SIGNAL(clicked()), this, SLOT(onTreeWidgetButton())); + + pTreewidget->setItemWidget(picitems.at(0), 1, pChangeBGbp); + pTreewidget->setItemWidget(picitems.at(1), 1, m_saveImgRes_good); + pTreewidget->setItemWidget(picitems.at(2), 1, m_saveImgRes_bad); + pTreewidget->setItemWidget(picitems.at(3), 1, m_saveImgSrc_good); + pTreewidget->setItemWidget(picitems.at(4), 1, m_saveImgSrc_bad); + pTreewidget->setItemWidget(picitems.at(5), 1, m_ResAll2A); + pTreewidget->setItemWidget(picitems.at(6), 1, m_pLbShowPath); + pTreewidget->setItemWidget(picitems.at(7), 1, pbSetSavePath); + pTreewidget->setItemWidget(picitems.at(8), 1, pbOpenImgPath); + pTreewidget->setItemWidget(picitems.at(9), 1, pSavePara); + + m_listObj.append(pChangeBGbp); + m_listObj.append(m_saveImgRes_bad); + m_listObj.append(m_saveImgRes_good); + m_listObj.append(m_saveImgSrc_bad); + m_listObj.append(m_saveImgSrc_good); + m_listObj.append(m_ResAll2A); + m_listObj.append(m_pLbShowPath); + m_listObj.append(pbSetSavePath); + m_listObj.append(pbOpenImgPath); + m_listObj.append(pSavePara); + + picitems.at(0)->setSizeHint(1, QSize(100, 40)); + picitems.at(1)->setSizeHint(1, QSize(100, 30)); + picitems.at(2)->setSizeHint(1, QSize(100, 30)); + picitems.at(3)->setSizeHint(1, QSize(100, 30)); + picitems.at(4)->setSizeHint(1, QSize(100, 30)); + picitems.at(5)->setSizeHint(1, QSize(100, 30)); + picitems.at(6)->setSizeHint(1, QSize(100, 40)); + picitems.at(7)->setSizeHint(1, QSize(100, 40)); + picitems.at(8)->setSizeHint(1, QSize(100, 40)); + picitems.at(9)->setSizeHint(1, QSize(100, 40)); +} + +void QSystemSettingDlg::addPLCRoot(QTreeWidget *pTreewidget, QString strName) +{ + QTreeWidgetItem *m_PLCItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("PLC"))); + m_TreeItemMap.insert(strName, m_PLCItems); + m_PLCItems->setSizeHint(1, QSize(100, 30)); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("˲(ms)")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ʱ(ms)")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("(ms)")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ԴϨʱʱ(ms)")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ֽʱ(ms)")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ӳʱ")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ʱǷʾϢ")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ǷԶ")))); + PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("Ƿ񱣴泬ʱ־")))); + m_PLCItems->addChildren(PLCitems); + QPushButton *savePLCpara = new QPushButton(tr("Ͳ")); + m_PLCTrigerFilter = new QSpinBox(); + m_PLCTrigerFilter->setMinimum(1); + m_PLCTrigerFilter->setMaximum(65536); + m_PLCTrigerFilter->setValue(DetectState::instance()->m_PLC_TrigerFilter); + m_PLCCameraDelay = new QSpinBox(); + m_PLCCameraDelay->setMinimum(1); + m_PLCCameraDelay->setMaximum(65536); + m_PLCCameraDelay->setValue(DetectState::instance()->m_PLC_CamTrigDelay); + m_PLCCameraPulse = new QSpinBox(); + m_PLCCameraPulse->setMinimum(1); + m_PLCCameraPulse->setMaximum(65536); + m_PLCCameraPulse->setValue(DetectState::instance()->m_PLC_CamTrigPulse); + m_PLCLightDelay = new QSpinBox(); + m_PLCLightDelay->setMinimum(1); + m_PLCLightDelay->setMaximum(65536); + m_PLCLightDelay->setValue(DetectState::instance()->m_PLC_LightDelay); + m_PLCResHoldTime = new QSpinBox(); + m_PLCResHoldTime->setMinimum(1); + m_PLCResHoldTime->setMaximum(65536); + m_PLCResHoldTime->setValue(DetectState::instance()->m_PLC_ResHoldTime); + + m_PLCTrigerType = new QComboBox(); + QStringList strList; + strList.append(DEVELOP_PLC_TRIGER_DOWM); + strList.append(DEVELOP_PLC_TRIGER_UP); + m_PLCTrigerType->addItems(strList); + if (DetectState::instance()->m_PLC_TrigerType == 0) + m_PLCTrigerType->setCurrentText(DEVELOP_PLC_TRIGER_DOWM); + else + m_PLCTrigerType->setCurrentText(DEVELOP_PLC_TRIGER_UP); + + savePLCpara->setObjectName("savePLCpara"); + connect(savePLCpara, SIGNAL(clicked()), this, SLOT(onSavePLCPara())); + + m_PLC_RestartSeverCount = new QSpinBox(); + m_PLC_RestartSeverCount->setMinimum(1); + m_PLC_RestartSeverCount->setMaximum(65536); + m_PLC_RestartSeverCount->setToolTip(tr("ʱnκԶ")); + m_PLC_RestartSeverCount->setValue(DetectState::instance()->m_PLC_RestartSeverCount); + + QCheckBox *m_PLC_ShowTimerOutMsg = new QCheckBox; + m_PLC_ShowTimerOutMsg->setText(tr("Ƿʾʾ")); + m_PLC_ShowTimerOutMsg->setText(tr("ѡͨųʱʱʾϢ")); + m_PLC_ShowTimerOutMsg->setObjectName("m_PLC_ShowTimerOutMsg"); + connect(m_PLC_ShowTimerOutMsg, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_PLC_ShowTimerOutMsg->setChecked(DetectState::instance()->m_PLC_ShowTimerOutMsg == (int)true); + + QCheckBox *m_PLC_IsResServer = new QCheckBox; + m_PLC_IsResServer->setText(tr("ǷԶ")); + m_PLC_IsResServer->setToolTip(tr("ѡͨųʱﵽϵͳԶPLCԶ")); + m_PLC_IsResServer->setObjectName("m_PLC_IsResServer"); + connect(m_PLC_IsResServer, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_PLC_IsResServer->setChecked(DetectState::instance()->m_PLC_IsResServer == (int)true); + + QCheckBox *m_PLC_SaveMsgInLog = new QCheckBox; + m_PLC_SaveMsgInLog->setText(tr("Ϣϵͳ־")); + m_PLC_SaveMsgInLog->setToolTip(tr("ѡʾʱϢԶ浽ϵͳ־Уڲѯ")); + m_PLC_SaveMsgInLog->setObjectName("m_PLC_SaveMsgInLog"); + connect(m_PLC_SaveMsgInLog, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_PLC_SaveMsgInLog->setChecked(DetectState::instance()->m_PLC_SaveMsgInLog == (int)true); + + PLCitems.at(0)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(1)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(2)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(3)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(4)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(5)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(6)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(7)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(8)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(9)->setSizeHint(1, QSize(100, 40)); + PLCitems.at(10)->setSizeHint(1, QSize(100, 40)); + pTreewidget->setItemWidget(PLCitems.at(0), 1, savePLCpara); + pTreewidget->setItemWidget(PLCitems.at(1), 1, m_PLCTrigerFilter); + pTreewidget->setItemWidget(PLCitems.at(2), 1, m_PLCCameraDelay); + pTreewidget->setItemWidget(PLCitems.at(3), 1, m_PLCCameraPulse); + pTreewidget->setItemWidget(PLCitems.at(4), 1, m_PLCLightDelay); + pTreewidget->setItemWidget(PLCitems.at(5), 1, m_PLCTrigerType); + pTreewidget->setItemWidget(PLCitems.at(6), 1, m_PLCResHoldTime); + pTreewidget->setItemWidget(PLCitems.at(7), 1, m_PLC_RestartSeverCount); + pTreewidget->setItemWidget(PLCitems.at(8), 1, m_PLC_ShowTimerOutMsg); + pTreewidget->setItemWidget(PLCitems.at(9), 1, m_PLC_IsResServer); + pTreewidget->setItemWidget(PLCitems.at(10), 1, m_PLC_SaveMsgInLog); + m_listObj.append(savePLCpara); + m_listObj.append(m_PLCTrigerFilter); + m_listObj.append(m_PLCCameraDelay); + m_listObj.append(m_PLCCameraPulse); + m_listObj.append(m_PLCLightDelay); + m_listObj.append(m_PLCTrigerType); + m_listObj.append(m_PLC_RestartSeverCount); + m_listObj.append(m_PLC_ShowTimerOutMsg); + m_listObj.append(m_PLC_IsResServer); + m_listObj.append(m_PLC_SaveMsgInLog); + m_listObj.append(m_PLCResHoldTime); +} +void QSystemSettingDlg::addLightRoot(QTreeWidget *pTreewidget, QString strName) +{ + QTreeWidgetItem *m_LightItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("Ʋ"))); + m_TreeItemMap.insert(strName, m_LightItems); + m_LightItems->setSizeHint(1, QSize(100, 30)); + lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("")))); + lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("̵")))); + lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("Ƶ")))); + lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("")))); + m_LightItems->addChildren(lightitems); + QPushButton *redLight = new QPushButton(tr("һ")); + QPushButton *grenLight = new QPushButton(tr("̵һ")); + QPushButton *yellLight = new QPushButton(tr("Ƶһ")); + QPushButton *beeLight = new QPushButton(tr("һ")); + redLight->setObjectName("redLight"); + grenLight->setObjectName("grenLight"); + yellLight->setObjectName("yellLight"); + beeLight->setObjectName("beeLight"); + connect(redLight, SIGNAL(clicked()), this, SLOT(onLightTest())); + connect(grenLight, SIGNAL(clicked()), this, SLOT(onLightTest())); + connect(yellLight, SIGNAL(clicked()), this, SLOT(onLightTest())); + connect(beeLight, SIGNAL(clicked()), this, SLOT(onLightTest())); + + lightitems.at(0)->setSizeHint(1, QSize(100, 40)); + lightitems.at(1)->setSizeHint(1, QSize(100, 40)); + lightitems.at(2)->setSizeHint(1, QSize(100, 40)); + lightitems.at(3)->setSizeHint(1, QSize(100, 40)); + pTreewidget->setItemWidget(lightitems.at(0), 1, redLight); + pTreewidget->setItemWidget(lightitems.at(1), 1, grenLight); + pTreewidget->setItemWidget(lightitems.at(2), 1, yellLight); + pTreewidget->setItemWidget(lightitems.at(3), 1, beeLight); + m_listObj.append(redLight); + m_listObj.append(grenLight); + m_listObj.append(yellLight); + m_listObj.append(beeLight); +} + +void QSystemSettingDlg::addSuperRoot(class QTreeWidget *pTreewidget, QString strName) +{ + QTreeWidgetItem *m_DevelopItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("ʹ"))); + m_TreeItemMap.insert(strName, m_DevelopItems); + m_DevelopItems->setSizeHint(1, QSize(100, 30)); + + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ģʽ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ʱ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ϵͳģʽ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ģʽ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ڷ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("緢")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ڷͨ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("緢ͼ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("緢ͨ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("դʹñ־")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("߶Ⱥ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ͨ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ʱǷ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ʾ")))); + developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("ʾȲ")))); + m_DevelopItems->addChildren(developitems); + + m_pCameraTrgType = new QComboBox(); + QStringList m_strList; + m_strList.append(QString(DEVELOP_DETECT_CAMERE_VIRSUAL)); + m_strList.append(QString(DEVELOP_DETECT_CAMERE_TRUE)); + m_pCameraTrgType->addItems(m_strList); + m_pCameraTrgTimes = new QSpinBox(); + m_pCameraTrgTimes->setMaximum(99999); + m_pDebugModel = new QComboBox(); + QStringList debug_strlist; + debug_strlist.append(QString(DEVELOP_DETECT_DEBUG_NOUSER)); + debug_strlist.append(QString(DEVELOP_DETECT_DEBUG_USER)); + m_pDebugModel->addItems(debug_strlist); + m_pSystype = new QComboBox(); + QStringList sysStrList; + sysStrList.append(QString(DEVELOP_DETECT_CAM_OUTTRIGER)); + sysStrList.append(QString(DEVELOP_DETECT_CAM_SOFTER)); + m_pSystype->addItems(sysStrList); + + QCheckBox *m_AutoSendTick2COM = new QCheckBox; + m_AutoSendTick2COM->setText(tr("ڷ")); + m_AutoSendTick2COM->setObjectName("m_AutoSendTick2COM"); + connect(m_AutoSendTick2COM, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_AutoSendTick2COM->setChecked(DetectState::instance()->m_AutoSendTick2COM == (int)true); + + QCheckBox *m_AutoSendTick2Net = new QCheckBox; + m_AutoSendTick2Net->setText(tr("緢")); + m_AutoSendTick2Net->setObjectName("m_AutoSendTick2Net"); + connect(m_AutoSendTick2Net, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_AutoSendTick2Net->setChecked(DetectState::instance()->m_AutoSendTick2Net == (int)true); + + QCheckBox *m_SendChannelRes2COM = new QCheckBox; + m_SendChannelRes2COM->setText(tr("ڷͨ")); + m_SendChannelRes2COM->setObjectName("m_SendChannelRes2COM"); + connect(m_SendChannelRes2COM, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_SendChannelRes2COM->setChecked(DetectState::instance()->m_SendChannelRes2COM == (int)true); + + QCheckBox *m_SendDetectStr2Net = new QCheckBox; + m_SendDetectStr2Net->setText(tr("緢ͼ")); + m_SendDetectStr2Net->setObjectName("m_SendDetectStr2Net"); + connect(m_SendDetectStr2Net, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_SendDetectStr2Net->setChecked(DetectState::instance()->m_SendDetectStr2Net == (int)true); + + QCheckBox *m_SendChannelRes2Net = new QCheckBox; + m_SendChannelRes2Net->setText(tr("緢ͨ")); + m_SendChannelRes2Net->setObjectName("m_SendChannelRes2Net"); + connect(m_SendChannelRes2Net, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_SendChannelRes2Net->setChecked(DetectState::instance()->m_SendChannelRes2Net == (int)true); + + QCheckBox *m_UseRaster = new QCheckBox; + m_UseRaster->setText(tr("ʹùդȡ")); + m_UseRaster->setObjectName("m_UseRaster"); + connect(m_UseRaster, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_UseRaster->setChecked(DetectState::instance()->m_IsUseRaster == 1); + + QCheckBox *m_SaveD2HCsv = new QCheckBox; + m_SaveD2HCsv->setText(tr("ڲ")); + m_SaveD2HCsv->setObjectName("m_SaveD2HCsv"); + connect(m_SaveD2HCsv, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_SaveD2HCsv->setChecked(DetectState::instance()->m_SaveD2HCsv == 1); + + QCheckBox *m_IsUseChannel = new QCheckBox; + m_IsUseChannel->setText(tr("Ƿʹͨ")); + m_IsUseChannel->setObjectName("m_IsUseChannel"); + connect(m_IsUseChannel, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_IsUseChannel->setChecked(DetectState::instance()->m_IsUseChannel == 1); + + QCheckBox *m_StartAndDetect = new QCheckBox; + m_StartAndDetect->setText(tr("ǷͿʼ")); + m_StartAndDetect->setObjectName("m_StartAndDetect"); + connect(m_StartAndDetect, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_StartAndDetect->setChecked(DetectState::instance()->m_StartAndDetect == 1); + + QCheckBox *m_showThressValue = new QCheckBox; + m_showThressValue->setText(tr("Ƿʾ")); + m_showThressValue->setObjectName("m_showThressValue"); + connect(m_showThressValue, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_showThressValue->setChecked(DetectState::instance()->m_showThressValue == 1); + + QCheckBox *m_showThressList = new QCheckBox; + m_showThressList->setText(tr("Ƿʾ")); + m_showThressList->setObjectName("m_showThressList"); + connect(m_showThressList, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int))); + m_showThressList->setChecked(DetectState::instance()->m_showThressList == 1); + + QPushButton *m_DebugSave = new QPushButton(tr("")); + m_DebugSave->setObjectName("m_DebugSave"); + connect(m_DebugSave, SIGNAL(clicked()), this, SLOT(onTreeWidgetButton())); + + pTreewidget->setItemWidget(developitems.at(0), 1, m_DebugSave); + pTreewidget->setItemWidget(developitems.at(1), 1, m_pCameraTrgType); + pTreewidget->setItemWidget(developitems.at(2), 1, m_pCameraTrgTimes); + pTreewidget->setItemWidget(developitems.at(3), 1, m_pDebugModel); + pTreewidget->setItemWidget(developitems.at(4), 1, m_pSystype); + pTreewidget->setItemWidget(developitems.at(5), 1, m_AutoSendTick2COM); + pTreewidget->setItemWidget(developitems.at(6), 1, m_AutoSendTick2Net); + pTreewidget->setItemWidget(developitems.at(7), 1, m_SendChannelRes2COM); + pTreewidget->setItemWidget(developitems.at(8), 1, m_SendDetectStr2Net); + pTreewidget->setItemWidget(developitems.at(9), 1, m_SendChannelRes2Net); + pTreewidget->setItemWidget(developitems.at(10), 1, m_UseRaster); + pTreewidget->setItemWidget(developitems.at(11), 1, m_SaveD2HCsv); + pTreewidget->setItemWidget(developitems.at(12), 1, m_IsUseChannel); + pTreewidget->setItemWidget(developitems.at(13), 1, m_StartAndDetect); + pTreewidget->setItemWidget(developitems.at(14), 1, m_showThressValue); + pTreewidget->setItemWidget(developitems.at(15), 1, m_showThressList); + + m_listObj.append(m_DebugSave); + m_listObj.append(m_pCameraTrgType); + m_listObj.append(m_pCameraTrgTimes); + m_listObj.append(m_pDebugModel); + m_listObj.append(m_pSystype); + m_listObj.append(m_AutoSendTick2COM); + m_listObj.append(m_AutoSendTick2Net); + m_listObj.append(m_SendChannelRes2COM); + m_listObj.append(m_SendDetectStr2Net); + m_listObj.append(m_SendChannelRes2Net); + m_listObj.append(m_UseRaster); + m_listObj.append(m_SaveD2HCsv); + m_listObj.append(m_IsUseChannel); + m_listObj.append(m_StartAndDetect); + m_listObj.append(m_showThressValue); + m_listObj.append(m_showThressList); + + developitems.at(0)->setSizeHint(1, QSize(100, 30)); + developitems.at(1)->setSizeHint(1, QSize(100, 30)); + developitems.at(2)->setSizeHint(1, QSize(100, 30)); + developitems.at(3)->setSizeHint(1, QSize(100, 30)); + developitems.at(4)->setSizeHint(1, QSize(100, 30)); + developitems.at(5)->setSizeHint(1, QSize(100, 30)); + developitems.at(6)->setSizeHint(1, QSize(100, 30)); + developitems.at(7)->setSizeHint(1, QSize(100, 30)); + developitems.at(8)->setSizeHint(1, QSize(100, 30)); + developitems.at(9)->setSizeHint(1, QSize(100, 30)); + developitems.at(10)->setSizeHint(1, QSize(100, 30)); + developitems.at(11)->setSizeHint(1, QSize(100, 30)); + developitems.at(12)->setSizeHint(1, QSize(100, 30)); + developitems.at(13)->setSizeHint(1, QSize(100, 30)); + developitems.at(14)->setSizeHint(1, QSize(100, 30)); + developitems.at(15)->setSizeHint(1, QSize(100, 30)); + InitDebugTree(); +} + +void QSystemSettingDlg::HidPLCUI(bool nflag) +{ + ui.treeWidget->setItemHidden(PLCitems.at(7), nflag); + ui.treeWidget->setItemHidden(PLCitems.at(8), nflag); + ui.treeWidget->setItemHidden(PLCitems.at(9), nflag); + ui.treeWidget->setItemHidden(PLCitems.at(10), nflag); +} + +void QSystemSettingDlg::HidDevelopUI(bool nflag) +{ + ui.treeWidget->setItemHidden(developitems.at(0), nflag); + ui.treeWidget->setItemHidden(developitems.at(1), nflag); + ui.treeWidget->setItemHidden(developitems.at(2), nflag); + ui.treeWidget->setItemHidden(developitems.at(3), nflag); + ui.treeWidget->setItemHidden(developitems.at(4), nflag); + ui.treeWidget->setItemHidden(developitems.at(5), nflag); + ui.treeWidget->setItemHidden(developitems.at(6), nflag); + ui.treeWidget->setItemHidden(developitems.at(7), nflag); + ui.treeWidget->setItemHidden(developitems.at(8), nflag); + ui.treeWidget->setItemHidden(developitems.at(9), nflag); + ui.treeWidget->setItemHidden(developitems.at(10), nflag); + ui.treeWidget->setItemHidden(developitems.at(11), nflag); + ui.treeWidget->setItemHidden(developitems.at(12), nflag); + ui.treeWidget->setItemHidden(developitems.at(13), nflag); + ui.treeWidget->setItemHidden(developitems.at(14), nflag); + ui.treeWidget->setItemHidden(developitems.at(15), nflag); +} + +void QSystemSettingDlg::InitDebugTree(void) +{ + if (m_pCameraTrgType) + { + if (DetectState::instance()->m_Virtual_Camera == 1) + m_pCameraTrgType->setCurrentText(DEVELOP_DETECT_CAMERE_VIRSUAL); + else + m_pCameraTrgType->setCurrentText(DEVELOP_DETECT_CAMERE_TRUE); + } + if (m_pCameraTrgTimes) + m_pCameraTrgTimes->setValue(DetectState::instance()->m_Visural_Time); + if (m_pDebugModel) + { + if (DetectState::instance()->m_Debug == 100) + m_pDebugModel->setCurrentText(DEVELOP_DETECT_DEBUG_NOUSER); + else + m_pDebugModel->setCurrentText(DEVELOP_DETECT_DEBUG_USER); + } + if (m_pSystype) + { + if (DetectState::instance()->m_CameraTrigeType == 1) + m_pSystype->setCurrentText(DEVELOP_DETECT_CAM_OUTTRIGER); + else + m_pSystype->setCurrentText(DEVELOP_DETECT_CAM_SOFTER); + } +} + +Q_SLOT void QSystemSettingDlg::onCheckstateChanged(int state) +{ + QString strObj = sender()->objectName(); + if (strObj == "m_saveImgRes_good") { + DetectState::instance()->saveCutGood = int(state == 2); + } + else if (strObj == "m_saveImgRes_bad") { + DetectState::instance()->saveCutBad = int(state == 2); + } + else if (strObj == "m_saveImgSrc_good") { + DetectState::instance()->saveGood = int(state == 2); + } + else if (strObj == "m_saveImgSrc_bad") { + DetectState::instance()->saveBad = int(state == 2); + } + else if (strObj == "m_ResAll2A") { + DetectState::instance()->m_bObjAll2A = (state == 2 ? true : false); + } + else if (strObj == "m_AutoSendTick2COM") { + DetectState::instance()->m_AutoSendTick2COM = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_AutoSendTick2Net") { + DetectState::instance()->m_AutoSendTick2Net = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_SendDetectStr2Net") { + DetectState::instance()->m_SendDetectStr2Net = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_SendChannelRes2Net") { + DetectState::instance()->m_SendChannelRes2Net = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_SendChannelRes2COM") { + DetectState::instance()->m_SendChannelRes2COM = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_UseRaster") { + DetectState::instance()->m_IsUseRaster = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_SaveD2HCsv") { + DetectState::instance()->m_SaveD2HCsv = int(state == 2); + + } + else if (strObj == "m_IsUseChannel") { + DetectState::instance()->m_IsUseChannel = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_StartAndDetect") { + DetectState::instance()->m_StartAndDetect = int(state == 2); + DetectState::instance()->saveDeteImage(); + } + else if (strObj == "m_PLC_RestartSeverCount") { + DetectState::instance()->m_PLC_RestartSeverCount = int(state == 2); + DetectState::instance()->savePLCPara(); + } + else if (strObj == "m_PLC_ShowTimerOutMsg") { + DetectState::instance()->m_PLC_ShowTimerOutMsg = int(state == 2); + DetectState::instance()->savePLCPara(); + } + else if (strObj == "m_PLC_IsResServer") { + DetectState::instance()->m_PLC_IsResServer = int(state == 2); + DetectState::instance()->savePLCPara(); + } + else if (strObj == "m_PLC_SaveMsgInLog") { + DetectState::instance()->m_PLC_SaveMsgInLog = int(state == 2); + DetectState::instance()->savePLCPara(); + } + else if (strObj == "m_showThressValue") { + DetectState::instance()->m_showThressValue = int(state == 2); + } + else if (strObj == "m_showThressList") { + DetectState::instance()->m_showThressList = int(state == 2); + } +} + +Q_SLOT void QSystemSettingDlg::onSetCurrentIndex(int nIndex) +{ + for (QMap::iterator pp = m_TreeItemMap.begin(); pp != m_TreeItemMap.end(); ++pp) + { + (*pp)->setExpanded(false); + } + QString strname = ui.listWidget->item(nIndex)->data(0).toString(); + if (m_TreeItemMap.contains(strname)) + { + QTreeWidgetItem *p = m_TreeItemMap.value(strname); + if (p) { + ui.treeWidget->setCurrentItem(p, QItemSelectionModel::SelectCurrent); + p->setExpanded(true); + } + } +} + +Q_SLOT void QSystemSettingDlg::onSavePLCPara() +{ + { + DetectState::instance()->m_PLC_TrigerFilter = m_PLCTrigerFilter->value(); + DetectState::instance()->m_PLC_CamTrigDelay = m_PLCCameraDelay->value(); + DetectState::instance()->m_PLC_CamTrigPulse = m_PLCCameraPulse->value(); + DetectState::instance()->m_PLC_LightDelay = m_PLCLightDelay->value(); + DetectState::instance()->m_PLC_RestartSeverCount = m_PLC_RestartSeverCount->value(); + DetectState::instance()->m_PLC_ResHoldTime = m_PLCResHoldTime->value(); + if (m_PLCTrigerType->currentText() == DEVELOP_PLC_TRIGER_DOWM) + DetectState::instance()->m_PLC_TrigerType = 0; + else if (m_PLCTrigerType->currentText() == DEVELOP_PLC_TRIGER_UP) + DetectState::instance()->m_PLC_TrigerType = 1; + + DetectState::instance()->savePLCPara(); +// QVariant nType = QVariant(WF_PLCPARA); +// emit(sgGenalData(nType, WF_PARASET)); +// emit sgShowMsg(tr("ѷͲ")); + } +} + +void QSystemSettingDlg::readSettingFile() +{ + if (m_setting) { + QString m_str = "/CheckThread/"; + nCheckDays = m_setting->value(m_str + "days", 7).toInt(); + nCheckThreadEable = m_setting->value(m_str + "IsUse", true).toBool(); + } +} + +void QSystemSettingDlg::writeSettingFile() +{ + if (m_setting) { + QString m_str = "/CheckThread/"; + m_setting->setValue(m_str + "days", nCheckDays); + m_setting->setValue(m_str + "IsUse", nCheckThreadEable); + } +} +Q_SLOT void QSystemSettingDlg::onChangeBG() +{ + QFileDialog fileDialog; + fileDialog.setWindowTitle(tr("ѡıͼ")); + fileDialog.setNameFilter("Picture(*.bmp *.jpg *.png)"); + fileDialog.setFileMode(QFileDialog::ExistingFiles); + if (fileDialog.exec() == QDialog::Accepted) + { + QStringList backgroundFile = fileDialog.selectedFiles(); + if (backgroundFile.size() > 0) + { + QString DstPath = /*m_pCtrl->appRoot() +*/ "\\user\\background.png"; + QString sourcePath = backgroundFile.at(0); + DstPath.replace("\\", "/"); + if (sourcePath == DstPath) { + // //return; + // //return true; + } + if (!QFile::exists(sourcePath)) { + //return false; + } + QDir *createfile = new QDir; + bool exist = createfile->exists(DstPath); + if (exist) { + //if (converFileIfExist){ + createfile->remove(DstPath); + //} + } + if (!QFile::copy(sourcePath, DstPath)) { + //return false; + } + //emit sgChangeBG(DstPath); + QMessageBox infobox(QMessageBox::Information, tr("ʾ"), tr("ͼɣ."), QMessageBox::Yes, NULL); + infobox.setWindowIcon(QIcon(":/image/leaper")); + infobox.setButtonText(QMessageBox::Yes, tr("ȷ")); + infobox.exec(); + } + } +} + +void QSystemSettingDlg::showEvent(QShowEvent *event) +{ + +} + +Q_SLOT void QSystemSettingDlg::onTreeWidgetButton() +{ + QString strObj = sender()->objectName(); + if (strObj == "m_IsModfy") + { + // m_ComScan->setDisabled(false); + // m_ComBoxName->setDisabled(false); + // m_ComBoxBaut->setDisabled(false); + // pSaveButton->setDisabled(false); + } + else if (strObj == "m_ComScan") + { + // disconnect(m_ComBoxBaut,0,0,0); + // disconnect(m_ComBoxName,0,0,0); + // m_ComBoxName->clear(); + // QStringList m_NameList; + // foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) + // { + // QString comportInfo = info.portName(); + // if (!m_NameList.contains(comportInfo)) + // m_NameList.append(comportInfo); + // } + // m_ComBoxName->addItems(m_NameList); + // + // if (m_ComName){ + // m_ComBoxName->setCurrentText(m_ComName->text()); + // } + // if (m_ComBaut){ + // m_ComBoxBaut->setCurrentText(m_ComBaut->text()); + // } + // connect(m_ComBoxBaut, SIGNAL(currentIndexChanged(int)), this, SLOT(oncurrentIndexChanged(int))); + // connect(m_ComBoxName, SIGNAL(currentIndexChanged(int)), this, SLOT(oncurrentIndexChanged(int))); + + } + else if (strObj == "m_Language") { + + } + else if (strObj == "m_DebugSave" || strObj == "pSavePara") + { + if (m_pCameraTrgType) { + if (m_pCameraTrgType->currentText() == DEVELOP_DETECT_CAMERE_VIRSUAL) + DetectState::instance()->m_Virtual_Camera = 1; + else + DetectState::instance()->m_Virtual_Camera = 0; + } + if (m_pCameraTrgTimes) { + DetectState::instance()->m_Visural_Time = m_pCameraTrgTimes->value(); + } + if (m_pDebugModel) { + if (m_pDebugModel->currentText() == DEVELOP_DETECT_DEBUG_NOUSER) + DetectState::instance()->m_Debug = 100; + else + DetectState::instance()->m_Debug = 1001; + } + if (m_pSystype) { + if (m_pSystype->currentText() == DEVELOP_DETECT_CAM_OUTTRIGER) + DetectState::instance()->m_CameraTrigeType = 1; + else + DetectState::instance()->m_CameraTrigeType = 0; + } + DetectState::instance()->saveDeteImage(); + //emit sgShowMsg(tr("")); + } +} + +Q_SLOT void QSystemSettingDlg::oncurrentChanged(const QString &str) +{ + QString strObjName = sender()->objectName(); + if ("m_Language" == strObjName) { + //emit(sgGenalData("languageSeting", str)); + } +} + +Q_SLOT void QSystemSettingDlg::onChangeBackground() +{ + QShowImg m_showImgDlg(this); + m_showImgDlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + m_showImgDlg.setWindowModality(Qt::ApplicationModal); + m_showImgDlg.setAttribute(Qt::WA_ShowModal, true); + m_showImgDlg.setWindowIcon(QIcon(":/image/leaper")); + QString DstPath = ".\\user\\background.png"; + connect(&m_showImgDlg, SIGNAL(sgChangeImg()), this, SLOT(onChangeBG())); + connect(this, SIGNAL(sgChangeBG(QString)), &m_showImgDlg, SLOT(setPicPath(QString))); + m_showImgDlg.setPicPath(DstPath); + m_showImgDlg.exec(); +} + +Q_SLOT void QSystemSettingDlg::onOpenDataPath() +{ + QString strObj = sender()->objectName(); + if ("pbOpenImgPath" == strObj) + { + QString strpath = DetectState::instance()->m_SaveImgDirPath + "/Data"; + bool bFalg = QDesktopServices::openUrl(QUrl(strpath, QUrl::TolerantMode)); + if (!bFalg) + { + bool bFalgs = QDesktopServices::openUrl(QUrl(DetectState::instance()->m_SaveImgDirPath, QUrl::TolerantMode)); + if (!bFalgs) + { + + } + } + } + else if ("pbSetSavePath" == strObj) + { + QString dir = QFileDialog::getExistingDirectory(NULL, tr("ļ"), QString(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); + if (!dir.isEmpty()) + { + if (m_pLbShowPath) + m_pLbShowPath->setText(dir); + DetectState::instance()->m_SaveImgDirPath = dir; + if (pDiskCleanThread) + pDiskCleanThread->SetImgStorageFolder(dir + "/Data"); + } + } +} + +Q_SLOT void QSystemSettingDlg::onLightTest() +{ + QVariant nType = QVariant(WF_LIFHT); + QString strObj = sender()->objectName(); + if (strObj == "redLight") + { + //emit(sgGenalData(nType, LIGHT_REDBEE)); + } + else if (strObj == "grenLight") { + //emit(sgGenalData(nType, LIGHT_GREENBEE)); + } + else if (strObj == "yellLight") { + //emit(sgGenalData(nType, LIGHT_YELLOWBEE)); + } + else if (strObj == "beeLight") { + //emit(sgGenalData(nType, LIGHT_BEE)); + } +} \ No newline at end of file diff --git a/tpvs17/tpMain/QSystemSettingDlg.h b/tpvs17/tpMain/QSystemSettingDlg.h new file mode 100644 index 0000000..ba12496 --- /dev/null +++ b/tpvs17/tpMain/QSystemSettingDlg.h @@ -0,0 +1,83 @@ +#ifndef _H_QSYSTEMSETTINGUI_H_ +#define _H_QSYSTEMSETTINGUI_H_ + +#include +#include "ui_QSystemSettingUI.h" +#include "QDiskCleanThread.h" +#include +#include +#include + +class QSystemSettingDlg : public QWidget +{ + Q_OBJECT + +public: + QSystemSettingDlg(QWidget *parent = Q_NULLPTR); + ~QSystemSettingDlg(); + + void onShowWidget(int level); +private: + bool InitTreeWidget(QTreeWidget* pTreewidget); + void addComRoot(class QTreeWidget *pTreewidget, QString strName /*= QString()*/); + QStringList getDirNames(QString strPath); + void addPicRoot(QTreeWidget *pTreewidget, QString strName); + void addPLCRoot(QTreeWidget *pTreewidget, QString strName); + void addLightRoot(QTreeWidget *pTreewidget, QString strName); + void addSuperRoot(class QTreeWidget *pTreewidget, QString strName); + void HidPLCUI(bool nflag); + void HidDevelopUI(bool nflag); + void InitDebugTree(void); + + void readSettingFile(); + void writeSettingFile(); + + Q_SLOT void onChangeBG(); + Q_SLOT void onTreeWidgetButton(); + Q_SLOT void oncurrentChanged(const QString &str); + Q_SLOT void onChangeBackground(); + Q_SLOT void onOpenDataPath(); + Q_SLOT void onLightTest(); + Q_SLOT void onCheckstateChanged(int state); + Q_SLOT void onSetCurrentIndex(int nIndex); + Q_SLOT void onSavePLCPara(); +protected: + virtual void showEvent(QShowEvent *event); + +private: + Ui::QSystemSettingUI ui; + QList m_listObj; + QMap m_TreeItemMap; + + class QComboBox *m_Language{ nullptr }; + //debug + class QComboBox *m_pCameraTrgType{ nullptr }; + class QSpinBox *m_pCameraTrgTimes{ nullptr }; + class QComboBox *m_pDebugModel{ nullptr }; + class QComboBox *m_pSystype{ nullptr }; + + QList developitems; + QList comitems; + QList camitems; + QList picitems; + QList PLCitems; + QList lightitems; + + class QSpinBox *m_PLCTrigerFilter{ nullptr }; + class QSpinBox *m_PLCCameraDelay{ nullptr }; + class QSpinBox *m_PLCCameraPulse{ nullptr }; + class QSpinBox *m_PLCLightDelay{ nullptr }; + class QSpinBox *m_PLCResHoldTime{ nullptr }; + class QComboBox *m_PLCTrigerType{ nullptr }; + class QSpinBox *m_PLC_RestartSeverCount{ nullptr }; + + QStringList m_listwidgetItemStr; + QDiskCleanThread *pDiskCleanThread{ nullptr }; + QSettings *m_setting{ nullptr }; + int nCheckDays{ 7 }; + bool nCheckThreadEable{ false }; + + class QLabel* m_pLbShowPath{ nullptr }; +}; + +#endif diff --git a/tpvs17/tpMain/QSystemSettingUI.ui b/tpvs17/tpMain/QSystemSettingUI.ui new file mode 100644 index 0000000..b155624 --- /dev/null +++ b/tpvs17/tpMain/QSystemSettingUI.ui @@ -0,0 +1,57 @@ + + + QSystemSettingUI + + + + 0 + 0 + 685 + 492 + + + + 系统设置 + + + + + + + 2 + 0 + + + + + 12 + + + + + + + + + 6 + 0 + + + + + 12 + + + + + 1 + + + + + + + + + + diff --git a/tpvs17/tpMain/QTimeMgrDlg.cpp b/tpvs17/tpMain/QTimeMgrDlg.cpp index 92ffc80..6ed0a75 100644 --- a/tpvs17/tpMain/QTimeMgrDlg.cpp +++ b/tpvs17/tpMain/QTimeMgrDlg.cpp @@ -1,12 +1,208 @@ #include "QTimeMgrDlg.h" - +#include +#include "timemgrctrl.h" +#include "qaddtimedlg.h" +#include #pragma execution_character_set("utf-8") + +struct CmpByValueTime { + bool operator()(const TimeStruct & lhs, const TimeStruct & rhs) + { + return lhs.m_startTime < rhs.m_startTime; + } +}; + QTimeMgrDlg::QTimeMgrDlg(QWidget *parent) : QDialog(parent) { ui.setupUi(this); + tablemodel = new QStandardItemModel(); + QStringList stringList; + stringList << tr("") << tr("ʼʱ") << tr("ʱ"); + tablemodel->setHorizontalHeaderLabels(stringList); + connect(ui.TimeMgr_tableView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(SlotcellClicked(const QModelIndex &))); + connect(ui.TimeMgr_ADD_Button, SIGNAL(clicked()), this, SLOT(onButtonClicked())); + connect(ui.TimeMgr_Del_Button, SIGNAL(clicked()), this, SLOT(onButtonClicked())); + connect(ui.TimeMgr_Mod_Button, SIGNAL(clicked()), this, SLOT(onButtonClicked())); } QTimeMgrDlg::~QTimeMgrDlg() { + if (tablemodel) { + while (tablemodel->rowCount()) + { + QList lptr = tablemodel->takeRow(0); + for (int n = 0; n < lptr.size(); n++) + { + delete lptr.at(n); + } + } + tablemodel->clear(); + delete tablemodel; + tablemodel = NULL; + } +} + +Q_SLOT void QTimeMgrDlg::onButtonClicked() +{ + QObject *obj = sender(); + QString str_name = obj->objectName(); + if (str_name == "TimeMgr_ADD_Button") { + QAddTimeDlg dlg(this); + dlg.setWindowTitle(tr("ò")); + dlg.setWindowIcon(QIcon(":/image/leaper")); + dlg.setFocus(); + dlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + dlg.setWindowModality(Qt::ApplicationModal); + dlg.setAttribute(Qt::WA_ShowModal, true); + if (dlg.exec() == QDialog::Accepted) + { + TimeStruct m_Timestruct; + dlg.GetInfo(m_Timestruct); + if (m_MapTime.contains(m_Timestruct.m_name)) + { + return; + } + int nIndex = tablemodel->rowCount(); + tablemodel->setItem(nIndex, 0, new QStandardItem(m_Timestruct.m_name)); + QString strStart = QString("%1 %2").arg(m_Timestruct.time_start == AM ? tr("") : tr("")).arg(m_Timestruct.m_startTime.toString("hh:mm")); + QString strEnd = QString("%1 %2").arg(m_Timestruct.time_end == AM ? tr("") : tr("")).arg(m_Timestruct.m_endTime.toString("hh:mm")); + tablemodel->setItem(nIndex, 1, new QStandardItem(strStart)); + tablemodel->setItem(nIndex, 2, new QStandardItem(strEnd)); + m_Timestruct.m_Index = nIndex; + m_MapTime.insert(m_Timestruct.m_name, m_Timestruct); + TimeMgrCtrl *m_pTimeMgr = m_pCtrl->getTimeMgr(); + m_pTimeMgr->AddNewTime(m_Timestruct); + ui.TimeMgr_label->setText(""); + } + } + else if (str_name == "TimeMgr_Del_Button") { + QString str_name = ui.TimeMgr_label->text(); + if (str_name.isEmpty() || str_name == tr("δѡ")) + { + //QMessageBox::information(NULL, QString("ʾ"), QString("δѡΣѡ޸ġ"), QMessageBox::Ok); + QMessageBox infobox(QMessageBox::Information, tr("ʾ"), tr("δѡΣѡ޸ġ"), QMessageBox::Yes, this); + infobox.setWindowIcon(QIcon(":/image/leaper")); + infobox.setButtonText(QMessageBox::Yes, tr("ȷ")); + infobox.exec(); + return; + } + + QString str = tr("ȷҪɾ %1 Σ").arg(str_name); + + if (str_name.isEmpty()) + return; + QMessageBox infobox(QMessageBox::Information, tr("ʾ"), str, QMessageBox::Ok | QMessageBox::Cancel, this); + infobox.setWindowIcon(QIcon(":/image/leaper")); + infobox.setButtonText(QMessageBox::Ok, tr("ȷ")); + infobox.setButtonText(QMessageBox::Cancel, tr("ȡ")); + if (infobox.exec() == QMessageBox::Ok) + { + if (str_name.isEmpty()) + return; + QModelIndex nIndex = ui.TimeMgr_tableView->currentIndex(); + int row = nIndex.row(); + if (tablemodel->removeRow(nIndex.row())) + int a = 0; + else + int b = 0; + TimeStruct m_TimeStruct; + m_TimeStruct.m_name = str_name; + m_MapTime.remove(str_name); + TimeMgrCtrl *m_pTimeMgr = m_pCtrl->getTimeMgr(); + m_pTimeMgr->DelOldTime(m_TimeStruct); + ui.TimeMgr_label->setText(""); + } + } + else if (str_name == "TimeMgr_Mod_Button") { + QString str_name = ui.TimeMgr_label->text(); + if (str_name.isEmpty() || str_name == tr("δѡ")) + { + + QMessageBox infobox(QMessageBox::Information, tr("ʾ"), tr("δѡΣѡ޸ġ"), QMessageBox::Yes, this); + infobox.setWindowIcon(QIcon(":/image/leaper")); + infobox.setButtonText(QMessageBox::Yes, tr("ȷ")); + infobox.exec(); + + return; + } + QAddTimeDlg dlg; + dlg.SetInfo(m_MapTime.value(str_name)); + if (dlg.exec() == QDialog::Accepted) + { + TimeStruct m_tempTime, m_newTime; + m_tempTime.m_name = str_name; + m_MapTime.remove(str_name); + dlg.GetInfo(m_newTime); + TimeMgrCtrl *m_pTimeMgr = m_pCtrl->getTimeMgr(); + m_pTimeMgr->ModTime(m_tempTime, m_newTime); + m_MapTime.insert(m_newTime.m_name, m_newTime); + int nIndex = 0; + + std::vector vec(m_MapTime.begin(), m_MapTime.end()); + std::sort(vec.begin(), vec.end(), CmpByValueTime()); + for (int n = 0; n < vec.size(); n++) + { + TimeStruct tiItem = vec.at(n); + tablemodel->setItem(nIndex, 0, new QStandardItem(tiItem.m_name)); + QString strStart = QString("%1 %2").arg(tiItem.time_start == AM ? tr("") : tr("")).arg(tiItem.m_startTime.toString("hh:mm")); + QString strEnd = QString("%1 %2").arg(tiItem.time_end == AM ? tr("") : tr("")).arg(tiItem.m_endTime.toString("hh:mm")); + tablemodel->setItem(nIndex, 1, new QStandardItem(strStart)); + tablemodel->setItem(nIndex, 2, new QStandardItem(strEnd)); + nIndex++; + } + + ui.TimeMgr_label->setText(""); + } + } + else if (str_name == "TimeMgr_OK_Button") { + //QDialog::accept(); + } +} + +Q_SLOT void QTimeMgrDlg::onSlotCellClicked(const QModelIndex& index) +{ + if (m_MapTime.size() > 0) + { + QModelIndex nindex = tablemodel->index(index.row(), 0); + QString str = nindex.data().toString(); + ui.TimeMgr_label->setText(str); + } +} + +void QTimeMgrDlg::showEvent(QShowEvent *) +{ + TimeMgrCtrl *m_pTimeMgr = m_pCtrl->getTimeMgr(); + this->m_MapTime = m_pTimeMgr->getAllTime(); + ui.TimeMgr_tableView->setModel(tablemodel); + ui.TimeMgr_tableView->setColumnWidth(0, 100); + ui.TimeMgr_tableView->setColumnWidth(1, 100); + ui.TimeMgr_tableView->setColumnWidth(2, 100); + //Ĭʾͷò۵ĻǿԽ + //m_tableView->verticalHeader()->hide(); + ui.TimeMgr_tableView->setSelectionBehavior(QAbstractItemView::SelectRows); + ui.TimeMgr_tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); + //tableView->resizeColumnsToContents(); + //QTableViewʹҼ˵ø + //tableView->setContextMenuPolicy(Qt::CustomContextMenu); + ui.TimeMgr_tableView->setWordWrap(false); + //tableView->setShowGrid(false);//ʾ + ui.TimeMgr_tableView->setAlternatingRowColors(true); + int nIndex = 0; + if (m_MapTime.size() <= 0) + return; + + std::vector vec(m_MapTime.begin(), m_MapTime.end()); + std::sort(vec.begin(), vec.end(), CmpByValueTime()); + for (int n = 0; n < vec.size(); n++) + { + TimeStruct tiItem = vec.at(n); + tablemodel->setItem(nIndex, 0, new QStandardItem(tiItem.m_name)); + QString strStart = QString("%1 %2").arg(tiItem.time_start == AM ? tr("") : tr("")).arg(tiItem.m_startTime.toString("hh:mm")); + QString strEnd = QString("%1 %2").arg(tiItem.time_end == AM ? tr("") : tr("")).arg(tiItem.m_endTime.toString("hh:mm")); + tablemodel->setItem(nIndex, 1, new QStandardItem(strStart)); + tablemodel->setItem(nIndex, 2, new QStandardItem(strEnd)); + nIndex++; + } + } diff --git a/tpvs17/tpMain/QTimeMgrDlg.h b/tpvs17/tpMain/QTimeMgrDlg.h index 312e426..9437f4b 100644 --- a/tpvs17/tpMain/QTimeMgrDlg.h +++ b/tpvs17/tpMain/QTimeMgrDlg.h @@ -3,6 +3,9 @@ #include #include "ui_QTimeMgrDlg.h" +#include "InfoFile.h" +#include "IWheelCtrl.h" +class TimeMgrCtrl; /*ιҳ*/ class QTimeMgrDlg : public QDialog { @@ -11,9 +14,16 @@ class QTimeMgrDlg : public QDialog public: QTimeMgrDlg(QWidget *parent = Q_NULLPTR); ~QTimeMgrDlg(); - + void onSetCtrlPtr(IWheelCtrl *p) { m_pCtrl = p; }; + Q_SLOT void onButtonClicked(); + Q_SLOT void onSlotCellClicked(const QModelIndex&index); +protected: + virtual void showEvent(QShowEvent *); private: Ui::QTimeMgrDlg ui; + QMap m_MapTime; + class QStandardItemModel *tablemodel; + IWheelCtrl *m_pCtrl{ nullptr }; }; #endif diff --git a/tpvs17/tpMain/lpGlobalData.cpp b/tpvs17/tpMain/lpGlobalData.cpp new file mode 100644 index 0000000..9360c8d --- /dev/null +++ b/tpvs17/tpMain/lpGlobalData.cpp @@ -0,0 +1,10 @@ +#include "lpGlobalData.h" + +lpGlobalData::lpGlobalData(QObject *parent) + : QObject(parent) +{ +} + +lpGlobalData::~lpGlobalData() +{ +} diff --git a/tpvs17/tpMain/lpGlobalData.h b/tpvs17/tpMain/lpGlobalData.h new file mode 100644 index 0000000..84c2f7b --- /dev/null +++ b/tpvs17/tpMain/lpGlobalData.h @@ -0,0 +1,27 @@ +/*! + *FileName: lpGlobalData.h + *Author: Pan Yingdong + *Email: bob.pan@hzleaper.com + *Created:2021/2/10 16:17 + *Note: +*/ +#ifndef _H_LPGLOBALDATA_H_ +#define _H_LPGLOBALDATA_H_ + +#include +#include "lpsingleton.h" + +class lpGlobalData : public QObject,public lpsingleton +{ + Q_OBJECT + +public: + lpGlobalData(QObject *parent = nullptr); + ~lpGlobalData(); + + int m_level{ 0 }; + QString m_curUser{ "" }; + +}; + +#endif diff --git a/tpvs17/tpMain/lpMainWin.cpp b/tpvs17/tpMain/lpMainWin.cpp index 3546808..b58f909 100644 --- a/tpvs17/tpMain/lpMainWin.cpp +++ b/tpvs17/tpMain/lpMainWin.cpp @@ -15,6 +15,8 @@ #include "HubBase.h" #include #include +#include "saveimgthread.h" +#include "lpGlobalData.h" #pragma execution_character_set("utf-8") lpMainWin::lpMainWin(QWidget *parent) @@ -94,7 +96,6 @@ lpMainWin::lpMainWin(QWidget *parent) m_pLbCurrentTime->setMinimumWidth(200); m_pLbCurrentTime->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - m_pLbBanci->setMinimumWidth(200); m_pLbBanci->setFont(m_font); m_pLbBanci->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); @@ -125,13 +126,19 @@ lpMainWin::lpMainWin(QWidget *parent) m_pworkUI->InitUI(); connect(m_pworkUI, SIGNAL(sgUpdatedefect()), this, SLOT(onUpdateDefect())); - m_pModelMgrDlg = new QModelMgrDlg(m_pCtrl); - m_pDebugDlg = new QDebugDlg(); - m_pTimerMgrDlg = new QTimeMgrDlg(); + m_pModelMgrDlg = new QModelMgrDlg(m_pCtrl);//ģ + m_pDebugDlg = new QDebugDlg();//Խ connect(m_pDebugDlg, SIGNAL(sgTriggerCam()), this, SLOT(onTriggerCam())); m_pDebugDlg->onSetCtrl(m_pCtrl); + m_pTimerMgrDlg = new QTimeMgrDlg();//ι + m_pTimerMgrDlg->onSetCtrlPtr(m_pCtrl); + + m_pSystemSettingDlg = new QSystemSettingDlg();//ϵͳ + m_CamSettingDlg = new QCamSettingDlg(); + m_CamSettingDlg->setCoreCtrlPtr(m_pCoreCtrl); + m_pixMapList = new QPixmapListBar(ui.tp_main_tabWidget); ui.tp_main_tabWidget->insertTab(0, m_pixMapList, tr("ʷ")); ui.tp_main_tabWidget->setCurrentIndex(0); @@ -335,6 +342,16 @@ lpMainWin::~lpMainWin() delete m_pTimerMgrDlg; m_pTimerMgrDlg = nullptr; } + if (m_pSystemSettingDlg) + { + delete m_pSystemSettingDlg; + m_pSystemSettingDlg = nullptr; + } + if (m_CamSettingDlg) + { + delete m_CamSettingDlg; + m_CamSettingDlg = nullptr; + } if (m_ImgViewer) { delete m_ImgViewer; m_ImgViewer = nullptr; @@ -538,6 +555,8 @@ void lpMainWin::IVariantMapToUI(const QString& camKey, const QVariantMap& vMap) SendResultChannel2PLC(pResult);//ͼͨPLC m_pCtrl->saveResult(pResult); + saveImage(pResult); + delete pResult; @@ -598,19 +617,18 @@ QVariant lpMainWin::IGetVariantById(int id) Q_SLOT void lpMainWin::onLogInOut(QString strName, int level, int state) { -// if (state == 0) { -// m_pCtrl->setUser(strName, level); -// if (main_loginIn) -// main_loginIn->setText(tr("ע ")); -// m_pUi->onUserRole(); -// } -// else -// { -// m_pCtrl->setUser(strName, level); -// if (main_loginIn) -// main_loginIn->setText(tr(" ¼")); -// m_pUi->onUserRole(); -// } + lpGlobalData::instance()->m_curUser = strName; + lpGlobalData::instance()->m_level = level; + if (state == 0) { + m_pCtrl->setUser(strName, level); + ui.action_Login->setText(tr("ע ")); + } + else + { + m_pCtrl->setUser(strName, level); + ui.action_Login->setText(tr(" ¼")); + } + onUpdateByLevel(level); } Q_SLOT void lpMainWin::onActionClicked() @@ -695,10 +713,30 @@ Q_SLOT void lpMainWin::onActionClicked() } } else if ("actionSystemSeting" == strObj) { - + if (m_pSystemSettingDlg) + { + m_pSystemSettingDlg->setParent(this); + m_pSystemSettingDlg->onShowWidget(lpGlobalData::instance()->m_level); + m_pSystemSettingDlg->setWindowTitle(tr("ϵͳ")); + m_pSystemSettingDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + m_pSystemSettingDlg->setWindowIcon(QIcon(":/resource/logo-8.png")); + m_pSystemSettingDlg->setWindowModality(Qt::ApplicationModal); + m_pSystemSettingDlg->setAttribute(Qt::WA_ShowModal, true); + m_pSystemSettingDlg->show(); + } } else if ("actioncamSetting" == strObj) { - + if (m_CamSettingDlg) + { + m_CamSettingDlg->setParent(this); + //m_CamSettingDlg->onShowWidget(lpGlobalData::instance()->m_level); + m_CamSettingDlg->setWindowTitle(tr("")); + m_CamSettingDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + m_CamSettingDlg->setWindowIcon(QIcon(":/resource/logo-8.png")); + m_CamSettingDlg->setWindowModality(Qt::ApplicationModal); + m_CamSettingDlg->setAttribute(Qt::WA_ShowModal, true); + m_CamSettingDlg->show(); + } } } @@ -1378,3 +1416,74 @@ void lpMainWin::SendResultChannelCOM(Result2Ui* m_Res) // SendDataToCom(0x47, frame); //} } + +void lpMainWin::saveImage(Result2Ui* pRes) +{ + if (pRes == nullptr) + return; + qDebug() << "satrt tread save Image"; + QDir testDir; + bool IsTestDir = testDir.exists(DetectState::instance()->m_SaveImgDirPath); + if (!IsTestDir) + DetectState::instance()->m_SaveImgDirPath = DetectState::instance()->m_applicationDirPath; + + QString baseSavePath = DetectState::instance()->m_SaveImgDirPath + "\\Data\\"; + + QString dataTime = QDateTime::currentDateTime().toString("yyyy-MM-dd"); + QString fileSavePath = baseSavePath + "\\" + dataTime; + QString filename = pRes->m_strModel; + if (pRes->m_strModel != "NG") + { + QString goodsourceDir = fileSavePath + "\\Good"; + filename += QString("_%1_%2_").arg((int)pRes->m_dThickness).arg((int)pRes->m_dDiameter); + filename += QDateTime::currentDateTime().toString("hhmmsszzz"); + if (DetectState::instance()->saveGood == 1) { + goodsourceDir += "\\Source"; + goodsourceDir += "\\"; + goodsourceDir += pRes->m_strModel; + QString resultpath = goodsourceDir + "\\" + filename + ".png"; + saveImage(pRes->m_pixSrc, goodsourceDir + "\\", filename + ".png"); + } + QString goodtargetDir = fileSavePath + "\\Good"; + if (DetectState::instance()->saveCutGood == 1) { + goodtargetDir += "\\Target"; + goodtargetDir += "\\"; + goodtargetDir += pRes->m_strModel; + QString resultpath = goodtargetDir + "\\" + filename + "Res.png"; + saveImage(pRes->m_pixResult, goodtargetDir + "\\", filename + "Res.png"); + } + } + else + { + QString errorSourceDir = fileSavePath + "\\Error"; + filename += QString("_%1_%2_").arg((int)pRes->m_dThickness).arg((int)pRes->m_dDiameter); + filename += QDateTime::currentDateTime().toString("hhmmsszzz"); + if (DetectState::instance()->saveBad == 1) { + errorSourceDir += "\\Source"; + QString resultpath = errorSourceDir + "\\" + filename + ".png"; + saveImage(pRes->m_pixSrc, errorSourceDir + "\\", filename + ".png"); + } + QString errortargetDir = fileSavePath + "\\Error"; + if (DetectState::instance()->saveCutBad == 1) { + errortargetDir += "\\Target"; + QString resultpath = errortargetDir + "\\" + filename + "Res.png"; + if (pRes->m_pixResult.isNull()) + saveImage(pRes->m_pixSrc, errortargetDir + "\\", filename + "Res.png"); + else + saveImage(pRes->m_pixResult, errortargetDir + "\\", filename + "Res.png"); + } + } +} + +void lpMainWin::saveImage(const QPixmap& m_pixmap, QString m_path, QString filename) +{//̱߳ͼ + SaveImgThread *workTread = new SaveImgThread(this); + workTread->setPixmap(m_pixmap, m_path, filename); + connect(workTread, &SaveImgThread::finished, workTread, &QObject::deleteLater); + workTread->start(); +} + +void lpMainWin::onUpdateByLevel(int nlevel) +{ + +} diff --git a/tpvs17/tpMain/lpMainWin.h b/tpvs17/tpMain/lpMainWin.h index 6e4f4ff..800812a 100644 --- a/tpvs17/tpMain/lpMainWin.h +++ b/tpvs17/tpMain/lpMainWin.h @@ -19,6 +19,8 @@ #include "RoiImgViewer.h" #include "InfoFile.h" #include "qpixmapbar.h" +#include "QSystemSettingDlg.h" +#include "QCamSettingDlg.h" class lpMainWin : public QMainWindow { @@ -103,7 +105,6 @@ protected: Q_SLOT void onSendDisLib(int nIndex, QString strModel); Q_SLOT void onSendDisLibDone(); Q_SLOT void onShowChannel(QString str); - Q_SLOT void onTriggerCam(); void onInitAbout(); @@ -114,6 +115,9 @@ private: void SendResultStr2PLC(Result2Ui* m_Res); void SendResultChannel2PLC(Result2Ui* m_Res); void SendResultChannelCOM(Result2Ui* m_Res); + void saveImage(Result2Ui* pRes); + void saveImage(const QPixmap& m_pixmap, QString m_path, QString filename); + void onUpdateByLevel(int nlevel); protected: virtual void timerEvent(QTimerEvent *event); virtual void closeEvent(QCloseEvent *event); @@ -167,6 +171,8 @@ private: QWidget m_aboutDlg;// QTimeMgrDlg* m_pTimerMgrDlg{ nullptr }; QPixmapListBar* m_pixMapList{ nullptr };//չʾʷ + QSystemSettingDlg* m_pSystemSettingDlg{ nullptr }; + QCamSettingDlg* m_CamSettingDlg{ nullptr }; private: IUserCtrl *m_pUserCtrl{ nullptr };//ûģ diff --git a/tpvs17/tpMain/tpMain.vcxproj b/tpvs17/tpMain/tpMain.vcxproj index afacdbe..6488ea4 100644 --- a/tpvs17/tpMain/tpMain.vcxproj +++ b/tpvs17/tpMain/tpMain.vcxproj @@ -81,6 +81,9 @@ true + + true + true @@ -108,6 +111,9 @@ true + + true + true @@ -162,6 +168,9 @@ true + + true + true @@ -210,6 +219,9 @@ true + + true + true @@ -237,6 +249,9 @@ true + + true + true @@ -291,6 +306,9 @@ true + + true + true @@ -315,15 +333,48 @@ true + + + + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D_WINDOWS -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\src\algorithm" "-I.\..\..\src\tpMain" "-I.\..\..\src\tpMain\thread" "-I.\..\..\src\tpMain\splashScreen" "-I.\..\..\src\tpMain\LightBoxwidget" "-I.\..\..\src\tpMain\QDiskCleanThread" "-I.\..\..\src\tpMain\QPixmapListBar" "-I.\..\..\src\userCtrl" "-I.\..\..\src\NetWheel" "-I.\..\..\src\RasterSDG20" "-I.\..\..\src\ReportModel" "-I.\..\..\3part\libzkq\include" "-I.\..\..\3part\tadpole\include\tpBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\3part\lpCoreCtrl\include" "-I.\..\..\src\tpMain\algela" "-I.\..\..\src\ImageCompare" "-I.\..\..\src\interface" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\src\algorithm" "-I.\..\..\src\tpMain" "-I.\..\..\src\tpMain\thread" "-I.\..\..\src\tpMain\splashScreen" "-I.\..\..\src\tpMain\LightBoxwidget" "-I.\..\..\src\tpMain\QDiskCleanThread" "-I.\..\..\src\tpMain\QPixmapListBar" "-I.\..\..\src\userCtrl" "-I.\..\..\src\NetWheel" "-I.\..\..\src\RasterSDG20" "-I.\..\..\src\ReportModel" "-I.\..\..\3part\libzkq\include" "-I.\..\..\3part\tadpole\include\tpBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\3part\lpCoreCtrl\include" "-I.\..\..\src\tpMain\algela" "-I.\..\..\src\ImageCompare" "-I.\..\..\src\interface" + + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D_WINDOWS -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\src\algorithm" "-I.\..\..\src\tpMain" "-I.\..\..\src\tpMain\thread" "-I.\..\..\src\tpMain\splashScreen" "-I.\..\..\src\tpMain\LightBoxwidget" "-I.\..\..\src\tpMain\QDiskCleanThread" "-I.\..\..\src\tpMain\QPixmapListBar" "-I.\..\..\src\userCtrl" "-I.\..\..\src\NetWheel" "-I.\..\..\src\RasterSDG20" "-I.\..\..\src\ReportModel" "-I.\..\..\3part\libzkq\include" "-I.\..\..\3part\tadpole\include\tpBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\3part\lpCoreCtrl\include" "-I.\..\..\src\tpMain\algela" "-I.\..\..\src\ImageCompare" "-I.\..\..\src\interface" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\src\algorithm" "-I.\..\..\src\tpMain" "-I.\..\..\src\tpMain\thread" "-I.\..\..\src\tpMain\splashScreen" "-I.\..\..\src\tpMain\LightBoxwidget" "-I.\..\..\src\tpMain\QDiskCleanThread" "-I.\..\..\src\tpMain\QPixmapListBar" "-I.\..\..\src\userCtrl" "-I.\..\..\src\NetWheel" "-I.\..\..\src\RasterSDG20" "-I.\..\..\src\ReportModel" "-I.\..\..\3part\libzkq\include" "-I.\..\..\3part\tadpole\include\tpBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\3part\lpCoreCtrl\include" "-I.\..\..\src\tpMain\algela" "-I.\..\..\src\ImageCompare" "-I.\..\..\src\interface" + + + $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D_WINDOWS -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\src\algorithm" "-I.\..\..\src\tpMain" "-I.\..\..\src\tpMain\thread" "-I.\..\..\src\tpMain\splashScreen" "-I.\..\..\src\tpMain\LightBoxwidget" "-I.\..\..\src\tpMain\QDiskCleanThread" "-I.\..\..\src\tpMain\QPixmapListBar" "-I.\..\..\src\userCtrl" "-I.\..\..\src\NetWheel" "-I.\..\..\src\RasterSDG20" "-I.\..\..\src\ReportModel" "-I.\..\..\3part\libzkq\include" "-I.\..\..\3part\tadpole\include\tpBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\3part\lpCoreCtrl\include" "-I.\..\..\src\tpMain\algela" "-I.\..\..\src\ImageCompare" "-I.\..\..\src\interface" + $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DTPMAIN_LIB -DTPMAIN_EXPORTS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_PRINTSUPPORT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -D%(PreprocessorDefinitions) "-I." "-I.\GeneratedFiles" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtNetwork" "-I.\..\..\src\algorithm" "-I.\..\..\src\tpMain" "-I.\..\..\src\tpMain\thread" "-I.\..\..\src\tpMain\splashScreen" "-I.\..\..\src\tpMain\LightBoxwidget" "-I.\..\..\src\tpMain\QDiskCleanThread" "-I.\..\..\src\tpMain\QPixmapListBar" "-I.\..\..\src\userCtrl" "-I.\..\..\src\NetWheel" "-I.\..\..\src\RasterSDG20" "-I.\..\..\src\ReportModel" "-I.\..\..\3part\libzkq\include" "-I.\..\..\3part\tadpole\include\tpBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\3part\lpCoreCtrl\include" "-I.\..\..\src\tpMain\algela" "-I.\..\..\src\ImageCompare" "-I.\..\..\src\interface" + $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... @@ -367,6 +418,7 @@ + @@ -376,6 +428,7 @@ + @@ -1210,6 +1263,30 @@ "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + + + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + + + + + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + + {A229CF5C-81EF-4909-AB6E-49C746F1ED4C} Qt4VSv1.0 @@ -1278,9 +1355,9 @@ Console $(SolutionDir)..\runner13\$(TargetName)$(TargetExt) - $(QTDIR)\lib;$(OutDir);..\..\..\frogs\win32\lib;..\..\..\lpopencv\openCV2.4.9\build\x86\vc12\lib;%(AdditionalLibraryDirectories) + $(QTDIR)\lib;$(OutDir);..\..\3part\opencv3.4.1\x64\vc15\lib;..\..\3part\Cyclops\lib;..\..\3part\libzkq\lib;%(AdditionalLibraryDirectories) true - qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;Qt5AxContainer.lib;Qt5AxBase.lib;Qt5Sql.lib;opencv_core249.lib;opencv_highgui249.lib;opencv_imgproc249.lib;opencv_features2d249.lib;opencv_calib3d249.lib;luffy.lib;Cyclops.lib;Qt5PrintSupport.lib;Qt5Network.lib;libzkq.lib;Qt5SerialPort.lib;tpGui.lib;%(AdditionalDependencies) + qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;Qt5AxContainer.lib;Qt5AxBase.lib;Qt5Sql.lib;Qt5PrintSupport.lib;Qt5Network.lib;Qt5SerialPort.lib;libzkq.lib;luffy.lib;Cyclops.lib;opencv_world341.lib;%(AdditionalDependencies) true true diff --git a/tpvs17/tpMain/tpMain.vcxproj.filters b/tpvs17/tpMain/tpMain.vcxproj.filters index 5e6e3f6..211a99f 100644 --- a/tpvs17/tpMain/tpMain.vcxproj.filters +++ b/tpvs17/tpMain/tpMain.vcxproj.filters @@ -81,9 +81,6 @@ {e1b50e51-3618-4ac6-a2f1-9bd69105122b} - - {c18cd373-aa9a-40f9-b311-780dcdfee81e} - {9e4e103a-8a97-4330-a5cd-552944505af4} @@ -518,6 +515,33 @@ BaseUILib\pulpewidget + + Source Files + + + Generated Files\Debug + + + Generated Files\Release + + + Generated Files\Debug + + + Generated Files\Release + + + Source Files + + + Generated Files\Debug + + + Generated Files\Release + + + Source Files + @@ -658,6 +682,12 @@ ImageCompare + + Generated Files + + + Generated Files + @@ -834,6 +864,21 @@ BaseUILib\pulpewidget + + Form Files + + + Header Files + + + Header Files + + + Header Files + + + Form Files + diff --git a/tpvs17/tpMain/tpMain.vcxproj.user b/tpvs17/tpMain/tpMain.vcxproj.user index 32da314..9042ced 100644 --- a/tpvs17/tpMain/tpMain.vcxproj.user +++ b/tpvs17/tpMain/tpMain.vcxproj.user @@ -9,8 +9,8 @@ D:\Qt\Qt5.9.4\5.9.4\msvc2017_64 - E:\LeaperProject\hubDetect\runner13\tpShell.exe - E:\LeaperProject\hubDetect\runner13\ + $(SolutionDir)..\runner17\Enchanter.exe + $(SolutionDir)..\runner17\ WindowsLocalDebugger PATH=$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(PATH) diff --git a/tpvs17/wheel.sln b/tpvs17/wheel.sln index dd78d12..b1438af 100644 --- a/tpvs17/wheel.sln +++ b/tpvs17/wheel.sln @@ -9,6 +9,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tpAlgorithmQt", "tpAlgorith EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QUserInfo", "QUserInfo\QUserInfo.vcxproj", "{D7AF8AA1-0F2C-407F-B135-FBDA4448EE16}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RasterSDG20", "RasterSDG20\RasterSDG20.vcxproj", "{CE765894-2106-48FE-99C3-D8D7624889A0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -27,12 +29,16 @@ Global {D7AF8AA1-0F2C-407F-B135-FBDA4448EE16}.Debug|x64.Build.0 = Debug|x64 {D7AF8AA1-0F2C-407F-B135-FBDA4448EE16}.Release|x64.ActiveCfg = Release|x64 {D7AF8AA1-0F2C-407F-B135-FBDA4448EE16}.Release|x64.Build.0 = Release|x64 + {CE765894-2106-48FE-99C3-D8D7624889A0}.Debug|x64.ActiveCfg = Debug|x64 + {CE765894-2106-48FE-99C3-D8D7624889A0}.Debug|x64.Build.0 = Debug|x64 + {CE765894-2106-48FE-99C3-D8D7624889A0}.Release|x64.ActiveCfg = Release|x64 + {CE765894-2106-48FE-99C3-D8D7624889A0}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {CD365F32-5EAC-4A16-AD47-BFB1D8E5511A} Qt5Version = qt5.9.4-msvc2017-x64 + SolutionGuid = {CD365F32-5EAC-4A16-AD47-BFB1D8E5511A} EndGlobalSection EndGlobal