diff --git a/app/HGProductionTool/HGProductionTool.pro b/app/HGProductionTool/HGProductionTool.pro
index 22569d0..1c2fbbd 100644
--- a/app/HGProductionTool/HGProductionTool.pro
+++ b/app/HGProductionTool/HGProductionTool.pro
@@ -99,8 +99,7 @@ RESOURCES += \
ProductionTool_resource.qrc
TRANSLATIONS += \
- ProductionTool_zh_CN.ts \
+ ProductionTool_zh_CN.ts
DISTFILES += \
- ProductionTool_zh_CN.qm \ \
- ProductionTool_zh_CN.ts
+ ProductionTool_zh_CN.qm
diff --git a/app/HGProductionTool/ProductionTool_zh_CN.qm b/app/HGProductionTool/ProductionTool_zh_CN.qm
index 0060dc4..2a82e01 100644
Binary files a/app/HGProductionTool/ProductionTool_zh_CN.qm and b/app/HGProductionTool/ProductionTool_zh_CN.qm differ
diff --git a/app/HGProductionTool/ProductionTool_zh_CN.ts b/app/HGProductionTool/ProductionTool_zh_CN.ts
index 339cfda..ec823cf 100644
--- a/app/HGProductionTool/ProductionTool_zh_CN.ts
+++ b/app/HGProductionTool/ProductionTool_zh_CN.ts
@@ -14,37 +14,37 @@
输入序列号:
-
+
设备型号:
-
+
-
+
-
+
-
+
-
+
确定
-
+
取消
@@ -149,27 +149,31 @@
修改密码
-
+
旧密码:
-
+
新密码:
-
-
- 确认密码:
+
+
+ 确认新密码:
-
+
+ 确认密码:
+
+
+
确定
-
+
取消
@@ -404,35 +408,70 @@
上一步
-
+
通过
-
-
-
- 失败
-
-
- 终止
+
+ 不通过
+
+ 结束测试
+
+
+
下一步
-
+
设备型号:
-
+
序列号:
+
+
+
+ 序号
+
+
+
+
+ 测试项
+
+
+
+
+ 测试状态
+
+
+
+
+ 未测试
+
+
+
+
+ 不通过
+
+
+
+
+ 不支持
+
+
+
+
+ 通过
+
Form_textTips
@@ -495,7 +534,7 @@
上传配置文件
-
+
账户在其他地方登录
@@ -504,76 +543,76 @@
网络连接断开
-
+
你已被管理员账户强制下线
-
+
数据库错误
-
-
-
-
+
+
+
+
提示
-
+
检测到设备连接,是否启动测试?
-
+
确定
-
+
取消
-
-
+
+
不能创建更多项目
-
+
保存
-
+
xls表格(*.xls)
-
+
非法的用户
-
+
密码错误
-
+
数据库错误
-
+
连接错误
-
+
错误
diff --git a/app/HGProductionTool/dialog_changepwd.ui b/app/HGProductionTool/dialog_changepwd.ui
index 242c6df..f9b0c52 100644
--- a/app/HGProductionTool/dialog_changepwd.ui
+++ b/app/HGProductionTool/dialog_changepwd.ui
@@ -6,166 +6,153 @@
0
0
- 389
- 150
+ 440
+ 213
Dialog
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- old password:
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- new password:
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- confirm new password:
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- OK
-
-
-
- -
-
-
- Cancel
-
-
-
-
-
-
+
+
+
+ 310
+ 160
+ 75
+ 23
+
+
+
+ Cancel
+
+
+
+
+
+ 200
+ 160
+ 75
+ 23
+
+
+
+ OK
+
+
+
+
+
+ 110
+ 20
+ 219
+ 22
+
+
+
+ -
+
+
+ Qt::RightToLeft
+
+
+ old password:
+
+
+
+ -
+
+
+
+ 133
+ 0
+
+
+
+
+ 133
+ 16777215
+
+
+
+
+
+
+
+
+
+ 110
+ 60
+ 219
+ 22
+
+
+
+ -
+
+
+ Qt::RightToLeft
+
+
+ new password:
+
+
+
+ -
+
+
+
+ 133
+ 0
+
+
+
+
+ 133
+ 16777215
+
+
+
+
+
+
+
+
+
+ 110
+ 100
+ 219
+ 22
+
+
+
+ -
+
+
+ Qt::RightToLeft
+
+
+ cfm password:
+
+
+
+ -
+
+
+
+ 133
+ 0
+
+
+
+
+ 133
+ 16777215
+
+
+
+
+
+
diff --git a/app/HGProductionTool/form_maininterface.cpp b/app/HGProductionTool/form_maininterface.cpp
index cf529ad..583d79e 100644
--- a/app/HGProductionTool/form_maininterface.cpp
+++ b/app/HGProductionTool/form_maininterface.cpp
@@ -11,6 +11,50 @@
#include "hgscanner.h"
#include "mainwindow.h"
+typedef struct
+{
+ const wchar_t *title;
+ HGUInt entryName;
+}RELA;
+
+static const RELA Rela[] = {
+ {HGPDTTOOLDB_TITLE_DIAL_SWITCH, HGPDTTOOLDB_ENTRYNAME_DIAL_SWITCH},
+ {HGPDTTOOLDB_TITLE_ROCKER_SWITCH, HGPDTTOOLDB_ENTRYNAME_ROCKER_SWITCH},
+ {HGPDTTOOLDB_TITLE_BOOT_STATUS, HGPDTTOOLDB_ENTRYNAME_BOOT_STATUS},
+ {HGPDTTOOLDB_TITLE_LCD_DISPLAY, HGPDTTOOLDB_ENTRYNAME_LCD_DISPLAY},
+ {HGPDTTOOLDB_TITLE_CLEAR_PAPER_PATH, HGPDTTOOLDB_ENTRYNAME_CLEAR_PAPER_PATH},
+ {HGPDTTOOLDB_TITLE_KEY_FUNCTION, HGPDTTOOLDB_ENTRYNAME_KEY_FUNCTION},
+ {HGPDTTOOLDB_TITLE_COUNTING_MODE, HGPDTTOOLDB_ENTRYNAME_COUNTING_MODE},
+ {HGPDTTOOLDB_TITLE_SKEW_DETECTION, HGPDTTOOLDB_ENTRYNAME_SKEW_DETECTION},
+ {HGPDTTOOLDB_TITLE_SEPARATER_MOTOR, HGPDTTOOLDB_ENTRYNAME_SEPARATER_MOTOR},
+ {HGPDTTOOLDB_TITLE_CIS_ORIGINAL_IMAGE, HGPDTTOOLDB_ENTRYNAME_CIS_ORIGINAL_IMAGE},
+ {HGPDTTOOLDB_TITLE_HOST_FAN, HGPDTTOOLDB_ENTRYNAME_HOST_FAN},
+ {HGPDTTOOLDB_TITLE_ULTRASONIC_MODULE, HGPDTTOOLDB_ENTRYNAME_ULTRASONIC_MODULE},
+ {HGPDTTOOLDB_TITLE_LED_LIGHT, HGPDTTOOLDB_ENTRYNAME_LED_LIGHT},
+ {HGPDTTOOLDB_TITLE_RESET, HGPDTTOOLDB_ENTRYNAME_RESET},
+ {HGPDTTOOLDB_TITLE_PAPER_FEED, HGPDTTOOLDB_ENTRYNAME_PAPER_FEED},
+ {HGPDTTOOLDB_TITLE_COVER_SENSOR, HGPDTTOOLDB_ENTRYNAME_COVER_SENSOR},
+ {HGPDTTOOLDB_TITLE_SCANNING_SENSOR, HGPDTTOOLDB_ENTRYNAME_SCANNING_SENSOR},
+ {HGPDTTOOLDB_TITLE_CONFIGURE_SPEED_MODE, HGPDTTOOLDB_ENTRYNAME_CONFIGURE_SPEED_MODE},
+ {HGPDTTOOLDB_TITLE_PLACE_CORRECTION_PAPER, HGPDTTOOLDB_ENTRYNAME_PLACE_CORRECTION_PAPER},
+ {HGPDTTOOLDB_TITLE_AUTO_FLAT_FIELD, HGPDTTOOLDB_ENTRYNAME_AUTO_FLAT_FIELD},
+ {HGPDTTOOLDB_TITLE_REBOOT_DEVICE, HGPDTTOOLDB_ENTRYNAME_REBOOT_DEVICE},
+ {HGPDTTOOLDB_TITLE_IMAGE_QUALITY, HGPDTTOOLDB_ENTRYNAME_IMAGE_QUALITY},
+ {HGPDTTOOLDB_TITLE_COLORCARD_IMAGEING_QUALITY, HGPDTTOOLDB_ENTRYNAME_COLORCARD_IMAGEING_QUALITY},
+ {HGPDTTOOLDB_TITLE_COLORCARD_BIAS_IMAGEING_QUALITY, HGPDTTOOLDB_ENTRYNAME_COLORCARD_BIAS_IMAGEING_QUALITY},
+ {HGPDTTOOLDB_TITLE_CLARITY_QUALITY, HGPDTTOOLDB_ENTRYNAME_CLARITY_QUALITY},
+ {HGPDTTOOLDB_TITLE_DISTORTION, HGPDTTOOLDB_ENTRYNAME_DISTORTION},
+ {HGPDTTOOLDB_TITLE_DORMANCY, HGPDTTOOLDB_ENTRYNAME_DORMANCY},
+ {HGPDTTOOLDB_TITLE_SKEW_GEAR, HGPDTTOOLDB_ENTRYNAME_SKEW_GEAR},
+ {HGPDTTOOLDB_TITLE_PAPER_SEPARATION_STRENGTH, HGPDTTOOLDB_ENTRYNAME_PAPER_SEPARATION_STRENGTH},
+ {HGPDTTOOLDB_TITLE_MECH_PAPER_FEEDING_INCLINATION, HGPDTTOOLDB_ENTRYNAME_MECH_PAPER_FEEDING_INCLINATION},
+ {HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_1, HGPDTTOOLDB_ENTRYNAME_SINGLE_PAGE_TEST_1},
+ {HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_2, HGPDTTOOLDB_ENTRYNAME_SINGLE_PAGE_TEST_2},
+ {HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_3, HGPDTTOOLDB_ENTRYNAME_SINGLE_PAGE_TEST_3},
+ {HGPDTTOOLDB_TITLE_PRESSUER_TEST, HGPDTTOOLDB_ENTRYNAME_PRESSUER_TEST},
+ {HGPDTTOOLDB_TITLE_CLEAR_ROLLER_COUNT, HGPDTTOOLDB_ENTRYNAME_CLEAR_ROLLER_COUNT}
+};
+
Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle handle, HGPdtToolDbUserMgr pdtToolDbuserMgr, HGPdtToolDbDevice pdtToolDbDevice,
const QString &serialNum, const QString &devType)
: QWidget(mainwnd)
@@ -31,11 +75,7 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle ha
ui->stackedWidget->addWidget(m_textTips);
ui->stackedWidget->addWidget(m_view);
- ui->listWidget->setMinimumWidth(200);
- ui->listWidget->setCurrentRow(0);
- ui->pbtn_preStep->setEnabled(false);
-
- downloadCfgFile();
+ initTableWidgetUi();
}
Form_mainInterface::~Form_mainInterface()
@@ -59,56 +99,85 @@ void Form_mainInterface::paintEvent(QPaintEvent *event)
p.drawRect(0, 0, width() -1, height() -1);
}
-void Form_mainInterface::on_listWidget_currentTextChanged(const QString ¤tText)
-{
- ui->pbtn_preStep->setEnabled(ui->listWidget->currentRow() != 0);
- ui->pbtn_nextStep->setEnabled(ui->listWidget->currentRow() != ui->listWidget->count() - 1);
-
- QString testName;
- if (currentText == HGPDTTOOLDB_TITLE_DIAL_SWITCH)
- {
- m_textTips->setViewContent(m_map_title_name.value(currentText).desc);
- testName = m_map_title_name.value(currentText).name;
- ui->stackedWidget->setCurrentWidget(m_textTips);
- }
- else if (currentText == HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_1)
- {
- //addImg
- testName = m_map_title_name.value(currentText).name;
- ui->stackedWidget->setCurrentWidget(m_view);
- }
-
- ui_helper* helper;
- hgscanner* hg = new hgscanner(m_handle);
- helper = dynamic_cast(hg);
-
- QString s("test-31");
-// func_test_go(s.toStdWString().c_str(), L"null", helper);
-}
-
void Form_mainInterface::on_pbtn_preStep_clicked()
{
- ui->listWidget->setCurrentRow(ui->listWidget->currentRow() - 1);
+ int row = ui->tableWidget->currentRow();
+ if (row > 0)
+ {
+ ui->tableWidget->selectRow(row - 1);
+ }
}
void Form_mainInterface::on_pbtn_nextStep_clicked()
{
- ui->listWidget->setCurrentRow(ui->listWidget->currentRow() + 1);
+ int row = ui->tableWidget->currentRow();
+ if (row < ui->tableWidget->rowCount() - 1)
+ {
+ ui->tableWidget->selectRow(row + 1);
+ }
}
void Form_mainInterface::on_pbtn_fail_clicked()
{
- ui->listWidget->item(ui->listWidget->currentRow())->setBackgroundColor("red");
+ int row = ui->tableWidget->currentRow();
+ QTableWidgetItem *item = ui->tableWidget->item(row, 1);
+ QString title = item->text();
+ setTestItemStatus(title, HGPDTTOOLDB_ENTRYSTATUS_NOTPASS);
+
+ ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_NOTPASS)));
+ ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+
+ ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(255,0,0));
}
void Form_mainInterface::on_pbtn_pass_clicked()
{
- ui->listWidget->item(ui->listWidget->currentRow())->setBackgroundColor("yellow");
+ int row = ui->tableWidget->currentRow();
+ QTableWidgetItem *item = ui->tableWidget->item(row, 1);
+ QString title = item->text();
+ setTestItemStatus(title, HGPDTTOOLDB_ENTRYSTATUS_PASS);
+
+ ui->tableWidget->setItem(row, 2, new QTableWidgetItem(getItemStatusStr(HGPDTTOOLDB_ENTRYSTATUS_PASS)));
+ ui->tableWidget->item(row, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+ ui->tableWidget->item(row, 2)->setBackgroundColor(QColor(0,255,0));
+
on_pbtn_nextStep_clicked();
}
-void Form_mainInterface::downloadCfgFile()
+void Form_mainInterface::on_pbtn_stop_clicked()
{
+ m_mainwnd->RemoveInterface(this);
+}
+
+void Form_mainInterface::initTableWidgetUi()
+{
+ ui->tableWidget->resizeRowsToContents();
+ ui->tableWidget->setColumnCount(3);
+ ui->tableWidget->horizontalHeader()->setDefaultSectionSize(200);
+ ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
+ ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
+
+ QStringList header;
+ header<< tr("ID") << tr("Test items") << tr("status");
+ ui->tableWidget->setHorizontalHeaderLabels(header);
+
+ QFont font = ui->tableWidget->horizontalHeader()->font();
+ font.setBold(true);
+ ui->tableWidget->horizontalHeader()->setFont(font);
+
+ ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
+ ui->tableWidget->verticalHeader()->setDefaultSectionSize(10);
+ ui->tableWidget->setFrameShape(QFrame::NoFrame);
+ ui->tableWidget->setShowGrid(true);
+ ui->tableWidget->verticalHeader()->setVisible(false);
+ ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
+ ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
+ ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
+ ui->tableWidget->horizontalHeader()->setFixedHeight(30);
+ ui->tableWidget->clearContents();
+ ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
+ ui->tableWidget->setStyleSheet("selection-background-color:rgb(193,210,240)");
+
HGChar cfgPath[512] = {0};
HGBase_GetConfigPath(cfgPath, 512);
HGBase_CreateDir(cfgPath);
@@ -121,26 +190,106 @@ void Form_mainInterface::downloadCfgFile()
AnalysisJson analysisJson(QString::fromStdString(cfgPath));
std::vector list_jsonNode = analysisJson.GetNode();
- for(int i = 0; i < (int)list_jsonNode.size(); ++i)
+ int count = list_jsonNode.size();
+ ui->tableWidget->setRowCount(count);
+ for(int i = 0; i < count; ++i)
{
AnalysisJson::json_node node = list_jsonNode[i];
- ui->listWidget->addItem(node.title);
m_map_title_name.insert(node.title, node);
+
+ ui->tableWidget->setItem(i, 0, new QTableWidgetItem(QString::number(i+1)));
+ ui->tableWidget->item(i, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+
+ ui->tableWidget->setItem(i, 1, new QTableWidgetItem(node.title));
+ ui->tableWidget->item(i, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+
+ HGUInt status = getTestItemStatus(node.title);
+ QString statusStr = getItemStatusStr(status);
+ ui->tableWidget->setItem(i, 2, new QTableWidgetItem(statusStr));
+ ui->tableWidget->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+ if (HGPDTTOOLDB_ENTRYSTATUS_NOTPASS == status)
+ {
+ ui->tableWidget->item(i, 2)->setBackgroundColor(QColor(255,0,0));
+ }
+ else if (HGPDTTOOLDB_ENTRYSTATUS_NOTSUPP == status)
+ {
+ ui->tableWidget->item(i, 2)->setBackgroundColor(QColor(255,255,0));
+ }
+ else if (HGPDTTOOLDB_ENTRYSTATUS_PASS == status)
+ {
+ ui->tableWidget->item(i, 2)->setBackgroundColor(QColor(0,255,0));
+ }
}
+
+ ui->tableWidget->selectRow(0);
}
}
-void Form_mainInterface::on_pbtn_stop_clicked()
+HGUInt Form_mainInterface::getTestItemStatus(const QString &title)
{
- m_mainwnd->RemoveInterface(this);
+ HGUInt status = 0;
+ for (int i = 0; i < sizeof(Rela) / sizeof(RELA); ++i)
+ {
+ if (0 == wcscmp(title.toStdWString().c_str(), Rela[i].title))
+ {
+ HGPdtToolDb_GetDeviceEntryStatus(m_pdtToolDbDevice, Rela[i].entryName, &status);
+ break;
+ }
+ }
+
+ return status;
}
+bool Form_mainInterface::setTestItemStatus(const QString &title, HGUInt status)
+{
+ bool ret = false;
+ for (int i = 0; i < sizeof(Rela) / sizeof(RELA); ++i)
+ {
+ if (0 == wcscmp(title.toStdWString().c_str(), Rela[i].title))
+ {
+ if (HGBASE_ERR_OK == HGPdtToolDb_SetDeviceEntryStatus(m_pdtToolDbDevice, Rela[i].entryName, status))
+ ret = true;
+ break;
+ }
+ }
+ return ret;
+}
+QString Form_mainInterface::getItemStatusStr(HGUInt status)
+{
+ static const QString statusStr[] = {tr("not test"), tr("not pass"), tr("not support"), tr("pass") };
+ return statusStr[status];
+}
+void Form_mainInterface::on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
+{
+ int row = current->row();
+ int count = ui->tableWidget->rowCount();
+ ui->pbtn_preStep->setEnabled(row != 0);
+ ui->pbtn_nextStep->setEnabled(row != count- 1);
+ QTableWidgetItem *item2 = ui->tableWidget->item(row, 1);
+ QString title = item2->text();
+ QString testName;
+ if (title == HGPDTTOOLDB_TITLE_DIAL_SWITCH)
+ {
+ m_textTips->setViewContent(m_map_title_name.value(title).desc);
+ testName = m_map_title_name.value(title).name;
+ ui->stackedWidget->setCurrentWidget(m_textTips);
+ }
+ else if (title == HGPDTTOOLDB_TITLE_SINGLE_PAGE_TEST_1)
+ {
+ //addImg
+ testName = m_map_title_name.value(title).name;
+ ui->stackedWidget->setCurrentWidget(m_view);
+ }
+ ui_helper* helper;
+ hgscanner* hg = new hgscanner(m_handle);
+ helper = dynamic_cast(hg);
-
-
+ QString s("test-31");
+// func_test_go(s.toStdWString().c_str(), L"null", helper);
+}
diff --git a/app/HGProductionTool/form_maininterface.h b/app/HGProductionTool/form_maininterface.h
index 9240d7e..b11c966 100644
--- a/app/HGProductionTool/form_maininterface.h
+++ b/app/HGProductionTool/form_maininterface.h
@@ -3,6 +3,7 @@
#include
#include
+#include
#include "HGImgView.h"
#include "form_texttips.h"
#include "analysisjson.h"
@@ -28,8 +29,6 @@ protected:
void paintEvent(QPaintEvent *event) override;
private slots:
- void on_listWidget_currentTextChanged(const QString ¤tText);
-
void on_pbtn_preStep_clicked();
void on_pbtn_nextStep_clicked();
@@ -40,8 +39,13 @@ private slots:
void on_pbtn_stop_clicked();
+ void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
+
private:
- void downloadCfgFile();
+ void initTableWidgetUi();
+ HGUInt getTestItemStatus(const QString &title);
+ bool setTestItemStatus(const QString &title, HGUInt status);
+ QString getItemStatusStr(HGUInt status);
private:
Ui::Form_mainInterface *ui;
diff --git a/app/HGProductionTool/form_maininterface.ui b/app/HGProductionTool/form_maininterface.ui
index 50f7ffc..a416bce 100644
--- a/app/HGProductionTool/form_maininterface.ui
+++ b/app/HGProductionTool/form_maininterface.ui
@@ -13,7 +13,7 @@
Form
-
+
-
-
@@ -41,7 +41,7 @@
-
-
-
+
-
@@ -74,6 +74,13 @@
+ -
+
+
+ Next Step
+
+
+
-
@@ -95,13 +102,6 @@
- -
-
-
- Next Step
-
-
-
-
diff --git a/app/HGProductionTool/main.cpp b/app/HGProductionTool/main.cpp
index 69716f1..944a0f4 100644
--- a/app/HGProductionTool/main.cpp
+++ b/app/HGProductionTool/main.cpp
@@ -19,8 +19,6 @@ int main(int argc, char *argv[])
if (login.exec())
{
MainWindow w(login.GetUserMgr());
- w.showMaximized();
- w.Init();
a.exec();
if (w.isExitApp())
{
diff --git a/app/HGProductionTool/mainwindow.cpp b/app/HGProductionTool/mainwindow.cpp
index 71167f6..03e2a9a 100644
--- a/app/HGProductionTool/mainwindow.cpp
+++ b/app/HGProductionTool/mainwindow.cpp
@@ -51,6 +51,11 @@ MainWindow::MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, QWidget *parent)
HGChar userName[128];
HGPdtToolDb_GetUserName(m_pdtToolDbuserMgr, userName, 128);
setWindowTitle(userName);
+
+ showMaximized();
+
+ SANE_Int v = 0;
+ sane_init_ex(&v, sane_ex_callback, this);
}
MainWindow::~MainWindow()
@@ -75,12 +80,6 @@ MainWindow::~MainWindow()
delete ui;
}
-void MainWindow::Init()
-{
- SANE_Int v = 0;
- sane_init_ex(&v, sane_ex_callback, this);
-}
-
bool MainWindow::isExitApp()
{
return !m_isLogOut;
diff --git a/app/HGProductionTool/mainwindow.h b/app/HGProductionTool/mainwindow.h
index 967e0c1..c120070 100644
--- a/app/HGProductionTool/mainwindow.h
+++ b/app/HGProductionTool/mainwindow.h
@@ -20,7 +20,6 @@ class MainWindow : public QMainWindow
public:
MainWindow(HGPdtToolDbUserMgr pdtToolDbuserMgr, QWidget *parent = nullptr);
~MainWindow();
- void Init();
static QString getLogInfo(HGResult ret);
bool isExitApp();
diff --git a/code/base/test_base.cpp b/code/base/test_base.cpp
index 0994af6..7b8a142 100644
--- a/code/base/test_base.cpp
+++ b/code/base/test_base.cpp
@@ -12,61 +12,176 @@ class test
ui_helper* helper_;
public:
test(ui_helper* helper) :helper_(helper)
- {}
+ {
+ init_test_map_();
+ }
~test()
{}
- std::map test_map_;
+ struct ptrcmp
+ {
+ bool operator()(const wchar_t* name1, const wchar_t* name2)const
+ {
+ return wcscmp(name1, name2) < 0;
+ }
+ };
+ std::map test_map_;
void init_test_map_()
{
- // test_map_[HGPDTTOOLDB_NAME_DIAL_SWITCH] = &test::test_dial_switch;
+ test_map_[HGPDTTOOLDB_NAME_DIAL_SWITCH] = &test::test_dial_switch;
+ test_map_[HGPDTTOOLDB_NAME_ROCKER_SWITCH] = &test::test_pocker_switch;
+ test_map_[HGPDTTOOLDB_NAME_BOOT_STATUS] = &test::test_boot_status;
+ test_map_[HGPDTTOOLDB_NAME_LCD_DISPLAY] = &test::test_lcd_display;
+ test_map_[HGPDTTOOLDB_NAME_CLEAR_PAPER_PATH] = &test::tset_clear_paper_path;
+ test_map_[HGPDTTOOLDB_NAME_KEY_FUNCTION] = &test::test_key_funtion;
+ test_map_[HGPDTTOOLDB_NAME_COUNTING_MODE] = &test::test_count_mode;
+ test_map_[HGPDTTOOLDB_NAME_SKEW_DETECTION] = &test::test_skew_detection;
+ test_map_[HGPDTTOOLDB_NAME_SEPARATER_MOTOR] = &test::test_separater_motor;
+ test_map_[HGPDTTOOLDB_NAME_CIS_ORIGINAL_IMAGE] = &test::test_cis__original_image;
+ test_map_[HGPDTTOOLDB_NAME_HOST_FAN] = &test::test_host_fan;
+ test_map_[HGPDTTOOLDB_NAME_ULTRASONIC_MODULE] = &test::test_ultrasonic_module;
+ test_map_[HGPDTTOOLDB_NAME_LED_LIGHT] = &test::test_led_light;
+ test_map_[HGPDTTOOLDB_NAME_RESET] = &test::test_reset;
+ test_map_[HGPDTTOOLDB_NAME_PAPER_FEED] = &test::test_paper_feed;
+ test_map_[HGPDTTOOLDB_NAME_COVER_SENSOR] = &test::test_cover_sensor;
+ test_map_[HGPDTTOOLDB_NAME_SCANNING_SENSOR] = &test::test_scanning_sensor;
+ test_map_[HGPDTTOOLDB_NAME_CONFIGURE_SPEED_MODE] = &test::test_configure_speed_mode;
+ test_map_[HGPDTTOOLDB_NAME_PLACE_CORRECTION_PAPER] = &test::test_place_correction_paper;
+ test_map_[HGPDTTOOLDB_NAME_AUTO_FLAT_FIELD] = &test::test_auto_flat_field;
+ test_map_[HGPDTTOOLDB_NAME_REBOOT_DEVICE] = &test::test_reboot_device;
+ test_map_[HGPDTTOOLDB_NAME_IMAGE_QUALITY] = &test::test_image_quality;
+ test_map_[HGPDTTOOLDB_NAME_COLORCARD_IMAGEING_QUALITY] = &test::test_colorcard_imageing_quality;
+ test_map_[HGPDTTOOLDB_NAME_COLORCARD_BIAS_IMAGEING_QUALITY] = &test::test_colorcard_bias_imageing_quality;
+ test_map_[HGPDTTOOLDB_NAME_CLARITY_QUALITY] = &test::test_clarity_quality;
+ test_map_[HGPDTTOOLDB_NAME_DISTORTION] = &test::test_distortion;
+ test_map_[HGPDTTOOLDB_NAME_DORMANCY] = &test::test_dormancy;
+ test_map_[HGPDTTOOLDB_NAME_SKEW_GEAR] = &test::test_skew_gear;
+ test_map_[HGPDTTOOLDB_NAME_PAPER_SEPARATION_STRENGTH] = &test::test_paper_separation_strength;
+ test_map_[HGPDTTOOLDB_NAME_MECH_PAPER_FEEDING_INCLINATION] = &test::test_mech_paper_feeding_inclination;
+ test_map_[HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_1] = &test::test_single_page_test_1;
+ test_map_[HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_2] = &test::test_single_page_test_2;
+ test_map_[HGPDTTOOLDB_NAME_SINGLE_PAGE_TEST_3] = &test::test_single_page_test_3;
+ test_map_[HGPDTTOOLDB_NAME_PRESSUER_TEST] = &test::test_pressuer_test;
+ test_map_[HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT] = &test::test_clear_roller_count;
+ }
+ int set_test(const wchar_t* str)
+ {
+ if (!str)
+ return SCANNER_ERR_NO_DATA;
+
+ ui_helper::test_event test_ev_;
+ int ret = SCANNER_ERR_OK;
+ std::wstring s = str;
+ //int count = test_map_.count(str) > 0;
+ wchar_t* start = (wchar_t*)L"START TEST ";
+ wchar_t* stop = (wchar_t*)L"STOP TEST ";
+ wchar_t ss[10];
+ wcscpy(ss,str);
+ /*if (!count)
+ {
+ ret = SCANNER_ERR_NO_DATA;
+ return ret;
+ }*/
+ //wcscat(start,str);
+ //helper_->test_callback(str, ui_helper::TEST_EVENT_TIPS, start, NULL);
+
+ auto it = test_map_.find(str);
+ if (it != test_map_.end())
+ {
+ ret = (this->*test_map_[str])();
+ }
+ else
+ {
+ return SCANNER_ERR_OK;
+ }
+ if (ret != SCANNER_ERR_OK)
+ {
+ helper_->test_callback(str, ui_helper::TEST_EVENT_TIPS, NULL, ret);
+ return ret;
+ }
+
+ helper_->test_callback(str, ui_helper::TEST_EVENT_TIPS, stop, ret);
+ return ret;
}
public:
/* 뿪У */
int test_dial_switch()
{
-
- ui_helper::test_event ev = ui_helper::TEST_EVENT_TIPS;
- int ret = helper_->io_control(IO_CTRL_CODE_BASE, NULL, NULL);
- helper_->test_callback(HGPDTTOOLDB_NAME_DIAL_SWITCH, ev, NULL, ret);
- return SCANNER_ERR_OK;
+ return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
/* 鴬Ϳع */
int test_pocker_switch()
{
- return SCANNER_ERR_OK;
+ return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
/* 豸ϵ粢۲쿪״̬ */
int test_boot_status()
{
- return SCANNER_ERR_OK;
+ return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
/* Һʾ */
int test_lcd_display()
{
- return SCANNER_ERR_OK;
+ return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
/* ֽȷ */
int tset_clear_paper_path()
{
- return SCANNER_ERR_OK;
+ ui_helper::test_event test_ev_ = ui_helper::TEST_EVENT_RESULT;
+ int ret = helper_->io_control(IO_CTRL_CODE_GET_CLEAN_PAPER_ROAD, NULL, NULL);
+ if (ret != SCANNER_ERR_OK)
+ {
+ helper_->test_callback(HGPDTTOOLDB_NAME_DIAL_SWITCH, test_ev_, NULL, ret);
+ }
+ return ret;
}
/* ܼ */
int test_key_funtion()
{
- return SCANNER_ERR_OK;
+ return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
/* ģʽ */
int test_count_mode()
{
- return SCANNER_ERR_OK;
+
+ ui_helper::test_event test_ev_= ui_helper::TEST_EVENT_RESULT;
+ SANE_Bool ismode = false;
+ unsigned int len = sizeof(SANE_Bool);
+
+ int ret = helper_->io_control(IO_CTRL_CODE_GET_CLEAN_PAPER_ROAD, &ismode, &len);
+ if (ret != SCANNER_ERR_OK)
+ {
+ helper_->test_callback(HGPDTTOOLDB_NAME_DIAL_SWITCH, test_ev_, NULL, ret);
+ return ret;
+ }
+
+ helper_->test_callback(HGPDTTOOLDB_NAME_DIAL_SWITCH, test_ev_, NULL, ismode);
+ return ret;
}
/* б */
int test_skew_detection()
{
+
+ ui_helper::test_event test_ev_ = ui_helper::TEST_EVENT_RESULT;
+ SANE_Bool ismode = true;
+ unsigned int len = sizeof(SANE_Bool);
+
+ int ret = helper_->io_control(IO_CTRL_CODE_SET_SKEW_CHECK, &ismode, &len);
+ if (ret != SCANNER_ERR_OK)
+ {
+ helper_->test_callback(HGPDTTOOLDB_NAME_SKEW_DETECTION, test_ev_, NULL, ret);
+ return ret;
+ }
+ int i = 5;
+ ret = helper_->io_control(IO_CTRL_CODE_SET_SKEW_CHECK_VAL, &i, &len);
+ ret = helper_->io_control(IO_CTRL_CODE_TEST_SINGLE, NULL, NULL);
+
+
+ helper_->test_callback(HGPDTTOOLDB_NAME_SKEW_DETECTION, test_ev_, NULL, ismode);
+ return ret;
return SCANNER_ERR_OK;
}
/* ֽ */
@@ -132,62 +247,77 @@ public:
/* 豸 */
int test_reboot_device()
{
+ return SCANNER_ERR_OK;
}
/* ɨͼȷ */
int test_image_quality()
{
+ return SCANNER_ERR_OK;
}
/* ɫֽ */
int test_colorcard_imageing_quality()
{
+ return SCANNER_ERR_OK;
}
/* ɫֽƫɫ */
int test_colorcard_bias_imageing_quality()
{
+ return SCANNER_ERR_OK;
}
/* */
int test_clarity_quality()
{
+ return SCANNER_ERR_OK;
}
/* */
int test_distortion()
{
+ return SCANNER_ERR_OK;
}
/* */
int test_dormancy()
{
+ return SCANNER_ERR_OK;
}
/* бλ */
int test_skew_gear()
{
+ return SCANNER_ERR_OK;
}
/* ֽǿȼ */
int test_paper_separation_strength()
{
+ return SCANNER_ERR_OK;
}
/* еֽб */
int test_mech_paper_feeding_inclination()
{
+ return SCANNER_ERR_OK;
}
/* Ų1 */
int test_single_page_test_1()
{
+ return SCANNER_ERR_OK;
}
/* Ų2 */
int test_single_page_test_2()
{
+ return SCANNER_ERR_OK;
}
/* Ų3 */
int test_single_page_test_3()
{
+ return SCANNER_ERR_OK;
}
/* ѹ2 */
int test_pressuer_test()
{
+ return SCANNER_ERR_OK;
}
/* */
int test_clear_roller_count()
{
+ return SCANNER_ERR_OK;
}
private:
@@ -197,7 +327,7 @@ private:
//test
static std::string jsontext1("{\"1\":{\"name\":\"test-8\",\"ver\":1}}");
-std::string str_ret_call_= "";
+std::string ret_call_= "";
bool have_img_ = false;
int sane_ex_callback1(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param)
{
@@ -205,22 +335,22 @@ int sane_ex_callback1(SANE_Handle hdev, int code, void* data, unsigned int* len,
{
case SANE_EVENT_WORKING:
{
- str_ret_call_ = (char*)data;
+ ret_call_ = (char*)data;
}
break;
case SANE_EVENT_SCAN_FINISHED:
{
- str_ret_call_ = (char*)data;
+ ret_call_ = (char*)data;
}
break;
case SANE_EVENT_STATUS:
{
- str_ret_call_ = (char*)data;
+ ret_call_ = (char*)data;
}
break;
case SANE_EVENT_ERROR:
{
- str_ret_call_ = (char*)data;
+ ret_call_ = (char*)data;
}
break;
case SANE_EVENT_IMAGE_OK:
@@ -295,46 +425,12 @@ DECL_API(int) func_test_go(const wchar_t* name, const wchar_t* oper, ui_helper*
//helper->add_ref();
helper->register_sane_callback(sane_ex_callback1, NULL);
- bool flag = false;
- wchar_t* des = NULL;
int ret = 0;
- size_t map_bool_len = sizeof(Test_Map_Bool) / sizeof(Test_Map_Bool[0]);
- size_t map_str_len = sizeof(Test_Map_String) / sizeof(Test_Map_String[0]);
- size_t map_int_len = sizeof(Test_Map_Int) / sizeof(Test_Map_Int[0]);
- ui_helper::test_event ev = ui_helper::TEST_EVENT_TIPS; //ĿTEST_EVENT_TIPSԽTEST_EVENT_RESULT
-
- for (size_t i = 0; i < map_bool_len; i++)
- {
- des = (wchar_t*)Test_Map_Bool[i].title;
- if (wcscmp(name, Test_Map_Bool[i].name) == 0) //ֶDzᴫ
- {
- SANE_Bool map_bool = true;
- unsigned int len = sizeof(SANE_Bool);
- ret = helper->io_control(Test_Map_Bool[i].num,(void *)&map_bool, &len);
- ev = ui_helper::TEST_EVENT_RESULT;
- helper->test_callback(Test_Map_Bool[i].name, ev, NULL, ret);
+ test ts(helper);
+ ret = ts.set_test(name);
- return SCANNER_ERR_OK;
- }
- /*else if(wcscmp(name, Test_Map_String[i].name) == 0)
- {
-
- return SCANNER_ERR_OK;
- }
- else if (wcscmp(name, Test_Map_Int[i].name) == 0)
- {
- return SCANNER_ERR_OK;
- }*/
- }
- ret = helper->io_control(IO_CTRL_CODE_RESTORE_SETTINGS, NULL, NULL);
- //helper->release();
- //helper->unregister_sane_callback(sane_ex_callback);
- if (!helper)
- {
- return SCANNER_ERR_NO_DATA;
- }
- //test ts(helper);
- return SCANNER_ERR_OK;
+ ret = helper->io_control(IO_CTRL_CODE_RESTORE_SETTINGS, NULL, NULL);//ָĬ
+ return ret;
}
DECL_API(int) func_test_uninit(void* uninit)
{
diff --git a/code/base/test_base.h b/code/base/test_base.h
index 81f3510..4ee8ad0 100644
--- a/code/base/test_base.h
+++ b/code/base/test_base.h
@@ -13,13 +13,13 @@
/* 检查液晶显示 */
#define HGPDTTOOLDB_TITLE_LCD_DISPLAY L"检查液晶显示"
/* 清理纸道功能确认 */
-#define HGPDTTOOLDB_TITLE_CLEAR_PAPER_PATH L"清理纸道功能确认"
+#define HGPDTTOOLDB_TITLE_CLEAR_PAPER_PATH L"清理纸道功能确认" //1
/* 按键功能检测 */
#define HGPDTTOOLDB_TITLE_KEY_FUNCTION L"按键功能检测"
/* 计数模式检测 */
-#define HGPDTTOOLDB_TITLE_COUNTING_MODE L"计数模式检测"
+#define HGPDTTOOLDB_TITLE_COUNTING_MODE L"计数模式检测"//1
/* 歪斜检测 */
-#define HGPDTTOOLDB_TITLE_SKEW_DETECTION L"歪斜检测"
+#define HGPDTTOOLDB_TITLE_SKEW_DETECTION L"歪斜检测"//1
/* 分纸电机检测 */
#define HGPDTTOOLDB_TITLE_SEPARATER_MOTOR L"分纸电机检测"
/* CIS原图初检 */
@@ -146,6 +146,7 @@
#define HGPDTTOOLDB_NAME_PRESSUER_TEST L"test-34"
/* 清除滚轴计数 */
#define HGPDTTOOLDB_NAME_CLEAR_ROLLER_COUNT L"test-35"
+
static struct Test_Map
{
const wchar_t* name; //test-1