code_production/app/HGProductionTool/form_maininterface.cpp

147 lines
3.9 KiB
C++

#include "form_maininterface.h"
#include "ui_form_maininterface.h"
#include <QPainter>
#include <QMessageBox>
#include <QInputDialog>
#include "base/HGBase.h"
#include "imgfmt/HGImgFmt.h"
#include "HGUIGlobal.h"
#include "form_texttips.h"
#include "test_base.h"
#include "hgscanner.h"
#include "mainwindow.h"
Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, SANE_Handle handle, HGPdtToolDbUserMgr pdtToolDbuserMgr, HGPdtToolDbDevice pdtToolDbDevice,
const QString &serialNum, const QString &devType)
: QWidget(mainwnd)
, ui(new Ui::Form_mainInterface)
, m_mainwnd(mainwnd)
, m_handle(handle)
, m_pdtToolDbuserMgr(pdtToolDbuserMgr)
, m_pdtToolDbDevice(pdtToolDbDevice)
, m_serialNum(serialNum)
, m_devType(devType)
{
ui->setupUi(this);
ui->label_sn->setText(serialNum);
this->setMinimumWidth(400);
m_textTips = new Form_textTips();
m_view = new HGImgView();
ui->stackedWidget->addWidget(m_textTips);
ui->stackedWidget->addWidget(m_view);
ui->listWidget->setMinimumWidth(200);
ui->listWidget->setCurrentRow(0);
ui->pbtn_preStep->setEnabled(false);
downloadCfgFile();
}
Form_mainInterface::~Form_mainInterface()
{
//sane_close(m_handle);
HGPdtToolDb_CloseDevice(m_pdtToolDbDevice);
delete ui;
}
QString Form_mainInterface::getSn()
{
return m_serialNum;
}
void Form_mainInterface::paintEvent(QPaintEvent *event)
{
(void)event;
QPainter p(this);
p.setPen(QColor("gray"));
p.drawRect(0, 0, width() -1, height() -1);
}
void Form_mainInterface::on_listWidget_currentTextChanged(const QString &currentText)
{
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<hgscanner*>(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);
}
void Form_mainInterface::on_pbtn_nextStep_clicked()
{
ui->listWidget->setCurrentRow(ui->listWidget->currentRow() + 1);
}
void Form_mainInterface::on_pbtn_fail_clicked()
{
ui->listWidget->item(ui->listWidget->currentRow())->setBackgroundColor("red");
}
void Form_mainInterface::on_pbtn_pass_clicked()
{
ui->listWidget->item(ui->listWidget->currentRow())->setBackgroundColor("yellow");
on_pbtn_nextStep_clicked();
}
void Form_mainInterface::downloadCfgFile()
{
HGChar cfgPath[512] = {0};
HGBase_GetConfigPath(cfgPath, 512);
HGBase_CreateDir(cfgPath);
strcat(cfgPath, m_devType.toStdString().c_str());
strcat(cfgPath, ".json");
HGResult ret = HGPdtToolDb_DownloadFile(m_pdtToolDbuserMgr, m_devType.toStdString().c_str(), cfgPath);
// if(ret == HGBASE_ERR_OK)
// {
AnalysisJson analysisJson(QString::fromStdString(cfgPath));
std::vector<AnalysisJson::json_node> list_jsonNode = analysisJson.GetNode();
for(int i = 0; i < (int)list_jsonNode.size(); ++i)
{
AnalysisJson::json_node node = list_jsonNode[i];
ui->listWidget->addItem(node.title);
m_map_title_name.insert(node.title, node);
}
// }
}
void Form_mainInterface::on_pbtn_stop_clicked()
{
m_mainwnd->RemoveInterface(this);
}