diff --git a/EffectUI/EffectUI.pro b/EffectUI/EffectUI.pro
new file mode 100644
index 0000000..2653963
--- /dev/null
+++ b/EffectUI/EffectUI.pro
@@ -0,0 +1,31 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2016-09-27T18:05:24
+#
+#-------------------------------------------------
+
+QT += core gui network sql
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TARGET = EffectUI
+TEMPLATE = app
+CONFIG += c++11
+
+
+SOURCES += main.cpp\
+ widget.cpp \
+ scompanylistwidget.cpp \
+ sutilfunction.cpp \
+ sutilclass.cpp \
+ srunninglistwidget.cpp \
+ stimer.cpp
+
+HEADERS += widget.h \
+ scompanylistwidget.h \
+ sutilfunction.h \
+ sutilclass.h \
+ srunninglistwidget.h \
+ stimer.h
+
+FORMS += widget.ui
diff --git a/EffectUI/EffectUI.pro.user b/EffectUI/EffectUI.pro.user
new file mode 100644
index 0000000..4b9aeea
--- /dev/null
+++ b/EffectUI/EffectUI.pro.user
@@ -0,0 +1,1001 @@
+
+
+
+
+
+ EnvironmentId
+ {a05fc9db-6c77-45e7-9770-7cd31ad1131c}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ false
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop Qt 5.4.0 MinGW 32bit
+ Desktop Qt 5.4.0 MinGW 32bit
+ qt.54.win32_mingw491_kit
+ 0
+ 0
+ 0
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_0_MinGW_32bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_0_MinGW_32bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 2
+
+
+ 0
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy locally
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ EffectUI
+
+ Qt4ProjectManager.Qt4RunConfiguration:C:/source/EffectUI/EffectUI.pro
+
+ EffectUI.pro
+ false
+ false
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.1
+
+ Desktop Qt 5.4.0 MSVC2013 32bit
+ Desktop Qt 5.4.0 MSVC2013 32bit
+ {41ee5de3-e0c6-4932-89be-818ac7411cf5}
+ 0
+ 0
+ 0
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_0_MSVC2013_32bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_0_MSVC2013_32bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 2
+
+
+ 0
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy locally
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ -1
+
+
+
+ false
+ %{buildDir}
+ Custom Executable
+
+ ProjectExplorer.CustomExecutableRunConfiguration
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.2
+
+ Desktop Qt 5.4.1 MSVC2013 64bit
+ Desktop Qt 5.4.1 MSVC2013 64bit
+ {481b3484-407d-4ae0-ba41-458f5e9d2bf2}
+ 0
+ 0
+ 0
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_1_MSVC2013_64bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_1_MSVC2013_64bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 2
+
+
+ 0
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy locally
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ -1
+
+
+
+ false
+ %{buildDir}
+ Custom Executable
+
+ ProjectExplorer.CustomExecutableRunConfiguration
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.3
+
+ Desktop Qt 5.4.0 MSVC2013 64bit
+ Desktop Qt 5.4.0 MSVC2013 64bit
+ {4a73e1a8-867f-4a8f-a70a-a3bb186185e4}
+ 0
+ 0
+ 0
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_0_MSVC2013_64bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_0_MSVC2013_64bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 2
+
+
+ 0
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy locally
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ -1
+
+
+
+ false
+ %{buildDir}
+ Custom Executable
+
+ ProjectExplorer.CustomExecutableRunConfiguration
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.4
+
+ Desktop Qt 5.4.1 MSVC2013 32bit
+ Desktop Qt 5.4.1 MSVC2013 32bit
+ {9ae54b69-b1a2-4c5f-aded-871471d7c65f}
+ 0
+ 0
+ 0
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_1_MSVC2013_32bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/source/build-EffectUI-Desktop_Qt_5_4_1_MSVC2013_32bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+ true
+
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 2
+
+
+ 0
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy locally
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ -1
+
+
+
+ false
+ %{buildDir}
+ Custom Executable
+
+ ProjectExplorer.CustomExecutableRunConfiguration
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 5
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 18
+
+
+ Version
+ 18
+
+
diff --git a/EffectUI/main.cpp b/EffectUI/main.cpp
new file mode 100644
index 0000000..4d6c97b
--- /dev/null
+++ b/EffectUI/main.cpp
@@ -0,0 +1,11 @@
+#include "widget.h"
+#include
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ Widget w;
+ w.show();
+
+ return a.exec();
+}
diff --git a/EffectUI/scompanylistwidget.cpp b/EffectUI/scompanylistwidget.cpp
new file mode 100644
index 0000000..bee9ce2
--- /dev/null
+++ b/EffectUI/scompanylistwidget.cpp
@@ -0,0 +1,312 @@
+#include "scompanylistwidget.h"
+#include "sutilfunction.h"
+#include "sutilclass.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+namespace
+{
+QString strDatabaseName("companylist");
+}
+
+enum class SCompanyListWidget::E_TABLE_HEADER
+{
+ COMPANY = 0,
+ START_DATE,
+ END_DATE,
+ EVENT_NUM,
+ STATUS,
+ MAX
+};
+
+SCompanyListWidget::~SCompanyListWidget()
+{
+ if (m_pwParent == nullptr)
+ {
+ delete m_pbtnSearch;
+ delete m_pbtnRefresh;
+ delete m_pdeEnd;
+ delete m_pdeStart;
+ delete m_ptableWidget;
+ }
+}
+
+SCompanyListWidget::SCompanyListWidget(QWidget* parent):
+ m_pbtnSearch(new QPushButton(parent)), m_pbtnRefresh(new QPushButton(parent)),
+ m_ptableWidget(new QTableWidget(parent)), m_pdeStart(new QDateEdit(parent)),
+ m_pdeEnd(new QDateEdit(parent)), m_playout(new QVBoxLayout(parent)), m_pwParent(parent),
+ m_pslTableHeader(new QStringList)
+
+{
+ *m_pslTableHeader << "Company" << "Start date" << "End date" << "Event Num" << "Status";
+ initButton();
+ initCalender();
+ initLayout();
+ initTableWidget();
+ initDatabase();
+}
+
+void SCompanyListWidget::initButton()
+{
+ m_pbtnSearch->setText("Search");
+ m_pbtnRefresh->setText("Refresh");
+ connect(m_pbtnSearch, &QPushButton::released, this, &SCompanyListWidget::search);
+ connect(m_pbtnRefresh, &QPushButton::released, this, &SCompanyListWidget::refresh);
+}
+
+void SCompanyListWidget::initDatabase()
+{
+ databaseSetting(strDatabaseName);
+}
+
+void SCompanyListWidget::initCalender()
+{
+ // Qt manages calenderwidget variable
+ QCalendarWidget* calenderwidget = new QCalendarWidget();
+ m_pdeStart->setCalendarWidget(calenderwidget);
+ m_pdeEnd->setCalendarWidget(calenderwidget);
+ m_pdeStart->setCalendarPopup(true);
+ m_pdeEnd->setCalendarPopup(true);
+}
+
+void SCompanyListWidget::initLayout()
+{
+ QHBoxLayout *pblbutton = new QHBoxLayout;
+ pblbutton->addWidget(m_pdeStart);
+ pblbutton->addWidget(m_pdeEnd);
+ pblbutton->addWidget(m_pbtnSearch);
+ pblbutton->addWidget(m_pbtnRefresh);
+
+ m_playout->addWidget(m_ptableWidget);
+ m_playout->addLayout(pblbutton);
+}
+
+void SCompanyListWidget::initTableWidget()
+{
+ m_ptableWidget->setColumnCount(m_pslTableHeader->size());
+ m_ptableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
+ m_ptableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
+ m_ptableWidget->setSortingEnabled(true);
+ connect(m_ptableWidget, &QTableWidget::itemSelectionChanged,
+ this, &SCompanyListWidget::slotClickedItem);
+}
+
+
+void SCompanyListWidget::slotClickedItem()
+{
+ qDebug() << "signalClickedItem";
+ auto kkk = getSelectedList();
+ foreach (auto& k, kkk)
+ {
+ qDebug() << k[0].text() << ", " << k[1].text() << ", " << k[2].text() << ", " << k[3].text();
+ }
+
+ emit signalClickedItem();
+}
+
+void SCompanyListWidget::resetTableHeader()
+{
+ m_ptableWidget->clear();
+ m_ptableWidget->setHorizontalHeaderLabels(*m_pslTableHeader);
+}
+
+QVBoxLayout* SCompanyListWidget::getLayout() const
+{
+ return m_playout;
+}
+
+
+void SCompanyListWidget::refresh()
+{
+ QSqlDatabase db = QSqlDatabase::database(strDatabaseName);
+ if (db.open() == false)
+ {
+ messageBoxError("Error", "Database conncection error");
+ db.close();
+ return;
+ }
+ //select num, name, startdate, enddate from company join company_event_map where company.num = company_event_map.company_num
+
+ QString strQuery("select company.num, name, startdate, enddate, "
+ "count(company_event_map.company_num) as "
+ "cnt from company inner join company_event_map "
+ "on company.num = company_event_map.company_num group by company.num");
+ QSqlQuery query(db);
+ if (!query.exec(strQuery))
+ {
+ messageBoxError("Mysql Query error", strQuery + "\n\n" + query.lastError().text());
+ db.close();
+ return;
+ }
+
+ resetTableHeader();
+ m_ptableWidget->setRowCount(query.size());
+
+ int nRow = 0;
+ while (query.next())
+ {
+
+ QTableWidgetItem *itemCompany =
+ new QTableWidgetItem(query.value(static_cast(E_TABLE_HEADER::COMPANY) + 1).toString());
+ itemCompany->setData(Qt::UserRole, query.value(0));
+
+ m_ptableWidget->setItem(nRow, static_cast(E_TABLE_HEADER::COMPANY), itemCompany);
+ m_ptableWidget->setItem(nRow, static_cast(E_TABLE_HEADER::START_DATE),
+ new QTableWidgetItem(query.value(static_cast(E_TABLE_HEADER::START_DATE) + 1).toString()));
+ m_ptableWidget->setItem(nRow, static_cast(E_TABLE_HEADER::END_DATE),
+ new QTableWidgetItem(query.value(static_cast(E_TABLE_HEADER::END_DATE) + 1).toString()));
+ m_ptableWidget->setItem(nRow, static_cast(E_TABLE_HEADER::EVENT_NUM),
+ new STableWidgetItem(QString::number(
+ query.value(static_cast(E_TABLE_HEADER::EVENT_NUM) + 1).toInt())));
+ m_ptableWidget->setItem(nRow, static_cast(E_TABLE_HEADER::STATUS),
+ new QTableWidgetItem(""));
+ m_ptableWidget->setRowHidden(nRow, false);
+ ++nRow;
+ }
+
+ db.close();
+ resetSearchDate();
+}
+
+void SCompanyListWidget::resetSearchDate()
+{
+ QDate startDate(2100, 12, 13);
+ QDate endDate(2000, 1, 1);
+
+ QDate _startDate;
+ QDate _endDate;
+
+ for (int i = 0; i < m_ptableWidget->rowCount(); ++i)
+ {
+ _startDate = QDateTime::fromString(
+ m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::START_DATE))->text(), "yyyy-MM-dd").date();
+ _endDate = QDateTime::fromString(
+ m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::END_DATE))->text(), "yyyy-MM-dd").date();
+ startDate = (startDate < _startDate) ? startDate : _startDate;
+ endDate = (endDate > _endDate) ? endDate : _endDate;
+ }
+
+ m_pdeStart->setDate(startDate);
+ m_pdeEnd->setDate(endDate);
+}
+
+
+void SCompanyListWidget::search()
+{
+ QDate startDate = m_pdeStart->date();
+ QDate endDate = m_pdeEnd->date();
+
+ QDate _startDate;
+ QDate _endDate;
+
+ for (int i = 0; i < m_ptableWidget->rowCount(); ++i)
+ {
+ _startDate = QDateTime::fromString(
+ m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::START_DATE))->text(), "yyyy-MM-dd").date();
+ _endDate = QDateTime::fromString(
+ m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::END_DATE))->text(), "yyyy-MM-dd").date();
+ if (startDate <= _startDate && _endDate <= endDate)
+ m_ptableWidget->setRowHidden(i, false);
+ else
+ m_ptableWidget->setRowHidden(i, true);
+ }
+}
+
+void SCompanyListWidget::setRunning(int _id)
+{
+ for (int i = 0; i < m_ptableWidget->rowCount(); ++i)
+ {
+ auto item = m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::COMPANY));
+ if (item->data(Qt::UserRole).toInt() == _id)
+ {
+ m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::STATUS))->setText("Running");
+ break;
+ }
+ }
+}
+
+void SCompanyListWidget::unsetRunning(int _id)
+{
+ for (int i = 0; i < m_ptableWidget->rowCount(); ++i)
+ {
+ auto item = m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::COMPANY));
+ if (item->data(Qt::UserRole).toInt() == _id)
+ {
+ m_ptableWidget->item(i, static_cast(E_TABLE_HEADER::STATUS))->setText("");
+ break;
+ }
+ }
+}
+
+
+void SCompanyListWidget::setRunning(const QVector& _ids)
+{
+ foreach (auto& _id, _ids)
+ {
+ setRunning(_id);
+ }
+}
+
+void SCompanyListWidget::unsetRunning(const QVector& _ids)
+{
+ foreach (auto& _id, _ids)
+ {
+ unsetRunning(_id);
+ }
+}
+
+
+/*
+void SCompanyListWidget::setRunning(QVector&& _ids)
+{
+ foreach (auto& _id, _ids)
+ {
+ setRunning(_id);
+ }
+}
+
+void SCompanyListWidget::unsetRunning(QVector&& _ids)
+{
+ foreach (auto& _id, _ids)
+ {
+ unsetRunning(_id);
+ }
+}
+*/
+
+QVector> SCompanyListWidget::getSelectedList() const
+{
+ QVector> items;
+ auto modelIndexes = m_ptableWidget->selectionModel()->selectedRows();
+
+ foreach (auto& modelIndex, modelIndexes)
+ {
+ QVector item;
+ item.append(QTableWidgetItem(*m_ptableWidget->item(modelIndex.row(), static_cast(E_TABLE_HEADER::COMPANY))));
+ item.append(QTableWidgetItem(*m_ptableWidget->item(modelIndex.row(), static_cast(E_TABLE_HEADER::START_DATE))));
+ item.append(QTableWidgetItem(*m_ptableWidget->item(modelIndex.row(), static_cast(E_TABLE_HEADER::END_DATE))));
+ item.append(QTableWidgetItem(*m_ptableWidget->item(modelIndex.row(), static_cast(E_TABLE_HEADER::EVENT_NUM))));
+ items.append(item);
+ }
+ return items;
+}
+
+
+/*
+void SCompanyListWidget::selectedItem(int i)
+{
+
+}
+*/
diff --git a/EffectUI/scompanylistwidget.h b/EffectUI/scompanylistwidget.h
new file mode 100644
index 0000000..8423f95
--- /dev/null
+++ b/EffectUI/scompanylistwidget.h
@@ -0,0 +1,66 @@
+#ifndef SCOMPANYLISTWIDGET
+#define SCOMPANYLISTWIDGET
+
+#include
+#include
+#include
+
+class QPushButton;
+class QTableWidget;
+class QDateEdit;
+class QVBoxLayout;
+class QStringList;
+class QTableWidgetItem;
+
+class SCompanyListWidget:public QObject
+{
+ Q_OBJECT
+
+public:
+ SCompanyListWidget(QWidget* parent = nullptr);
+ ~SCompanyListWidget();
+
+ void setRunning(int _id);
+ void unsetRunning(int _id);
+ void setRunning(const QVector& _ids);
+ //void setRunning(QVector&& _ids);
+ void unsetRunning(const QVector& _ids);
+ //void unsetRunning(QVector&& _ids);
+ QVector> getSelectedList() const;
+ QVBoxLayout* getLayout() const;
+
+public slots:
+ void refresh();
+ void search();
+ void slotClickedItem();
+
+signals:
+ void signalClickedItem();
+
+private:
+ void initTableWidget();
+ void initLayout();
+ void initCalender();
+ void initButton();
+ void initDatabase();
+ void resetTableHeader();
+ void resetSearchDate();
+
+public:
+ enum class E_TABLE_HEADER;
+
+private:
+ QPushButton* m_pbtnSearch;
+ QPushButton* m_pbtnRefresh;
+ QTableWidget* m_ptableWidget;
+ QDateEdit* m_pdeStart;
+ QDateEdit* m_pdeEnd;
+ QWidget* m_pwParent;
+ QVBoxLayout *m_playout;
+ std::unique_ptr m_pslTableHeader;
+};
+
+
+
+#endif // SCOMPANYLISTWIDGET
+
diff --git a/EffectUI/srunninglistwidget.cpp b/EffectUI/srunninglistwidget.cpp
new file mode 100644
index 0000000..a2b6301
--- /dev/null
+++ b/EffectUI/srunninglistwidget.cpp
@@ -0,0 +1,139 @@
+#include "srunninglistwidget.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace
+{
+QString strDatabaseName("runninglist");
+}
+
+
+SRunningListWidget::SRunningListWidget(QWidget* parent) :
+ m_pwParent(parent), m_pbtnTimerStart(new QPushButton(parent)), m_pbtnTimerStop(new QPushButton(parent)),
+ m_pbtnForceStart(new QPushButton(parent)), m_pbtnForceStop(new QPushButton(parent)), m_ptableWidget(new QTableWidget(parent)),
+ m_playout(new QVBoxLayout(parent)), m_pslTableHeader(new QStringList)
+{
+ *m_pslTableHeader << "Company" << "Start date" << "End date" << "Event Num" << "Status" << "Last Update Time";
+ initButton();
+ initDatabase();
+ initLayout();
+ initTableWidget();
+}
+
+void SRunningListWidget::initButton()
+{
+ m_pbtnForceStart->setText("Force Start");
+ m_pbtnForceStop->setText("Force Stop");
+ m_pbtnTimerStart->setText("Timer Start");
+ m_pbtnTimerStop->setText("Timer Stop");
+
+ connect(m_pbtnForceStart, &QPushButton::released, this, &SRunningListWidget::)
+}
+
+
+void SRunningListWidget::initDatabase()
+{
+}
+
+void SRunningListWidget::initTableWidget()
+{
+}
+
+void SRunningListWidget::initLayout()
+{
+}
+
+QVBoxLayout* SRunningListWidget::getLayout() const
+{
+}
+
+void SRunningListWidget::delList(int _id)
+{
+}
+
+void SRunningListWidget::delList(QVector _ids)
+{
+}
+
+void SRunningListWidget::resetTableHeader()
+{
+}
+
+SRunningListWidget::~SRunningListWidget()
+{
+}
+
+
+void SRunningListWidget::addList(QVector> items)
+{
+
+}
+
+void SRunningListWidget::enableBtnTimerStart(bool enable)
+{
+
+}
+
+void SRunningListWidget::enableBtnTimerStop(bool enable)
+{
+
+}
+
+void SRunningListWidget::enableBtnForceStart(bool enable)
+{
+
+}
+
+void SRunningListWidget::enableBtnForceStop(bool enable)
+{
+
+}
+
+void SRunningListWidget::setRunning(int _id)
+{
+
+}
+
+void SRunningListWidget::setWaiting(int _id)
+{
+
+}
+
+void SRunningListWidget::setComplete(int _id)
+{
+
+}
+
+QVector SRunningListWidget::getList()
+{
+
+}
+
+void SRunningListWidget::slotTimerStart()
+{
+
+}
+
+void SRunningListWidget::slotTimerStop()
+{
+
+}
+
+void SRunningListWidget::slotForceStart()
+{
+
+}
+
+void SRunningListWidget::slotForceStop()
+{
+
+}
+
diff --git a/EffectUI/srunninglistwidget.h b/EffectUI/srunninglistwidget.h
new file mode 100644
index 0000000..7606054
--- /dev/null
+++ b/EffectUI/srunninglistwidget.h
@@ -0,0 +1,72 @@
+#ifndef SRUNNINGLISTWIDGET
+#define SRUNNINGLISTWIDGET
+
+#include
+#include
+#include
+
+class QPushButton;
+class QTableWidget;
+class QDateEdit;
+class QVBoxLayout;
+class QStringList;
+class QTableWidgetItem;
+
+class SRunningListWidget:public QObject
+{
+ Q_OBJECT
+public:
+ enum class E_TABLE_HEADER;
+
+
+public:
+ SRunningListWidget(QWidget* parent = nullptr);
+ QVBoxLayout* getLayout() const;
+ void delList(int _id);
+ void delList(QVector _ids);
+ ~SRunningListWidget();
+
+private:
+ void initButton();
+ void initTableWidget();
+ void initDatabase();
+ void initLayout();
+ void resetTableHeader();
+
+
+public slots:
+ void addList(QVector> items);
+ QVector getList();
+ void enableBtnTimerStart(bool enable);
+ void enableBtnTimerStop(bool enable);
+ void enableBtnForceStart(bool enable);
+ void enableBtnForceStop(bool enable);
+ void slotTimerStart();
+ void slotTimerStop();
+ void slotForceStart();
+ void slotForceStop();
+ void setRunning(int _id);
+ void setWaiting(int _id);
+ void setComplete(int _id);
+
+signals:
+ void signalTimerStart();
+ void signalTimerStop();
+ void signalForceStart();
+ void signalForceStop();
+
+private:
+ QPushButton* m_pbtnTimerStart;
+ QPushButton* m_pbtnTimerStop;
+ QPushButton* m_pbtnForceStart;
+ QPushButton* m_pbtnForceStop;
+ QTableWidget* m_ptableWidget;
+ QWidget* m_pwParent;
+ QVBoxLayout *m_playout;
+ std::unique_ptr m_pslTableHeader;
+};
+
+
+
+#endif // SRUNNINGLISTWIDGET
+
diff --git a/EffectUI/stimer.cpp b/EffectUI/stimer.cpp
new file mode 100644
index 0000000..1ced1df
--- /dev/null
+++ b/EffectUI/stimer.cpp
@@ -0,0 +1,92 @@
+#include "stimer.h"
+#include
+#include
+
+namespace
+{
+const int TIME = 300000; // 5 minute
+}
+STimer::STimer(): m_pTimer(new QTimer), m_nPreviousHour(-1)
+{
+ m_pTimer->setInterval(TIME);
+ connect(&(*m_pTimer), &QTimer::timeout, this, &checkTimeout);
+}
+
+STimer::~STimer()
+{
+ disconnect(&(*m_pTimer), &QTimer::timeout, this, &checkTimeout);
+}
+
+STimer::STimer(int time): STimer()
+{
+ if (0 <= time && time < 24)
+ m_setTime.insert(time);
+}
+
+STimer::STimer(QVector times): STimer()
+{
+ foreach (int time, times)
+ {
+ if (0 <= time && time < 24)
+ m_setTime.insert(time);
+ }
+}
+
+void STimer::start()
+{
+ if (!m_pTimer->isActive())
+ m_pTimer->start();
+}
+
+void STimer::stop()
+{
+ if (m_pTimer->isActive())
+ m_pTimer->stop();
+}
+
+bool STimer::isActive() const noexcept
+{
+ return m_pTimer->isActive();
+}
+
+void STimer::set(int time)
+{
+ if (0 <= time && time < 24)
+ m_setTime.insert(time);
+}
+
+void STimer::set(QVector times)
+{
+ foreach (int time, times)
+ {
+ set(time);
+ }
+}
+
+void STimer::unset(int time)
+{
+ m_setTime.remove(time);
+}
+
+void STimer::unset(QVector times)
+{
+ foreach (int time, times)
+ {
+ unset(time);
+ }
+}
+
+int STimer::timerId() const
+{
+ return m_pTimer->timerId();
+}
+
+void STimer::checkTimeout()
+{
+ QTime now = QTime::currentTime();
+ bool bChangedHour = (m_nPreviousHour == now.hour()) ? false : true;
+ m_nPreviousHour = now.hour();
+ if (bChangedHour && m_setTime.contains(now.hour()))
+ emit timeout();
+}
+
diff --git a/EffectUI/stimer.h b/EffectUI/stimer.h
new file mode 100644
index 0000000..e61cc54
--- /dev/null
+++ b/EffectUI/stimer.h
@@ -0,0 +1,48 @@
+#ifndef STIMER
+#define STIMER
+
+#include
+#include
+#include
+#include
+
+class QTimer;
+
+class STimer:public QObject
+{
+ Q_OBJECT
+
+private:
+ std::unique_ptr m_pTimer;
+ QSet m_setTime;
+ int m_nPreviousHour;
+
+public:
+ explicit STimer();
+ explicit STimer(int time);
+ STimer(QVector times);
+ STimer(const STimer& other) = delete;
+ STimer& operator=(const STimer& other) = delete;
+ void start();
+ void stop();
+ bool isActive() const noexcept;
+ void set(int time);
+ void set(QVector times);
+ void unset(int time);
+ void unset(QVector times);
+ int timerId() const;
+
+ ~STimer();
+
+
+signals:
+ void timeout();
+
+private slots:
+ void checkTimeout();
+};
+
+
+
+#endif // STIMER
+
diff --git a/EffectUI/sutilclass.cpp b/EffectUI/sutilclass.cpp
new file mode 100644
index 0000000..5878fd6
--- /dev/null
+++ b/EffectUI/sutilclass.cpp
@@ -0,0 +1,38 @@
+#include "sutilclass.h"
+STableWidgetItem::STableWidgetItem(int type): QTableWidgetItem(type)
+{
+
+}
+
+STableWidgetItem::STableWidgetItem(const QIcon &icon, const QString &text, int type):
+ QTableWidgetItem(icon, text, type)
+{
+
+}
+
+STableWidgetItem::STableWidgetItem(const QString &text, int type):
+ QTableWidgetItem(text, type)
+{
+
+}
+
+STableWidgetItem::STableWidgetItem(const STableWidgetItem &other):
+ QTableWidgetItem(other)
+{
+
+}
+
+bool STableWidgetItem::operator <(const QTableWidgetItem &other) const
+{
+ bool ok1, ok2;
+ int nThis = text().toInt(&ok1);
+ int nOther = other.text().toInt(&ok2);
+ if (ok1 && ok2)
+ {
+ return nThis < nOther;
+ }
+ else
+ {
+ return text() < other.text();
+ }
+}
diff --git a/EffectUI/sutilclass.h b/EffectUI/sutilclass.h
new file mode 100644
index 0000000..3e15228
--- /dev/null
+++ b/EffectUI/sutilclass.h
@@ -0,0 +1,18 @@
+#ifndef SUTILCLASS
+#define SUTILCLASS
+
+#include
+
+class STableWidgetItem : public QTableWidgetItem
+{
+public:
+ STableWidgetItem(int type = Type);
+ STableWidgetItem(const QString & text, int type = Type);
+ STableWidgetItem(const QIcon & icon, const QString & text, int type = Type);
+ STableWidgetItem(const STableWidgetItem & other);
+ virtual bool operator<(const QTableWidgetItem & other) const override;
+};
+
+
+#endif // SUTILCLASS
+
diff --git a/EffectUI/sutilfunction.cpp b/EffectUI/sutilfunction.cpp
new file mode 100644
index 0000000..d0c5db1
--- /dev/null
+++ b/EffectUI/sutilfunction.cpp
@@ -0,0 +1,30 @@
+#include "sutilfunction.h"
+
+#include
+#include
+#include
+#include
+void databaseSetting(const QString &str)
+{
+ QSettings settings("effect.ini");
+ settings.beginGroup("database");
+
+ QString strHostName = settings.value("host", "182.162.171.147").toString();
+ QString strUser = settings.value("user", "admin").toString();
+ QString strPass = settings.value("pass", "admin123").toString();
+ QString strDbName = settings.value("name", "bigbird").toString();
+
+ settings.endGroup();
+
+ QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", str);
+ db.setHostName(strHostName);
+ db.setDatabaseName(strDbName);
+ db.setUserName(strUser);
+ db.setPassword(strPass);
+}
+
+void messageBoxError(const QString &title, const QString &body)
+{
+ QMessageBox messagebox(QMessageBox::Critical, title, body);
+ messagebox.exec();
+}
diff --git a/EffectUI/sutilfunction.h b/EffectUI/sutilfunction.h
new file mode 100644
index 0000000..e90a770
--- /dev/null
+++ b/EffectUI/sutilfunction.h
@@ -0,0 +1,9 @@
+#ifndef SUTILFUNCTION
+#define SUTILFUNCTION
+
+class QString;
+
+void databaseSetting(const QString& str);
+void messageBoxError(const QString& title, const QString &body);
+#endif // SUTILFUNCTION
+
diff --git a/EffectUI/widget.cpp b/EffectUI/widget.cpp
new file mode 100644
index 0000000..01ad65e
--- /dev/null
+++ b/EffectUI/widget.cpp
@@ -0,0 +1,21 @@
+#include "widget.h"
+#include "ui_widget.h"
+#include "scompanylistwidget.h"
+#include
+
+Widget::Widget(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::Widget)
+{
+ ui->setupUi(this);
+ SCompanyListWidget *c = new SCompanyListWidget(this);
+ setLayout(c->getLayout());
+ show();
+
+ c->refresh();
+}
+
+Widget::~Widget()
+{
+
+}
diff --git a/EffectUI/widget.h b/EffectUI/widget.h
new file mode 100644
index 0000000..edd25a5
--- /dev/null
+++ b/EffectUI/widget.h
@@ -0,0 +1,26 @@
+#ifndef WIDGET_H
+#define WIDGET_H
+
+#include
+#include
+
+namespace Ui {
+class Widget;
+}
+
+class Widget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit Widget(QWidget *parent = 0);
+ ~Widget();
+
+private:
+ std::unique_ptr ui;
+
+
+
+};
+
+#endif // WIDGET_H
diff --git a/EffectUI/widget.ui b/EffectUI/widget.ui
new file mode 100644
index 0000000..8c91283
--- /dev/null
+++ b/EffectUI/widget.ui
@@ -0,0 +1,20 @@
+
+ Widget
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Widget
+
+
+
+
+
+
+
diff --git a/MorphereAnalyzer/sbatchrun.cpp b/MorphereAnalyzer/sbatchrun.cpp
index 288779c..343cd60 100644
--- a/MorphereAnalyzer/sbatchrun.cpp
+++ b/MorphereAnalyzer/sbatchrun.cpp
@@ -251,7 +251,8 @@ void SBatchRun::ViewResult()
for (int k = 0; k < pTable->columnCount() ; k++)
{
QString str = m_vecData[i][j][k].replace("\n"," ");
- pTable->setItem(nCount,k,new STableWidgetItem(" "+str.replace("\t"," ")+" "));
+ //pTable->setItem(nCount,k,new STableWidgetItem(" "+str.replace("\t"," ")+" "));
+ pTable->setItem(nCount,k,new STableWidgetItem(str.replace("\t"," ")));
}
nCount++;
GetMainWindow()->m_progress.setValue(nCount);
@@ -503,6 +504,7 @@ bool SBatchRun::loadData()
for(int j = 0; j < GetColumn().data().size(); j++)
//strList << " " + query.value(j).toString() + " ";
strList.append(" " + query.value(j).toString() + " ");
+ //strList.append(query.value(j).toString());
/*
if(strList[m_anData[E_DATA_platform_form]].trimmed() == "post" || strList[m_anData[E_DATA_platform_form]].trimmed() == "story" || strList[m_anData[E_DATA_platform_form]].trimmed() == "channel")
strList[m_anData[E_DATA_platform_form]] = "sns";
diff --git a/MorphereAnalyzer/ymbasicwidget.cpp b/MorphereAnalyzer/ymbasicwidget.cpp
index 8f02653..d10139a 100644
--- a/MorphereAnalyzer/ymbasicwidget.cpp
+++ b/MorphereAnalyzer/ymbasicwidget.cpp
@@ -13,7 +13,8 @@
#include
#include
#include
-
+#include "stable.h"
+//STableWidgetItem
#define D_NOT_SELECT -1
@@ -1120,7 +1121,7 @@ void YMBasicWidget::ViewResult()
pNew->setRowCount(m_mapViewResult[iterPos.key()][iterPos2.key()].size());
pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem("Morphere"));
pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("Keyword"));
- pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(2 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -1129,7 +1130,7 @@ void YMBasicWidget::ViewResult()
i.previous();
pNew->setItem(ncRow,0,new QTableWidgetItem(QString(i.value().split("~!@").at(0))));
pNew->setItem(ncRow,1,new QTableWidgetItem(QString(i.value().split("~!@").at(1))));
- pNew->setItem(ncRow,2,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,2,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
@@ -1144,7 +1145,7 @@ void YMBasicWidget::ViewResult()
pNew->setColumnCount(2);
pNew->setRowCount(m_mapViewResult[iterPos.key()][iterPos2.key()].size());
pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem("Keyword"));
- pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(1 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -1152,7 +1153,7 @@ void YMBasicWidget::ViewResult()
{
i.previous();
pNew->setItem(ncRow,0,new QTableWidgetItem(QString(i.value())));
- pNew->setItem(ncRow,1,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,1,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
diff --git a/MorphereAnalyzer/ymcenterkeywordwidget.cpp b/MorphereAnalyzer/ymcenterkeywordwidget.cpp
index 91ed321..26cb56d 100644
--- a/MorphereAnalyzer/ymcenterkeywordwidget.cpp
+++ b/MorphereAnalyzer/ymcenterkeywordwidget.cpp
@@ -14,7 +14,7 @@
#include
#include
#include
-
+#include "stable.h"
#define D_NOT_SELECT -1
@@ -905,20 +905,20 @@ void YMCenterKeywordWidget::ViewResult()
pNew->setRowCount(totalRow);
//for(int i = 0; i < 3; i++)
- pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem(QString("CenterCeyword")));
- pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem(QString("Sentence")));
- pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem(QString("Count")));
- pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem(QString("Garbage Date")));
+ pNew->setHorizontalHeaderItem(0 ,new STableWidgetItem(QString("CenterCeyword")));
+ pNew->setHorizontalHeaderItem(1 ,new STableWidgetItem(QString("Sentence")));
+ pNew->setHorizontalHeaderItem(2 ,new STableWidgetItem(QString("Count")));
+ pNew->setHorizontalHeaderItem(3 ,new STableWidgetItem(QString("Garbage Date")));
for(QMap >::iterator iterPos2 = iterPos.value().begin(); iterPos2 != iterPos.value().end(); iterPos2++)
{
for(QMap::iterator iterPos3 = iterPos2.value().begin(); iterPos3 != iterPos2.value().end(); iterPos3++)
{
- pNew->setItem(ncRow, 0, new QTableWidgetItem(QString(iterPos2.key())));
- pNew->setItem(ncRow, 1, new QTableWidgetItem(QString(iterPos3.key())));
- pNew->setItem(ncRow, 2, new QTableWidgetItem(QString::number(iterPos3.value())));
- pNew->setItem(ncRow, 3, new QTableWidgetItem(QString("2015-01-01 22:22:22")));
+ pNew->setItem(ncRow, 0, new STableWidgetItem(QString(iterPos2.key())));
+ pNew->setItem(ncRow, 1, new STableWidgetItem(QString(iterPos3.key())));
+ pNew->setItem(ncRow, 2, new STableWidgetItem(QString::number(iterPos3.value())));
+ pNew->setItem(ncRow, 3, new STableWidgetItem(QString("2015-01-01 22:22:22")));
ncRow++;
}
}
diff --git a/MorphereAnalyzer/ymnxnmatrixwidget.cpp b/MorphereAnalyzer/ymnxnmatrixwidget.cpp
index 6a12cec..52de60d 100644
--- a/MorphereAnalyzer/ymnxnmatrixwidget.cpp
+++ b/MorphereAnalyzer/ymnxnmatrixwidget.cpp
@@ -881,9 +881,9 @@ void YMNxNMatrixWidget::ViewResult()
int ncRow = 0;
for(int i = 0; i <= m_mapViewResult[iterPos.key()].size(); i++)
- pNew->setHorizontalHeaderItem(i ,new QTableWidgetItem(QString::number(i)));
+ pNew->setHorizontalHeaderItem(i ,new STableWidgetItem(QString::number(i)));
- pNew->setItem(ncRow, 0, new QTableWidgetItem(QString("")));
+ pNew->setItem(ncRow, 0, new STableWidgetItem(QString("")));
for(QMap >::iterator iterPos2 = iterPos.value().begin(); iterPos2 != iterPos.value().end(); iterPos2++)
{
@@ -892,7 +892,7 @@ void YMNxNMatrixWidget::ViewResult()
while(i.hasNext())
{
i.next();
- pNew->setItem(ncRow, j++, new QTableWidgetItem(QString(i.key())));
+ pNew->setItem(ncRow, j++, new STableWidgetItem(QString(i.key())));
}
}
@@ -901,7 +901,7 @@ void YMNxNMatrixWidget::ViewResult()
for(QMap >::iterator iterPos2 = iterPos.value().begin(); iterPos2 != iterPos.value().end(); iterPos2++)
{
- pNew->setItem(ncRow, 0, new QTableWidgetItem(QString(iterPos2.key())));
+ pNew->setItem(ncRow, 0, new STableWidgetItem(QString(iterPos2.key())));
int j = 1;
//i.toBack();
@@ -911,7 +911,7 @@ void YMNxNMatrixWidget::ViewResult()
while(i.hasNext())
{
i.next();
- pNew->setItem(ncRow,j++,new QTableWidgetItem(QString::number(i.value())));
+ pNew->setItem(ncRow,j++,new STableWidgetItem(QString::number(i.value())));
}
ncRow++;
//temp->addTab(pNew, iterPos2.key());
diff --git a/MorphereAnalyzer/ymonedepthwidget.cpp b/MorphereAnalyzer/ymonedepthwidget.cpp
index 17b39bb..7acda2a 100644
--- a/MorphereAnalyzer/ymonedepthwidget.cpp
+++ b/MorphereAnalyzer/ymonedepthwidget.cpp
@@ -1904,7 +1904,7 @@ void YMOneDepthWidget::ViewResult()
pNew->setRowCount(m_mapViewResult[iterPos.key()][iterPos2.key()].size());
pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem("Morphere"));
pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("Keyword"));
- pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(2 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -1913,7 +1913,7 @@ void YMOneDepthWidget::ViewResult()
i.previous();
pNew->setItem(ncRow,0,new QTableWidgetItem(QString(i.value().split("~!@").at(0))));
pNew->setItem(ncRow,1,new QTableWidgetItem(QString(i.value().split("~!@").at(1))));
- pNew->setItem(ncRow,2,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,2,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
@@ -1928,7 +1928,7 @@ void YMOneDepthWidget::ViewResult()
pNew->setColumnCount(2);
pNew->setRowCount(m_mapViewResult[iterPos.key()][iterPos2.key()].size());
pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem("Keyword"));
- pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(1 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -1936,7 +1936,7 @@ void YMOneDepthWidget::ViewResult()
{
i.previous();
pNew->setItem(ncRow,0,new QTableWidgetItem(QString(i.value())));
- pNew->setItem(ncRow,1,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,1,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
diff --git a/MorphereAnalyzer/ymplatformwidget.cpp b/MorphereAnalyzer/ymplatformwidget.cpp
index bc2dfa6..61d095e 100644
--- a/MorphereAnalyzer/ymplatformwidget.cpp
+++ b/MorphereAnalyzer/ymplatformwidget.cpp
@@ -944,7 +944,7 @@ void YMPlatformWidget::ViewResult()
pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem("1D Keyword"));
pNew->setHorizontalHeaderItem(4 ,new QTableWidgetItem("2D Morphere"));
pNew->setHorizontalHeaderItem(5 ,new QTableWidgetItem("2D Keyword"));
- pNew->setHorizontalHeaderItem(6 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(6 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -958,7 +958,7 @@ void YMPlatformWidget::ViewResult()
pNew->setItem(ncRow,4,new QTableWidgetItem(QString(i.value().split("~!@").at(4))));
pNew->setItem(ncRow,5,new QTableWidgetItem(QString(i.value().split("~!@").at(5))));
- pNew->setItem(ncRow,6,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,6,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
@@ -977,7 +977,7 @@ void YMPlatformWidget::ViewResult()
pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("1D Keyword"));
pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem("2D Morphere"));
pNew->setHorizontalHeaderItem(4 ,new QTableWidgetItem("2D Keyword"));
- pNew->setHorizontalHeaderItem(5 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(5 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -989,7 +989,7 @@ void YMPlatformWidget::ViewResult()
pNew->setItem(ncRow,2,new QTableWidgetItem(QString(i.value().split("~!@").at(2))));
pNew->setItem(ncRow,3,new QTableWidgetItem(QString(i.value().split("~!@").at(3))));
pNew->setItem(ncRow,4,new QTableWidgetItem(QString(i.value().split("~!@").at(4))));
- pNew->setItem(ncRow,5,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,5,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
diff --git a/MorphereAnalyzer/ymtwodepthawidget.cpp b/MorphereAnalyzer/ymtwodepthawidget.cpp
index dcdb9f4..67653cd 100644
--- a/MorphereAnalyzer/ymtwodepthawidget.cpp
+++ b/MorphereAnalyzer/ymtwodepthawidget.cpp
@@ -1037,7 +1037,7 @@ void YMTwoDepthAWidget::ViewResult()
pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("1D Keyword"));
pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("2D Morphere"));
pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem("2D Keyword"));
- pNew->setHorizontalHeaderItem(4 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(4 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -1048,7 +1048,7 @@ void YMTwoDepthAWidget::ViewResult()
pNew->setItem(ncRow,1,new QTableWidgetItem(QString(i.value().split("~!@").at(1))));
pNew->setItem(ncRow,2,new QTableWidgetItem(QString(i.value().split("~!@").at(2))));
pNew->setItem(ncRow,3,new QTableWidgetItem(QString(i.value().split("~!@").at(3))));
- pNew->setItem(ncRow,4,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,4,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
@@ -1065,7 +1065,7 @@ void YMTwoDepthAWidget::ViewResult()
pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem("1D Keyword"));
pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("2D Morphere"));
pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("2D Keyword"));
- pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(3 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -1075,7 +1075,7 @@ void YMTwoDepthAWidget::ViewResult()
pNew->setItem(ncRow,0,new QTableWidgetItem(QString(i.value().split("~!@").at(0))));
pNew->setItem(ncRow,1,new QTableWidgetItem(QString(i.value().split("~!@").at(1))));
pNew->setItem(ncRow,2,new QTableWidgetItem(QString(i.value().split("~!@").at(2))));
- pNew->setItem(ncRow,3,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,3,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
diff --git a/MorphereAnalyzer/ymtwodepthwidget.cpp b/MorphereAnalyzer/ymtwodepthwidget.cpp
index 349850b..fbcd0e3 100644
--- a/MorphereAnalyzer/ymtwodepthwidget.cpp
+++ b/MorphereAnalyzer/ymtwodepthwidget.cpp
@@ -936,7 +936,7 @@ void YMTwoDepthWidget::ViewResult()
pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("1D Keyword"));
pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("2D Morphere"));
pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem("2D Keyword"));
- pNew->setHorizontalHeaderItem(4 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(4 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -947,7 +947,7 @@ void YMTwoDepthWidget::ViewResult()
pNew->setItem(ncRow,1,new QTableWidgetItem(QString(i.value().split("~!@").at(1))));
pNew->setItem(ncRow,2,new QTableWidgetItem(QString(i.value().split("~!@").at(2))));
pNew->setItem(ncRow,3,new QTableWidgetItem(QString(i.value().split("~!@").at(3))));
- pNew->setItem(ncRow,4,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,4,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
@@ -964,7 +964,7 @@ void YMTwoDepthWidget::ViewResult()
pNew->setHorizontalHeaderItem(0 ,new QTableWidgetItem("1D Keyword"));
pNew->setHorizontalHeaderItem(1 ,new QTableWidgetItem("2D Morphere"));
pNew->setHorizontalHeaderItem(2 ,new QTableWidgetItem("2D Keyword"));
- pNew->setHorizontalHeaderItem(3 ,new QTableWidgetItem("Count"));
+ pNew->setHorizontalHeaderItem(3 ,new STableWidgetItem("Count"));
QMapIterator i(m_mapViewResult[iterPos.key()][iterPos2.key()]);
i.toBack();
@@ -974,7 +974,7 @@ void YMTwoDepthWidget::ViewResult()
pNew->setItem(ncRow,0,new QTableWidgetItem(QString(i.value().split("~!@").at(0))));
pNew->setItem(ncRow,1,new QTableWidgetItem(QString(i.value().split("~!@").at(1))));
pNew->setItem(ncRow,2,new QTableWidgetItem(QString(i.value().split("~!@").at(2))));
- pNew->setItem(ncRow,3,new QTableWidgetItem(QString::number(i.key())));
+ pNew->setItem(ncRow,3,new STableWidgetItem(QString::number(i.key())));
ncRow++;
}
temp->addTab(pNew, iterPos2.key());
diff --git a/sfilterprocess/sfilterprocess.pro.user b/sfilterprocess/sfilterprocess.pro.user
index 965a7a6..c639906 100644
--- a/sfilterprocess/sfilterprocess.pro.user
+++ b/sfilterprocess/sfilterprocess.pro.user
@@ -1,6 +1,6 @@
-
+
EnvironmentId