EmbHMI/sharedviews/promptdialog.cpp
2024-02-06 14:27:07 +08:00

3024 lines
100 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "promptdialog.h"
#include "ui_promptdialog.h"
PromptDialog::PromptDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::PromptDialog)
{
ui->setupUi(this);
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
setWindowModality(Qt::ApplicationModal);
setAttribute(Qt::WA_TranslucentBackground, true);
connect(g_pMachine, SIGNAL(siMcInfoChange()), this, SLOT(slotMCInfoChange()));
initDialog();
initControl();
initArabControlPos();
}
PromptDialog::~PromptDialog()
{
delete ui;
}
//初始化窗体
void PromptDialog::initDialog(int sel)
{
m_totalHead = 0;
m_curColorOrder = 0;//当前色序数
m_totalColorOrder = 0;//总色序数
m_funType = sel;
m_filePath.clear();
memset(m_headBuf, 0, sizeof(m_headBuf));
m_moveX = 0;//定量移框X值
m_moveY = 0;//定量移框Y值
m_spindleAngle = 0;//主轴旋转角度值
m_gearValue = 1;//提升电机档位值
m_adcFlagValue = -1;
m_area = 0;
m_headType =0;
m_noseHead = FLATEMB;//初始化是平绣机头
m_elasticWirePos = ELASTICWIRE_COLORCHANGE_POS;//初始化默认松紧线电机换色位
m_camColorChange = 0;//凸轮换色
m_camColorChange= g_pSettings->readFromInHMIiFile("HMI/camColorChange").toInt();
m_stepDrive =0;//步进电机驱动
m_stepDrive= g_pSettings->readFromInHMIiFile("HMI/stepDrive").toInt();
setTitleStr("");
setContentStr("");
setContentProcessStr("");
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labeBreakHead->setText("");
ui->labeBottomBreakHead->setText("");
ui->labelCurNeedleValue->setText("0");
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
#if(0)
//全部隐藏,否则新的弹窗显示时会先刷新成之前的再刷新成新的内容,尽管刷新速度很快但仍能看出来,所以先全部隐藏
ui->frameChangePassword->hide();
ui->frameElasticCtrl->hide();
ui->frameHMIDecrypt->hide();
ui->frameHeadEmb->hide();
ui->frameLiftMControl->hide();
ui->frameManualChangeColor->hide();
ui->frameNoseHead->hide();
ui->frameProcess->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameWarrantBtn->hide();
ui->frameWorkArea->hide();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameDetecBtn->hide();
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->labelContentInfo->hide();
#endif
m_selectNeedleIdx = 0;
m_selectHeadleIdx = 0;
ui->buttonOk->setEnabled(true);
//蓝色
m_buttonStyle1 = "QPushButton{outline: none;color:rgb(10,10,10);background-color:rgb(0,151,226);border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;}";
//白色
m_buttonStyle2 = "QPushButton{outline: none;color:rgb(10,10,10);background-color:rgb(250,250,250);border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;}";
if (sel == BTN_OK_CANCEL)//确定、取消
{
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameHeadEmb->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if (sel == BTN_OK)//确定
{
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameHeadEmb->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->buttonOk->show();
ui->buttonCancel->hide();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->move(m_btnCancelPoint);
}
else if (sel == BTN_R_R_S)//重命名、替换、跳过
{
ui->frameTwo->hide();
ui->frameProcessBtn->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameHeadEmb->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameThree->show();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_LINE_OFFSET)//线迹偏移
{
ui->buttonTraceOffset->setCheckable(true);
ui->buttonTraceOffset->setChecked(true);
ui->buttonTraceOffsetReset->setChecked(false);
ui->buttonCurTraceOffsetClear->setChecked(false);
ui->labelTraceInfo->setText(tr("Click OK to change the work coordinates, please take carefully!"));//点击确定按钮后将改变工作坐标,请谨慎操作!
ui->labelTraceType->setText(tr("Trace offset"));//线迹偏移
ui->frameTwo->show();
ui->frameTraceOffset->show();
ui->frameProcessBtn->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameWarrantBtn->hide();
ui->frameDetecBtn->hide();
ui->frameHeadEmb->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameThree->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->show();
ui->buttonCancel->move(m_btnCancelPoint);
}
else if (sel == BTN_RESTART)//重启
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->show();
ui->buttonRestart->show();
ui->buttonUpdataCancel->hide();
ui->buttonRestart->move(m_btnCancelPoint);
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_UCANCEL)//升级取消
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->show();
ui->buttonRestart->hide();
ui->buttonUpdataCancel->show();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if (sel == BTN_WARRANT)//授权按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameHeadEmb->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameWarrantBtn->show();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
//手动换色
else if(sel == BTN_M_C_C )
{
ui->frameManualChangeColor->show();//手动换色
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHeadEmb->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
// 底线检测,面线检测
else if(sel == BTN_BOTTOM || sel == BTN_FACE)
{
ui->frameManualChangeColor->show();//手动换色,底线面线检测的时候,手动换色的窗体不能隐藏
ui->frameDetecBtn->show();
ui->frameHeadEmb->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_HOOK_TEST || sel == BTN_FOOT_TEST )
{
ui->frameManualChangeColor->hide();//手动换色
ui->frameDetecBtn->show();
ui->frameHeadEmb->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_MOVE_FRAME)//定量移框
{
ui->frameQuantityMoveFrame->show();
if(m_stepDrive == 1)
{
ui->buttonMoveXValue->setText("0.0");
ui->buttonMoveYValue->setText("0.0");
}
else if(m_stepDrive == 0)
{
ui->buttonMoveXValue->setText("0.00");
ui->buttonMoveYValue->setText("0.00");
}
ui->frameManualChangeColor->hide();//手动换色
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHeadEmb->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_NONE)//无按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameDetecBtn->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_P_NONE)//无按钮
{
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
}
else if(sel == BTN_HEAD_EMB)
{
ui->frameHeadEmb->show();
ui->frameManualChangeColor->hide();//手动换色
ui->frameTwo->show();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_HMI_DECRYPT)//界面解密
{
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameSpindleRotate->hide();
ui->frameHMIDecrypt->show();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_CHANGE_PASSWORD)//修改一级密码
{
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameSpindleRotate->hide();
ui->frameHMIDecrypt->hide();//界面解密隐藏
ui->frameChangePassword->show();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_SPINDLE_ROTATE)//主轴旋转角度
{
ui->frameSpindleRotate->show();
ui->buttonSpindleAngleValue->setText("0.00");
ui->button0->setText("0.00");
ui->button90->setText("90.00");
ui->button180->setText("180.00");
ui->button270->setText("270.00");
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->show();//显示正转按钮
ui->buttonReverse->show();//显示反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_NOSEHESD)//两个按钮选择
{
ui->buttonHead1->show();
ui->buttonHead3->hide();//第三个按钮隐藏
ui->frameNoseHead->show();
int towel = g_pSettings->readFromInHMIiFile("HMI/towel").toInt();//是否有毛巾功能
int coil = g_pSettings->readFromInHMIiFile("HMI/coil").toInt();//是否有缠绕功能
if (g_emMacType == MACHINE_EMB && towel ==1 && coil ==1)//同时带毛巾和缠绕
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Cheniile"));
ui->buttonHead3->setText(tr("Coil"));
ui->buttonHead3->show();//第三个按钮显示
ui->labelNoseHeadValue->setText(tr("Unknown"));
}
else if (g_emMacType == MACHINE_EMB && towel ==1)
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Cheniile"));
ui->labelNoseHeadValue->setText(tr("Unknown"));
}
else if (g_emMacType == MACHINE_EMB && coil ==1)
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Coil"));
ui->labelNoseHeadValue->setText(tr("Unknown"));
}
//初始化,一进来机头选择的窗体,就默认是平绣的被选中
ui->buttonHead1->setStyleSheet(m_buttonStyle1);
ui->buttonHead2->setStyleSheet(m_buttonStyle2);
ui->buttonHead3->setStyleSheet(m_buttonStyle2);
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_TRIMDOWN)//下剪线
{
ui->buttonHead1->show();
ui->buttonHead3->hide();//第三个按钮隐藏
ui->frameNoseHead->show();
int coil = g_pSettings->readFromInHMIiFile("HMI/coil").toInt();//是否有缠绕功能
if (g_emMacType == MACHINE_EMB && coil ==1)//有缠绕
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Coil"));
ui->labelNoseHeadValue->setText(tr("Unknown"));
}
//初始化,一进来机头选择的窗体,就默认是平绣的被选中
ui->buttonHead1->setStyleSheet(m_buttonStyle1);
ui->buttonHead2->setStyleSheet(m_buttonStyle2);
ui->buttonHead3->setStyleSheet(m_buttonStyle2);
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_NOSEHESDTHREE || sel == BTN_MSPINDLE_ROTATE)//三个按钮选择
{
ui->buttonHead1->show();
ui->buttonHead3->hide();//第三个按钮隐藏
ui->frameNoseHead->show();
int towel = g_pSettings->readFromInHMIiFile("HMI/towel").toInt();//是否有毛巾功能
int coil = g_pSettings->readFromInHMIiFile("HMI/coil").toInt();//是否有缠绕功能
if (g_emMacType == MACHINE_EMB && towel ==1 && coil ==1)//同时带毛巾和缠绕
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Cheniile"));
ui->buttonHead3->setText(tr("Coil"));
ui->buttonHead3->show();//第三个按钮显示
}
else if (g_emMacType == MACHINE_EMB && towel ==1)
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Cheniile"));
}
else if (g_emMacType == MACHINE_EMB && coil ==1)
{
ui->buttonHead1->setText(tr("Emb"));
ui->buttonHead2->setText(tr("Coil"));
}
if(sel == BTN_MSPINDLE_ROTATE)
{
ui->buttonHead1->hide();
}
//初始化,一进来机头选择的窗体,就默认是平绣的被选中
ui->labelNoseHead->hide();
ui->labelNoseHeadValue->hide();
ui->buttonHead1->setStyleSheet(m_buttonStyle1);
ui->buttonHead2->setStyleSheet(m_buttonStyle2);
ui->buttonHead3->setStyleSheet(m_buttonStyle2);
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_LIFTMOTORCONTROL)//毛巾提升电机控制
{
//xcy 0316 电位器
QFont ft;
if(g_emResolut == resolution1910)
{
ft.setPointSize(80);
}
else if(g_emResolut == resolution1006)
{
ft.setPointSize(38);
}
ui->labelPotenValue->setFont(ft);
ui->labelPotenValue->setAlignment(Qt::AlignRight | Qt::AlignBottom);
ui->frameLiftMControl->show();
ui->labelPotenValue->setText("500.00");
ui->buttonGear->setText("1");
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameElasticCtrl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_ELASTICCONTROL)//毛巾松紧线控制
{
ui->frameElasticCtrl->show();
ui->labelPotenValue2->setText("0");
ui->labelGearValue->setText("0");
ui->labelLocationValue->setText(tr("Unknown location"));//松紧线电机位置显示,如果不在4个位置,就要显示未知位置
ui->buttonLocation1->setText(tr("Color"));//换色位
ui->buttonLocation2->setText(tr("Trim"));//剪线位
ui->buttonLocation3->setText(tr("Chain"));//链式位
ui->buttonLocation4->setText(tr("Chenille"));//毛巾位
ui->buttonLocation1->setStyleSheet(m_buttonStyle1);//初始化默认都是白色,根据从主控上读上来的当前位置值,显示哪个是蓝色
ui->buttonLocation2->setStyleSheet(m_buttonStyle2);
ui->buttonLocation3->setStyleSheet(m_buttonStyle2);
ui->buttonLocation4->setStyleSheet(m_buttonStyle2);
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameWorkArea->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_WORK_AREA)//设置可工作区域
{
ui->frameWorkArea->show();
ui->buttonX1->setText(tr("X +"));
ui->buttonX2->setText(tr("X -"));
ui->buttonY1->setText(tr("Y +"));
ui->buttonY2->setText(tr("Y -"));
ui->frameSpindleRotate->hide();
ui->frameThree->hide();
ui->frameQuantityMoveFrame->hide();
ui->frameDetecBtn->hide();
ui->frameManualChangeColor->hide();//手动换色
ui->frameProcess->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameHeadEmb->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->hide();
ui->frameHMIDecrypt->hide();
ui->frameChangePassword->hide();
ui->frameTwo->show();
ui->frameTraceOffset->hide();
ui->frameNoseHead->hide();
ui->frameLiftMControl->hide();
ui->frameElasticCtrl->hide();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
}
//初始化窗体控件,包括位置、尺寸、样式
void PromptDialog::initControl()
{
m_buttonEmbNeedleList.clear();
for(int i = 0; i < 32; i++)
{
QPushButton *buttonEmbNeedle = new QPushButton(ui->frameManualChangeColor);
m_buttonEmbNeedleList.append(buttonEmbNeedle);
connect(buttonEmbNeedle,
SIGNAL(clicked()),
this,
SLOT(slotEmbNeedleBtnClick())
);
}
//隔头绣界面显示的机头,暂定30个机头 -rq
m_buttonEmbHeadList.clear();
for(int i = 0; i < 30; i++)
{
QPushButton *buttonEmbHead = NULL;
buttonEmbHead = new QPushButton(ui->frameHeadEmb);
m_buttonEmbHeadList.append(buttonEmbHead);
connect(buttonEmbHead,
SIGNAL(clicked()),
this,
SLOT(slotEmbHeadBtnClick())
);
}
//提升电机控制界面显示的毛巾机头 -rq
m_buttonChenilleHeadList.clear();
for(int i = 0; i < 32; i++)
{
QPushButton *m_buttonChenilleHead = new QPushButton(ui->frameLiftMControl);
m_buttonChenilleHeadList.append(m_buttonChenilleHead);
connect(m_buttonChenilleHead,
SIGNAL(clicked()),
this,
SLOT(slotChenilleHeadBtnClick())
);
}
//根据不同分辨率设置控件的位置和尺寸
switch (g_emResolut)
{
case resolution1910:
initResolution1910();
break;
case resolution1006:
initResolution1006();
break;
default:
initResolution1910();
break;
}
initControlStyle();//初始化窗体控件样式
}
//初始化窗体控件为1920x1080分辨率
void PromptDialog::initResolution1910()
{
//上状态栏
this->resize(946,564);
this->move((1920-this->width())/2,(1080-this->height())/2);
ui->frameBack->setGeometry(0,0,946,564);
ui->labelTitle->setGeometry(40,18,754,56);
ui->labelContent->setGeometry(80,120,800,300);
ui->labelContentInfo->setGeometry(80,120,800,300);
ui->labeBreakHead->setGeometry(80,80,900,350);
//ui->labeBottomBreakHead->setGeometry(80,260,900,170);
ui->labelContentWarrant->setGeometry(96,134,800,260);
ui->frameProcess->setGeometry(96,134,820,260);
ui->labelContentProcess->setGeometry(0,20,800,100);
ui->progressBar->setGeometry(0,160,754,36);
ui->frameTwo->setGeometry(0,426,904,84);
ui->buttonForward->setGeometry(148,0,174,70);
ui->buttonReverse->setGeometry(340,0,174,70);
ui->buttonOk->setGeometry(532,0,174,70);
ui->buttonCancel->setGeometry(724,0,174,70);
m_btnOkPoint.setX(532);//ok按钮位置
m_btnOkPoint.setY(0);
m_btnCancelPoint.setX(724);//cancel按钮位置
m_btnCancelPoint.setY(0);
ui->frameProcessBtn->setGeometry(0,430,904,84);//进度条
ui->buttonRestart->setGeometry(532,0,174,70);
ui->buttonUpdataCancel->setGeometry(724,0,174,70);
ui->frameWarrantBtn->setGeometry(0,430,904,84);//授权
ui->buttonWarrant->setGeometry(532,0,174,70);
ui->buttonWarrantCancel->setGeometry(724,0,174,70);
//手动换色
ui->frameManualChangeColor->setGeometry(40,78,904,340);
ui->labelCurNeedle->setGeometry(1,8,230,40);
ui->labelCurNeedleValue->setGeometry(239,8,500,40);
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 8; j++)
{
m_buttonEmbNeedleList[i*8+j]->setGeometry(3+j*110,64+i*70,88,52);
m_buttonEmbNeedleList[i*8+j]->setFont(fontNormal_1);
m_buttonEmbNeedleList[i*8+j]->setText(QString::number(i*8+j+1));
}
}
//隔头绣
ui->frameHeadEmb->setGeometry(40,70,904,390);
ui->labelCurColorOrder->setGeometry(1,18,200,40);
ui->buttonCurColorOrder->setGeometry(209,14,160,58);
ui->frameUpAndDown->setGeometry(380,10,140,64);
ui->buttonCurColorOrderUp->setGeometry(6,0,64,64);
ui->buttonCurColorOrderDown->setGeometry(76,0,64,64);
ui->buttonOddEmb->setGeometry(10,278,90,90);
ui->buttonEvenEmb->setGeometry(116,278,90,90);
ui->buttonHeadClear->setGeometry(232,278,90,90);
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 10; j++)
{
m_buttonEmbHeadList[i*10+j]->setGeometry(6+j*86,76+i*68,78,62);
m_buttonEmbHeadList[i*10+j]->setFont(fontNormal_1);
m_buttonEmbHeadList[i*10+j]->setText(QString::number(i*10+j+1));
}
}
//提升电机控制
ui->frameLiftMControl->setGeometry(40,78,904,340);
ui->labelPoten->setGeometry(1,200,185,40);//电位器
ui->labelPotenValue->setGeometry(120,70,600,210);//电位器值
ui->labelGear->setGeometry(440,286,200,40);
ui->labelGearValue->setGeometry(500,286,200,40);//档位值
ui->labelGearSwitch->setGeometry(12,280,180,58);//档位值切换
ui->buttonGear->setGeometry(202,280,160,58);//档位切换按钮
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 8; j++)
{
m_buttonChenilleHeadList[i*8+j]->setGeometry(3+j*110,8+i*70,88,52);
m_buttonChenilleHeadList[i*8+j]->setFont(fontNormal_1);
m_buttonChenilleHeadList[i*8+j]->setText(QString::number(i*8+j+1));
}
}
//松紧线控制
ui->frameElasticCtrl->setGeometry(40,78,904,340);
ui->buttonLocation1->setGeometry(80,100,160,58);
ui->buttonLocation2->setGeometry(80,200,160,58);
ui->buttonLocation3->setGeometry(280,100,160,58);
ui->buttonLocation4->setGeometry(280,200,160,58);
ui->labelPoten2->setGeometry(1,8,185,40);//电位器
ui->labelPotenValue2->setGeometry(185,8,120,40);//电位器值
ui->labelLocation->setGeometry(390,8,230,40);
ui->labelLocationValue->setGeometry(650,8,120,40);//档位值
//设置可移动区域
ui->frameWorkArea->setGeometry(40,78,904,340);
ui->buttonX1->setGeometry(300,110,160,58);//x+
ui->buttonX2->setGeometry(10,110,160,58);//x-
ui->buttonY1->setGeometry(150,10,160,58);//y+
ui->buttonY2->setGeometry(150,205,160,58);//y-
//定量移框
ui->frameQuantityMoveFrame->setGeometry(40,78,904,340);
ui->labelMoveX->setGeometry(1,18,100,40);
ui->buttonMoveXValue->setGeometry(109,14,300,58);
ui->labelXUnit->setGeometry(414,18,100,40);
ui->labelMoveY->setGeometry(1,104,100,40);
ui->buttonMoveYValue->setGeometry(109,100,300,58);
ui->labelYUnit->setGeometry(414,104,100,40);
//主轴角度旋转
ui->frameSpindleRotate->setGeometry(40,78,904,340);
ui->labelSpindleAngle->setGeometry(1,28,180,40);
ui->buttonSpindleAngleValue->setGeometry(190,24,300,58);
ui->labelSpindleAngleUnit->setGeometry(496,28,100,40);
ui->button0->setGeometry(2,210,180,68);
ui->button90->setGeometry(220,210,180,68);
ui->button180->setGeometry(440,210,180,68);
ui->button270->setGeometry(660,210,180,68);
//平绣毛巾缠绕
ui->frameNoseHead->setGeometry(40,78,904,340);
ui->buttonHead1->setGeometry(0,24,200,68);
ui->buttonHead2->setGeometry(240,24,200,68);
ui->buttonHead3->setGeometry(480,24,200,68);
// ui->buttonHead2->setGeometry(480,24,200,68);
// ui->buttonHead3->setGeometry(240,24,200,68);
ui->labelNoseHead->setGeometry(1,8,200,40);
ui->labelNoseHeadValue->setGeometry(209,8,60,40);
//界面解密
ui->frameHMIDecrypt->setGeometry(40,78,904,340);
ui->labelNetworkCardID->setGeometry(1,18,200,40);
ui->labelNetworkCardIDValue->setGeometry(209,18,300,40);
ui->labelHMIPassword->setGeometry(1,104,200,40);
ui->buttonHMIPassword->setGeometry(209,100,300,58);
ui->labelDecryptInfo->setGeometry(1,190,200,40);
ui->labelDecryptInfoValue->setGeometry(209,190,300,40);
//修改一级密码
ui->frameChangePassword->setGeometry(40,78,904,340);
ui->labelNewPassword->setGeometry(10,90,420,60);
ui->buttonNewPassword->setGeometry(440,90,300,60);
ui->labelConfirmPassword->setGeometry(10,190,420,60);
ui->buttonConfirmPassword->setGeometry(440,190,300,60);
//线迹偏移
ui->frameTraceOffset->setGeometry(40,68,904,320);
ui->labelTraceInfo->setGeometry(20,40,500,80);
ui->labelTraceType->setGeometry(20,160,500,80);
ui->buttonTraceOffset->setGeometry(640,40,200,64);
ui->buttonTraceOffsetReset->setGeometry(640,140,200,64);
ui->buttonCurTraceOffsetClear->setGeometry(640,240,200,64);
ui->frameThree->setGeometry(0,430,904,84);
ui->buttonRename->setGeometry(340,0,174,70);
ui->buttonReplace->setGeometry(532,0,174,70);
ui->buttonSkip->setGeometry(724,0,174,70);
ui->frameDetecBtn->setGeometry(0,430,904,84);
ui->buttonDetectBegin->setGeometry(340,0,174,70);
ui->buttonDetectEnd->setGeometry(532,0,174,70);
ui->buttonDetectClose->setGeometry(724,0,174,70);
}
//初始化窗体控件为1024x600分辨率
void PromptDialog::initResolution1006()
{
//上状态栏
this->resize(508,304);
this->move((1024-this->width())/2+g_mainWidgetPos.x(),(600-this->height())/2+g_mainWidgetPos.y());
ui->frameBack->setGeometry(0,0,508,304);
ui->labelTitle->setGeometry(20,-4,400,56);
ui->labelContent->setGeometry(46,40,400,180);
ui->labelContentInfo->setGeometry(46,40,400,180);
ui->labeBreakHead->setGeometry(40,40,450,180);
//ui->labeBottomBreakHead->setGeometry(40,65,400,145);
ui->labelContentWarrant->setGeometry(46,40,300,225);
ui->frameProcess->setGeometry(20,70,480,130);
ui->labelContentProcess->setGeometry(10,10,398,40);
ui->progressBar->setGeometry(10,50,446,26);
ui->frameTwo->setGeometry(-4,225,500,51);
ui->buttonForward->setGeometry(72,0,96,40);
ui->buttonReverse->setGeometry(178,0,96,40);
ui->buttonOk->setGeometry(284,0,96,40);
ui->buttonCancel->setGeometry(390,-1,96,40);
m_btnOkPoint.setX(284);//ok按钮位置
m_btnOkPoint.setY(0);
m_btnCancelPoint.setX(390);//cancel按钮位置
m_btnCancelPoint.setY(1);
ui->frameProcessBtn->setGeometry(0,228,500,51);//进度条
ui->buttonRestart->setGeometry(284,0,96,40);
ui->buttonUpdataCancel->setGeometry(390,1,96,40);
ui->frameWarrantBtn->setGeometry(0,235,500,51);//授权
ui->buttonWarrant->setGeometry(284,0,96,40);
ui->buttonWarrantCancel->setGeometry(390,1,96,40);
//手动换色
ui->frameManualChangeColor->setGeometry(40,48,440,165);
ui->labelCurNeedle->setGeometry(0,-10,100,40);
ui->labelCurNeedleValue->setGeometry(100,-10,335,40);
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 5; j++)
{
m_buttonEmbNeedleList[i*5+j]->setGeometry(3+j*88,34+i*46,66,34);//15个针杆会显示不全 -rq
m_buttonEmbNeedleList[i*5+j]->setFont(fontNormal_1);
m_buttonEmbNeedleList[i*5+j]->setText(QString::number(i*5+j+1));
}
}
//隔头绣
ui->frameHeadEmb->setGeometry(14,44,500,184);
ui->labelCurColorOrder->setGeometry(1,5,100,40);
ui->buttonCurColorOrder->setGeometry(110,5,70,38);
ui->frameUpAndDown->setGeometry(190,0,130,60);
ui->buttonCurColorOrderUp->setGeometry(6,0,50,50);
ui->buttonCurColorOrderDown->setGeometry(62,0,50,50);
ui->buttonOddEmb->setGeometry(5,125,58,58);//20220419-rq机头个数显示不全变成两行
ui->buttonEvenEmb->setGeometry(78,125,58,58);
ui->buttonHeadClear->setGeometry(150,125,58,58);
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 15; j++)//一行显示6个
{
m_buttonEmbHeadList[i*15+j]->setGeometry(0+j*32,54+i*35,30,32);
m_buttonEmbHeadList[i*15+j]->setFont(fontNormal_1);
m_buttonEmbHeadList[i*15+j]->setText(QString::number(i*15+j+1));
}
}
//提升电机控制
ui->frameLiftMControl->setGeometry(20,50,500,172);
ui->labelPoten->setGeometry(16,70,100,40);
ui->labelPotenValue->setGeometry(100,70,200,50);//电位器值
ui->labelGear->setGeometry(220,120,100,40);
ui->labelGearValue->setGeometry(260,120,95,40);//档位值
ui->buttonGear->setGeometry(100,125,70,38);
ui->labelGearSwitch->setGeometry(4,125,90,40);//档位值切换
// for(int i = 0; i < 3; i++)
// {
// for(int j = 0; j < 5; j++)
// {
// m_buttonChenilleHeadList[i*5+j]->setGeometry(3+j*88,34+i*46,66,34);//15个针杆会显示不全 -rq
// m_buttonChenilleHeadList[i*5+j]->setFont(fontNormal_1);
// m_buttonChenilleHeadList[i*5+j]->setText(QString::number(i*5+j+1));
// }
// }
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 8; j++)
{
m_buttonChenilleHeadList[i*8+j]->setGeometry(0+j*58,0+i*36,52,30);//15个针杆会显示不全 -rq
m_buttonChenilleHeadList[i*8+j]->setFont(fontNormal_1);
m_buttonChenilleHeadList[i*8+j]->setText(QString::number(i*6+j+1));
}
}
//松紧线控制
ui->frameElasticCtrl->setGeometry(40,58,440,161);
ui->buttonLocation1->setGeometry(10,40,70,38);
ui->buttonLocation2->setGeometry(10,98,70,38);
ui->buttonLocation3->setGeometry(110,40,70,38);
ui->buttonLocation4->setGeometry(110,98,70,38);
ui->labelLocation->setGeometry(190,-10,110,40);
ui->labelLocationValue->setGeometry(290,-10,95,40);//档位值
ui->labelPoten2->setGeometry(0,-10,100,40);
ui->labelPotenValue2->setGeometry(70,-10,95,40);//电位器值
//
ui->frameWorkArea->setGeometry(40,58,440,161);
ui->buttonX1->setGeometry(170,60,70,38);
ui->buttonX2->setGeometry(10,60,70,38);
ui->buttonY1->setGeometry(90,10,70,38);//y+
ui->buttonY2->setGeometry(90,120,70,38);
//定量移框
ui->frameQuantityMoveFrame->setGeometry(40,78,440,161);
ui->labelMoveX->setGeometry(20,12,91,40);
ui->buttonMoveXValue->setGeometry(120,10,78,40);
ui->labelXUnit->setGeometry(214,12,91,40);
ui->labelMoveY->setGeometry(20,70,91,40);
ui->buttonMoveYValue->setGeometry(120,68,78,40);
ui->labelYUnit->setGeometry(214,70,91,40);
//主轴角度旋转
ui->frameSpindleRotate->setGeometry(30,78,440,161);
ui->labelSpindleAngle->setGeometry(0,12,120,40);
ui->buttonSpindleAngleValue->setGeometry(125,10,78,40);
ui->button0->setGeometry(8,80,78,40);
ui->button90->setGeometry(100,80,78,40);
ui->button180->setGeometry(200,80,78,40);
ui->button270->setGeometry(300,80,78,40);
ui->labelSpindleAngleUnit->setGeometry(214,12,91,40);
//平绣毛巾缠绕
ui->frameNoseHead->setGeometry(40,48,440,165);
ui->buttonHead1->setGeometry(0,24,91,40);
ui->buttonHead2->setGeometry(101,24,91,40);
ui->buttonHead3->setGeometry(202,24,91,40);
// ui->buttonHead2->setGeometry(202,24,91,40);
// ui->buttonHead3->setGeometry(101,24,91,40);
ui->labelNoseHead->setGeometry(0,-10,100,40);
ui->labelNoseHeadValue->setGeometry(120,-10,95,40);
//界面解密
ui->frameHMIDecrypt->setGeometry(40,78,440,161);
ui->labelNetworkCardID->setGeometry(10,12,110,40);
ui->labelNetworkCardIDValue->setGeometry(130,12,200,40);
ui->labelHMIPassword->setGeometry(10,52,110,40);
ui->buttonHMIPassword->setGeometry(130,50,200,40);
ui->labelDecryptInfo->setGeometry(10,92,110,40);
ui->labelDecryptInfoValue->setGeometry(130,92,200,40);
//修改一级密码
ui->frameChangePassword->setGeometry(0,78,440,161);
ui->labelNewPassword->setGeometry(0,0,240,40);
ui->buttonNewPassword->setGeometry(280,0,200,40);
ui->labelConfirmPassword->setGeometry(0,52,240,40);
ui->buttonConfirmPassword->setGeometry(280,52,200,40);
//线迹偏移
ui->frameTraceOffset->setGeometry(0,40,500,161);
ui->labelTraceInfo->setGeometry(40,20,300,60);
ui->labelTraceType->setGeometry(40,80,300,60);
ui->buttonTraceOffset->setGeometry(376,20,106,40);
ui->buttonTraceOffsetReset->setGeometry(376,70,106,40);
ui->buttonCurTraceOffsetClear->setGeometry(376,120,106,40);
ui->frameThree->setGeometry(0,225,500,51);
ui->buttonRename->setGeometry(187,0,96,40);
ui->buttonReplace->setGeometry(289,0,96,40);
ui->buttonSkip->setGeometry(390,1,96,40);
ui->frameDetecBtn->setGeometry(0,225,500,51);
ui->buttonDetectBegin->setGeometry(187,0,96,40);
ui->buttonDetectEnd->setGeometry(289,0,96,40);
ui->buttonDetectClose->setGeometry(390,1,96,40);
}
//初始化窗体控件样式
void PromptDialog::initControlStyle()
{
SetControlStyle setControlStyle;
setControlStyle.setUiName(this->objectName());
//设置控件图标
//背景图
this->setStyleSheet(LABELWHITESTYLE);
ui->frameBack->setStyleSheet(TRANSPARENTSTYLE);
ui->frameBack->setStyleSheet(setControlStyle.getStyleSheet(this->objectName()));
ui->labelTitle->setStyleSheet(LABELWHITESTYLE);
ui->labelTitle->setFont(fontNormal_1);
ui->labelTitle->setAlignment(Qt::AlignLeft);
ui->labelTitle->setAlignment(Qt::AlignVCenter);
ui->frameProcess->setStyleSheet(TRANSPARENTSTYLE);
ui->progressBar->setFont(fontNormal_1);
ui->labelContent->setStyleSheet(LABELGREYSTYLE);
ui->labelContent->setFont(fontNormal_1);
ui->labelContent->setAlignment(Qt::AlignLeft);
ui->labelContent->setAlignment(Qt::AlignVCenter);
ui->labeBreakHead->setStyleSheet(LABELREDSTYLE); // 断线机头 红色 字体加大 -rq
ui->labeBreakHead->setFont(fontNormal_9);
// ui->labeBreakHead->setAlignment(Qt::AlignHCenter);
// ui->labeBreakHead->setAlignment(Qt::AlignVCenter);
ui->labeBottomBreakHead->setAlignment(Qt::AlignCenter);//文字水平垂直居中
//ui->labeBottomBreakHead->setStyleSheet(LABELREDSTYLEGREEN); // 底线断线机头 绿色 字体加大 -rq
ui->labeBottomBreakHead->setFont(fontNormal_9);
ui->labeBottomBreakHead->setAlignment(Qt::AlignCenter);
ui->labeBottomBreakHead->setAlignment(Qt::AlignVCenter);
ui->labelContentInfo->setStyleSheet(LABELGREYSTYLE);
ui->labelContentInfo->setFont(fontNormal_1);
ui->labelContentInfo->setAlignment(Qt::AlignLeft);
ui->labelContentInfo->setAlignment(Qt::AlignVCenter);
ui->labelContentProcess->setStyleSheet(LABELGREYSTYLE);
ui->labelContentProcess->setFont(fontNormal_1);
ui->labelContentProcess->setAlignment(Qt::AlignLeft);
ui->labelContentProcess->setAlignment(Qt::AlignVCenter);
ui->labelContentWarrant->setStyleSheet(LABELGREYSTYLE);
ui->labelContentWarrant->setFont(fontNormal_1);
ui->labelContentWarrant->setAlignment(Qt::AlignLeft);
ui->labelContentWarrant->setAlignment(Qt::AlignVCenter);
ui->frameTwo->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonOk->setWhiteBlueBottomStyle();
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),12);
ui->buttonCancel->setWhiteBlueBottomStyle();
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
ui->buttonForward->setWhiteBlueBottomStyle();
ui->buttonForward->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonForward->objectName()),12);
ui->buttonReverse->setWhiteBlueBottomStyle();
ui->buttonReverse->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonReverse->objectName()),12);
ui->frameThree->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonRename->setWhiteBlueBottomStyle();
ui->buttonReplace->setWhiteBlueBottomStyle();
ui->buttonSkip->setWhiteBlueBottomStyle();
ui->buttonRename->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRename->objectName()),12);
ui->buttonReplace->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonReplace->objectName()),12);
ui->buttonSkip->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonSkip->objectName()),12);
ui->frameDetecBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonDetectBegin->setWhiteBlueBottomStyle();
ui->buttonDetectBegin->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectBegin->objectName()),12);
ui->buttonDetectEnd->setWhiteBlueBottomStyle();
ui->buttonDetectEnd->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectEnd->objectName()),12);
ui->buttonDetectClose->setWhiteBlueBottomStyle();
ui->buttonDetectClose->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
ui->frameProcessBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonRestart->setWhiteBlueBottomStyle();
ui->buttonRestart->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRestart->objectName()),12);
ui->buttonUpdataCancel->setWhiteBlueBottomStyle();
ui->buttonUpdataCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
ui->frameManualChangeColor->setStyleSheet(TRANSPARENTSTYLE);
ui->labelCurNeedle->setStyleSheet(LABELGREYSTYLE);
ui->labelCurNeedle->setFont(fontNormal_1);
ui->labelCurNeedleValue->setStyleSheet(LABELGREYSTYLE);
ui->labelCurNeedleValue->setFont(fontNormal_1);
//提升电机控制
ui->frameLiftMControl->setStyleSheet(TRANSPARENTSTYLE);
ui->labelPotenValue->setStyleSheet(LABELGREYSTYLE);
ui->labelPotenValue->setFont(fontNormal_1);
ui->labelPoten->setStyleSheet(LABELGREYSTYLE);
ui->labelPoten->setFont(fontNormal_1);
ui->buttonGear->setFont(fontNormal_1);
ui->labelGearSwitch->setStyleSheet(LABELGREYSTYLE);
ui->labelGearSwitch->setFont(fontNormal_1);
ui->labelGear->setFont(fontNormal_1);
ui->labelGear->setStyleSheet(LABELGREYSTYLE);
ui->labelGearValue->setFont(fontNormal_1);
ui->labelGearValue->setStyleSheet(LABELGREYSTYLE);
//松紧线界面
ui->frameElasticCtrl->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonLocation1->setFont(fontNormal_1);
ui->buttonLocation2->setFont(fontNormal_1);
ui->buttonLocation3->setFont(fontNormal_1);
ui->buttonLocation4->setFont(fontNormal_1);
ui->labelPotenValue2->setStyleSheet(LABELGREYSTYLE);
ui->labelPotenValue2->setFont(fontNormal_1);
ui->labelPoten2->setStyleSheet(LABELGREYSTYLE);
ui->labelPoten2->setFont(fontNormal_1);
ui->labelLocation->setFont(fontNormal_1);
ui->labelLocation->setStyleSheet(LABELGREYSTYLE);
ui->labelLocationValue->setFont(fontNormal_1);
ui->labelLocationValue->setStyleSheet(LABELGREYSTYLE);
//设置可工作区域
ui->frameWorkArea->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonX1->setFont(fontNormal_1);
ui->buttonX2->setFont(fontNormal_1);
ui->buttonY1->setFont(fontNormal_1);
ui->buttonY2->setFont(fontNormal_1);
//定量移框
ui->frameQuantityMoveFrame->setStyleSheet(TRANSPARENTSTYLE);
ui->labelMoveX->setStyleSheet(LABELGREYSTYLE);
ui->labelMoveX->setFont(fontNormal_1);
ui->labelMoveY->setStyleSheet(LABELGREYSTYLE);
ui->labelMoveY->setFont(fontNormal_1);
ui->labelXUnit->setStyleSheet(LABELGREYSTYLE);
ui->labelXUnit->setFont(fontNormal_1);
ui->labelYUnit->setStyleSheet(LABELGREYSTYLE);
ui->labelYUnit->setFont(fontNormal_1);
ui->buttonMoveXValue->setFont(fontNormal_1);
ui->buttonMoveYValue->setFont(fontNormal_1);
//主轴角度旋转
ui->frameSpindleRotate->setStyleSheet(TRANSPARENTSTYLE);
ui->labelSpindleAngle->setStyleSheet(LABELGREYSTYLE);
ui->labelSpindleAngle->setFont(fontNormal_1);
ui->labelSpindleAngleUnit->setStyleSheet(LABELGREYSTYLE);
ui->labelSpindleAngleUnit->setFont(fontNormal_1);
ui->buttonSpindleAngleValue->setFont(fontNormal_1);
ui->button0->setFont(fontNormal_1);
ui->button90->setFont(fontNormal_1);
ui->button180->setFont(fontNormal_1);
ui->button270->setFont(fontNormal_1);
//机头切换毛巾平绣缠绕M轴
ui->frameNoseHead->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonHead1->setFont(fontNormal_1);
ui->buttonHead2->setFont(fontNormal_1);
ui->buttonHead3->setFont(fontNormal_1);
ui->labelNoseHead->setStyleSheet(LABELGREYSTYLE);
ui->labelNoseHead->setFont(fontNormal_1);
ui->labelNoseHeadValue->setStyleSheet(LABELGREYSTYLE);
ui->labelNoseHeadValue->setFont(fontNormal_1);
//界面解密
ui->frameHMIDecrypt->setStyleSheet(TRANSPARENTSTYLE);
ui->labelNetworkCardID->setStyleSheet(LABELGREYSTYLE);
ui->labelNetworkCardID->setFont(fontNormal_1);
ui->labelNetworkCardIDValue->setStyleSheet(LABELGREYSTYLE);
ui->labelNetworkCardIDValue->setFont(fontNormal_1);
ui->labelHMIPassword->setStyleSheet(LABELGREYSTYLE);
ui->labelHMIPassword->setFont(fontNormal_1);
ui->buttonHMIPassword->setFont(fontNormal_1);
ui->labelDecryptInfo->setStyleSheet(LABELGREYSTYLE);
ui->labelDecryptInfo->setFont(fontNormal_1);
ui->labelDecryptInfoValue->setStyleSheet(LABELGREYSTYLE);
ui->labelDecryptInfoValue->setFont(fontNormal_1);
//修改一级密码
ui->frameChangePassword->setStyleSheet(TRANSPARENTSTYLE);
ui->labelNewPassword->setStyleSheet(LABELGREYSTYLE);
ui->labelNewPassword->setFont(fontNormal_1);
ui->labelConfirmPassword->setStyleSheet(LABELGREYSTYLE);
ui->labelConfirmPassword->setFont(fontNormal_1);
ui->buttonNewPassword->setFont(fontNormal_1);
ui->buttonConfirmPassword->setFont(fontNormal_1);
//线迹偏移
ui->frameTraceOffset->setStyleSheet(TRANSPARENTSTYLE);
ui->labelTraceInfo->setStyleSheet(LABELGREYSTYLE);
ui->labelTraceInfo->setFont(fontNormal_1);
ui->labelTraceType->setStyleSheet(LABELGREYSTYLE);
ui->labelTraceType->setFont(fontNormal_1);
ui->buttonTraceOffset->setWhiteBlueBottomStyle();
ui->buttonTraceOffsetReset->setWhiteBlueBottomStyle();
ui->buttonCurTraceOffsetClear->setWhiteBlueBottomStyle();
ui->buttonTraceOffset->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonTraceOffset->objectName()),12);
ui->buttonTraceOffsetReset->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonTraceOffsetReset->objectName()),12);
ui->buttonCurTraceOffsetClear->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonCurTraceOffsetClear->objectName()),12);
//隔头绣
ui->frameHeadEmb->setStyleSheet(TRANSPARENTSTYLE);
ui->frameUpAndDown->setStyleSheet(TRANSPARENTSTYLE);
ui->labelCurColorOrder->setStyleSheet(LABELGREYSTYLE);
ui->labelCurColorOrder->setFont(fontNormal_1);
ui->buttonCurColorOrder->setFont(fontNormal_1);
ui->buttonCurColorOrderUp->setGreenGradientBottomStyle(BORDER_RADIUS1);
ui->buttonCurColorOrderUp->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonCurColorOrderUp->objectName()));
ui->buttonCurColorOrderDown->setGreenGradientBottomStyle(BORDER_RADIUS1);
ui->buttonCurColorOrderDown->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonCurColorOrderDown->objectName()));
ui->buttonOddEmb->setOrangeGradientBottomStyle(BORDER_RADIUS1);
ui->buttonOddEmb->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonOddEmb->objectName()));
ui->buttonEvenEmb->setOrangeGradientBottomStyle(BORDER_RADIUS1);
ui->buttonEvenEmb->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonEvenEmb->objectName()));
ui->buttonHeadClear->setOrangeGradientBottomStyle(BORDER_RADIUS1);
ui->buttonHeadClear->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonHeadClear->objectName()));
ui->frameWarrantBtn->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonWarrant->setWhiteBlueBottomStyle();
ui->buttonWarrant->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),12);
ui->buttonWarrantCancel->setWhiteBlueBottomStyle();
ui->buttonWarrantCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12);
}
void PromptDialog::initArabControlPos()
{
int language = g_pSettings->readFromInHMIiFile("HMI/language").toInt();
if(language != arabic)
{
return;
}
ui->labelTitle->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
ui->labelContent->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
ui->labelContentInfo->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
//ui->labelContentWarrant->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
ui->labelContentProcess->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
//手动换色
ui->labelCurNeedle->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelCurNeedleValue->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
//隔头绣
ui->labelCurColorOrder->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
//提升电机控制
ui->labelPoten->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelPotenValue->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelGear->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelGearValue->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelGearSwitch->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
//松紧线控制
ui->labelLocation->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelLocationValue->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelPoten2->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelPotenValue2->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
//定量移框
//ui->labelMoveX->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelXUnit->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
ui->labelMoveY->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelYUnit->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
//主轴角度旋转
ui->labelSpindleAngle->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
ui->labelSpindleAngleUnit->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
//平绣毛巾缠绕
ui->labelNoseHead->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelNoseHeadValue->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
//界面解密
ui->labelNetworkCardID->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelHMIPassword->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelDecryptInfo->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
//修改一级密码
ui->labelNewPassword->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui->labelConfirmPassword->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
//线迹偏移
ui->labelTraceInfo->setAlignment(Qt::AlignRight| Qt::AlignVCenter);
ui->labelTraceType->setAlignment(Qt::AlignLeft| Qt::AlignVCenter);
}
//刷新当前色序的机头工作号
void PromptDialog::refreshColorOrderHead()
{
if(sizeof(m_headBuf) < HEADBUF)
{
return;
}
//复制当前色序的全部工作机头缓存 128个机头
u8 curHeadBuf[16];
memcpy(curHeadBuf,m_headBuf+(m_curColorOrder-1)*sizeof(curHeadBuf),sizeof(curHeadBuf));
for(u32 i = 0; i < sizeof(curHeadBuf); i++)
{
s8 eachBuf = curHeadBuf[i];
for(int j = 0; j < 8; j++)
{
int idx = i*8+j;
if(((eachBuf >> j) & 1) == 1)
{
if(idx < m_buttonEmbHeadList.size())
{
m_buttonEmbHeadList.at(idx)->setStyleSheet(m_buttonStyle2);
}
}
else
{
if(idx < m_buttonEmbHeadList.size())
{
m_buttonEmbHeadList.at(idx)->setStyleSheet(m_buttonStyle1);
}
}
}
}
ui->buttonCurColorOrder->setText(QString::number(m_curColorOrder));
}
//设置标题
void PromptDialog::setTitleStr(QString str)
{
ui->labelTitle->setText(str);
}
//设置断线机头字体颜色 -rq
void PromptDialog::setStrColor(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labeBreakHead->setText(str);
ui->labeBreakHead->show();
// ui->labeBottomBreakHead->setText(str2);
// ui->labeBottomBreakHead->show();
}
//设置显示内容
void PromptDialog::setContentStr(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->setText("");//底线断线机头显示
ui->labeBottomBreakHead->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText(str);
ui->labelContent->show();
}
void PromptDialog::setContentProcessStr(QString str)
{
ui->frameProcess->show();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->setText("");//底线断线机头显示
ui->labeBottomBreakHead->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContentProcess->show();
ui->labelContentProcess->setText(str);
}
void PromptDialog::setContentInfoShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentWarrant->hide();
ui->labelContentInfo->show();
}
void PromptDialog::setContentWarrantShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->labeBottomBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labelContentWarrant->show();
}
void PromptDialog::setContentHMIDecryptShow(QString id)
{
//将id中的冒号去掉
QStringList strlist = id.split(":", QString::SkipEmptyParts);
QString nId;
nId.clear();
for(int i = 0; i < strlist.size(); i++)
{
nId += strlist[i];
}
ui->labelNetworkCardIDValue->setText(nId);
ui->buttonHMIPassword->setText("");
QDir apppath(qApp->applicationDirPath());
QString HMIDecryptConfigfile;
HMIDecryptConfigfile = apppath.path() + apppath.separator() + "HMIDecryptConfig.ini";
QSettings iniSetting(HMIDecryptConfigfile, QSettings::IniFormat);
int decryptFlag = iniSetting.value("HMIDecrypt/ifdecrypt").toInt();
QFile iniFile(HMIDecryptConfigfile);
if(decryptFlag != 0 || !iniFile.exists())//等于1或者配置文件不存在
{
ui->labelDecryptInfoValue->setText("HMI decrypted");//界面已解密
}
else
{
ui->labelDecryptInfoValue->setText("HMI unresolved");//界面未解密
}
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setContentChangePasswordShow()//修改一级用户密码内容显示
{
ui->buttonNewPassword->setText("");
ui->buttonConfirmPassword->setText("");
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setValue(int progress)
{
ui->progressBar->setValue(progress);
}
void PromptDialog::setButtonUCancelStr(QString str)
{
ui->buttonUpdataCancel->setText(str);
}
void PromptDialog::setRange(int minimum, int maximum)
{
ui->progressBar->setRange(minimum,maximum);
}
//当前机头
void PromptDialog::setNoseHeadValueStr(int noseHeadValue)
{
if(noseHeadValue == 1) //平绣机头
{
ui->labelNoseHeadValue->setText(tr("Emb shead"));
}
else if(noseHeadValue == 2) // 毛巾机头
{
ui->labelNoseHeadValue->setText(tr("Chenille head"));
}
else if(noseHeadValue == 3) // 缠绕机头
{
ui->labelNoseHeadValue->setText(tr("Coil head"));
}
else
{
ui->labelNoseHeadValue->setText(tr("Unknown"));
}
}
//当前工作label是否可见
void PromptDialog::setNoseHeadStrVisible(bool bl)
{
ui->labelNoseHead->setVisible(bl);
ui->labelNoseHeadValue->setVisible(bl);
}
//电位器值
void PromptDialog::setPosValueStr(QString posValue)
{
ui->labelPotenValue->setText(posValue);//提升电机界面
ui->labelPotenValue2->setText(posValue);//松紧线控制界面
}
//档位值
void PromptDialog::setGearValueStr(int gearValue)
{
ui->labelGearValue->setText(QString::number(gearValue));//提升电机控制界面显示当前档位值
if(gearValue == 1) // 松紧线电机换色位
{
ui->labelLocationValue->setText(tr("Color"));
}
else if(gearValue == 2) // 松紧线电机剪线位
{
ui->labelLocationValue->setText(tr("Trim"));
}
else if(gearValue == 3) // 松紧线电机链式位
{
ui->labelLocationValue->setText(tr("Chain"));
}
else if(gearValue == 4) // 松紧线电机毛巾位
{
ui->labelLocationValue->setText(tr("Chenille"));
}
else
{
ui->labelLocationValue->setText(tr("Unknown location"));
}
}
//当前针杆
void PromptDialog::setCurNeedleStr(int type,QString idx,QString posValue)
{
QString potvalStr;
potvalStr.clear();
if(m_camColorChange == 1)//有凸轮换色功能
{
potvalStr =tr("Potentiometer value:")+posValue;//电位器值
}
else
{
potvalStr="";
}
if(type == 1) //平绣机头//默认显示 平绣针杆0
{
ui->labelCurNeedleValue->setText(tr("EmbNeedle: ")+idx+potvalStr);
}
else if(type == 2) // 毛巾机头
{
ui->labelCurNeedleValue->setText(tr("ChenilleNeedle: ")+idx+potvalStr);
}
else
{
ui->labelCurNeedleValue->setText(idx+potvalStr);
}
}
//当前针杆label是否可见
void PromptDialog::setCurNeedleStrVisible(bool bl)
{
ui->labelCurNeedle->setVisible(bl);
ui->labelCurNeedleValue->setVisible(bl);
}
//初始化针杆
void PromptDialog::initNeedleBar(int val)
{
//读入配置
QDir apppath(qApp->applicationDirPath());
//配置文件路径
QString configFile = apppath.path() + apppath.separator() + "config.ini";
QFile iniFile(configFile);
QRgb * pColorBuf = (QRgb *)(g_pSettings->getColorRgbArray().data());
QString buttonStyle3 = "QPushButton{outline: none;border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;";
QString buttonStyle4 = "QPushButton:checked{outline: none;border:3px groove rgb(80,80,80);}";
int num,idx;
num = idx = 0;
if(!iniFile.exists())
{
num = 1;
idx = 0;
QRgb rgb = pColorBuf[(idx % EMB_BF_SW_ND)];
rgb |= 0xff000000;
QColor bkcolor(rgb);
QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168);
QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";"
+ " color:" + tcolor.name() + ";";
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
if(i < num)
{
m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4);
m_buttonEmbNeedleList.at(i)->show();
}
else
{
m_buttonEmbNeedleList.at(i)->hide();
}
}
}
else
{
QRgb rgb = qRgb(0,255,0);
if(val == PRODUCT_EMB)
{
num = g_pSettings->readFromIniFile("EmbNeedle/number").toInt();
}
else if ( val == RODUCT_SEQUIN)
{
num = g_pSettings->readFromIniFile("SequinColor/number").toInt();
}
else if (val == PRODUCT_TOWEL)
{
//从配置文件里读有几个针杆,显示几个按钮
num = g_pSettings->readFromIniFile("TowelNeedle/number").toInt();
}
else if (val == PRODUCT_COIL)
{
//缠绕就一个针杆所以不显示
num = 0;
}
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)//针杆按钮
{
QString idxStr;
if(val == PRODUCT_EMB)
{
idxStr = "EmbNeedle/"+QString::number(i+1)+"_coloridx";
}
else if(val == RODUCT_SEQUIN)
{
idxStr = "SequinColor/"+QString::number(i+1)+"_coloridx";
}
else if(val == PRODUCT_TOWEL)
{
idxStr = "TowelNeedle/"+QString::number(i+1)+"_coloridx";
}
else if(val == PRODUCT_COIL)
{
idxStr = "CoilNeedle/"+QString::number(i+1)+"_coloridx";
}
if(g_pSettings->ifKeyExists(idxStr) == true)//判断配置文件中是否有这个key(TowelNeedle/1_coloridx)
{
idx = g_pSettings->readFromIniFile(idxStr).toInt();//从配置文件里读的第几个针杆的颜色
rgb = pColorBuf[(idx % EMB_BF_SW_ND)];
}
else
{
rgb = pColorBuf[(i % EMB_MC_SW_ND)];
}
rgb |= 0xff000000;
QColor bkcolor(rgb);
QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168);
QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";"
+ " color:" + tcolor.name() + ";";
if(i < num)//从配置文件里读有几个针杆,然后换色弹窗就显示几个
{
m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4);
m_buttonEmbNeedleList.at(i)->show();
}
else
{
m_buttonEmbNeedleList.at(i)->hide();
}
}
}
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
m_buttonEmbNeedleList.at(i)->setChecked(false);
m_buttonEmbNeedleList.at(i)->setCheckable(false);
}
ui->buttonOk->setEnabled(false);
// if(needle > 0)
// {
// // m_buttonEmbNeedleList.at(val-1)->setChecked(true);
// // m_buttonEmbNeedleList.at(val-1)->setCheckable(true);
// // ui->buttonOk->setEnabled(true);
// }
}
void PromptDialog::setHeadType(int headType)
{
m_headType = headType;
}
void PromptDialog::setHeadNum(int headNum)
{
m_totalHead = headNum;
}
//初始化亮片针杆
void PromptDialog::initSequinNeedleBar(int val)
{
QString buttonStyle3 = "QPushButton{outline: none;border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;";
QString buttonStyle4 = "QPushButton:checked{outline: none;border:3px groove rgb(80,80,80);}";
QColor bkcolor(255,255,255);
QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168);
QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";"
+ " color:" + tcolor.name() + ";";
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
if(i < val)//8
{
m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4);
m_buttonEmbNeedleList.at(i)->show();
}
else
{
m_buttonEmbNeedleList.at(i)->hide();
}
}
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
m_buttonEmbNeedleList.at(i)->setChecked(false);
m_buttonEmbNeedleList.at(i)->setCheckable(false);
}
ui->buttonOk->setEnabled(false);
}
//初始化平绣机头
void PromptDialog::initEmbHead(int headNum,int colorOrderNum,QString path)
{
m_totalColorOrder = colorOrderNum;
m_filePath = path + ".fcg";
for(int i = 0; i < m_buttonEmbHeadList.size(); i++)
{
if(i < headNum)
{
//m_buttonEmbHeadList.at(i)->setStyleSheet(buttonStyle1);
m_buttonEmbHeadList.at(i)->show();
}
else
{
m_buttonEmbHeadList.at(i)->hide();
}
}
if(headNum <= 0)
{
ui->buttonOddEmb->setEnabled(false);
ui->buttonEvenEmb->setEnabled(false);
ui->buttonOk->setEnabled(false);
}
else
{
ui->buttonOddEmb->setEnabled(true);
ui->buttonEvenEmb->setEnabled(true);
ui->buttonOk->setEnabled(true);
}
QFile file(m_filePath);
if(file.exists())//存在fcg文件
{
if(file.open(QIODevice::ReadOnly))
{
QByteArray ary = file.readAll();
if((u32)ary.size() >= sizeof(DataFileHead)+sizeof(m_headBuf))
{
memcpy(m_headBuf,ary.data()+sizeof(DataFileHead),sizeof(m_headBuf));
}
}
file.close();
}
m_curColorOrder = 1;
refreshColorOrderHead();
}
//初始化毛巾机头
void PromptDialog::initChenilleHead(int headNum)
{
QString buttonStyle3 = "QPushButton{outline: none;border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;";
QString buttonStyle4 = "QPushButton:checked{outline: none;border:3px groove rgb(80,80,80);}";
QColor bkcolor(255,255,255);
QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168);
QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";"
+ " color:" + tcolor.name() + ";";
for(int i = 0; i < m_buttonChenilleHeadList.size(); i++)
{
if(i < headNum)
{
m_buttonChenilleHeadList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4);
m_buttonChenilleHeadList.at(i)->show();
}
else
{
m_buttonChenilleHeadList.at(i)->hide();
}
}
for(int i = 0; i < m_buttonChenilleHeadList.size(); i++)
{
m_buttonChenilleHeadList.at(i)->setChecked(false);
m_buttonChenilleHeadList.at(i)->setCheckable(false);
}
ui->buttonOk->setEnabled(true);
}
QString PromptDialog::getNetworkCardID()
{
return ui->labelNetworkCardIDValue->text();
}
QString PromptDialog::getInputPassword()
{
return ui->buttonHMIPassword->text();
}
//获取线迹偏移类型
s16 PromptDialog::getTraceOffsetType()
{
s16 val = 0;
if(ui->buttonTraceOffset->isChecked())
{
val = 1;
}
else if(ui->buttonTraceOffsetReset->isChecked())
{
val = 2;
}
else if(ui->buttonCurTraceOffsetClear->isChecked())
{
val = 3;
}
return val;
}
void PromptDialog::slotMCInfoChange()
{
QString strInfo;
MCInfo info;//机器信息
char softwareVerStr[32+1];//软件版本
char mBoardVerStr[16+1];//主板n1板卡版本
char exBoardVerStr[16+1];//主板n1-1板卡版本
char buildInfoStr[32+1];//编译日期信息
info = g_pMachine->getMcInfo();
memcpy(softwareVerStr, info.softwareVerStr, 32);
memcpy(mBoardVerStr, info.mBoardVerStr, 16);
memcpy(exBoardVerStr, info.exBoardVerStr, 16);
memcpy(buildInfoStr, info.buildInfoStr, 32);
softwareVerStr[32] = 0;
mBoardVerStr[16]= 0;
exBoardVerStr[16]= 0;
buildInfoStr[32]=0;
QString strBoardVer;
strBoardVer.sprintf("%s", softwareVerStr);
QString strMBoardVer;
strMBoardVer.sprintf("%s", mBoardVerStr);
QString strExBoardVer;
strExBoardVer.sprintf("%s", exBoardVerStr);
QString strBuildInfo;
strBuildInfo.sprintf("%s", buildInfoStr);
if(strBoardVer.length() > 0 )
{
strBoardVer.remove(" ");//清除空格
}
strInfo += tr("Board:") + " " + strBoardVer + "\n"+
strBuildInfo+ "\n" +
strMBoardVer + "\n" +
strExBoardVer + "\n" ;
QString verInfo = "\n" + strInfo;
ui->labelContentInfo->setText(verInfo);
//连接多块主板也是从g_pMachine(第一块)获取软件授权信息
MCStatus mcStatus;
mcStatus = g_pMachine->getMcStatus(); //读的一个主板的可工作时间计数器(分钟)
MCInfo infoID;//机器信息
infoID = g_pMachine->getMcInfo();
QString IDStr(infoID.boardId);
if(IDStr.indexOf(":") != -1)
{
QStringList list = IDStr.split(":");
IDStr = list.at(1);
}
QString passwordStr(infoID.installment);
if(passwordStr.indexOf(":") != -1)
{
QStringList list = passwordStr.split(":");
passwordStr = list.at(1);
}
int time = mcStatus.workableTimer;//只在上电的时候读取
QString timeStr;
if( time > TIMELIMITMIN && time < TIMELIMITMAX)
{
timeStr = (tr("Unlimited time")); // 无时间限制
}
if(time <= 0)
{
timeStr = (tr("Time has run out")); // 时间已用完
}
if(time > 0 && time < TIMELIMITMIN)
{
QString strDay;
QString strHour;
QString strSec;
strDay = QString::number(time/(60 *24) , 10);
strHour = QString::number((time%(60 *24))/60 , 10) ;
strSec = QString::number(time%60 , 10);
timeStr = strDay + " " + tr("Day") + " " + strHour + " " + tr("Hour") + " " + strSec + " " + tr("Minutes") ; // 天 小时 分钟
}
QString strBoardInfo;
strBoardInfo = QString(tr("ID: %1\n")).arg(IDStr);
strBoardInfo += QString(tr("Password: %1\n")).arg(passwordStr);
strBoardInfo += QString(tr("Time: %1")).arg(timeStr);
ui->labelContentWarrant->setText(strBoardInfo);
}
//针杆按钮被点击
void PromptDialog::slotEmbNeedleBtnClick()
{
m_pEmbNeedleBtn = (QPushButton*) this->sender();
if(m_pEmbNeedleBtn == NULL)
{
return;
}
for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)
{
if(m_pEmbNeedleBtn == m_buttonEmbNeedleList.at(i))
{
m_selectNeedleIdx = i+1;
}
m_buttonEmbNeedleList.at(i)->setChecked(false);
m_buttonEmbNeedleList.at(i)->setCheckable(false);
}
m_pEmbNeedleBtn->setCheckable(true);
m_pEmbNeedleBtn->setChecked(true);
ui->buttonOk->setEnabled(true);
}
//机头按钮被点击
void PromptDialog::slotEmbHeadBtnClick()
{
if(sizeof(m_headBuf) < HEADBUF)
{
return;
}
QPushButton *headNeedleBtn = (QPushButton*) this->sender();
if(headNeedleBtn == NULL)
{
return;
}
int size = 16;//每个色序对应的机头数 16x8=128
u16 idx = 0;
u16 oft = 0;
for(int i = 0; i < m_buttonEmbHeadList.size(); i++)
{
if(headNeedleBtn == m_buttonEmbHeadList.at(i))
{
idx = i/8;
oft = i%8;
s8 eachBuf = m_headBuf[idx+(m_curColorOrder-1)*size];
if(((eachBuf >> oft) & 1) == 1)
{
m_headBuf[idx+(m_curColorOrder-1)*size] = ~((~(m_headBuf[idx+(m_curColorOrder-1)*size])) | (1 << oft));
}
else
{
m_headBuf[idx+(m_curColorOrder-1)*size] = m_headBuf[idx+(m_curColorOrder-1)*size] | (1 << oft);//0000 0001
}
break;
}
}
refreshColorOrderHead();
}
//毛巾机头被点击
void PromptDialog::slotChenilleHeadBtnClick()
{
//按钮被点击时,设置是否可按
QPushButton * m_pChenilleNeedleBtn = (QPushButton*) this->sender();
if(m_pChenilleNeedleBtn == NULL)
{
return;
}
for(int i = 0; i < m_buttonChenilleHeadList.size(); i++)
{
if(m_pChenilleNeedleBtn == m_buttonChenilleHeadList.at(i))
{
m_selectHeadleIdx = i+1;
}
m_buttonChenilleHeadList.at(i)->setChecked(false);
m_buttonChenilleHeadList.at(i)->setCheckable(false);
}
m_pChenilleNeedleBtn->setCheckable(true);
m_pChenilleNeedleBtn->setChecked(true);
//发送测试电位器
if(g_pMachine != NULL)
{
g_pMachine->testADC(3,m_selectHeadleIdx);//para2=3para3=所选的机头
m_adcFlagValue = 1;
}
}
//发送了测试电位器的命令para = 2
//void PromptDialog::slotTestADC(int m_adcFlag)
//{
// m_adcFlagValue = m_adcFlag;
//}
void PromptDialog::on_buttonOk_clicked()
{
if(m_funType == BTN_SPINDLE_ROTATE)
{
emit siEmbSpindleRotate(m_spindleAngle);
}
else if(m_funType == BTN_LIFTMOTORCONTROL)//点击确认按钮发命令,但是不会关闭弹窗
{
emit siLiftMotorCtrl(m_gearValue);//档位值
}
else if(m_funType == BTN_ELASTICCONTROL)//点击确认按钮发命令,但是不会关闭弹窗
{
emit siElasticCtrlPos(m_elasticWirePos);
}
else
{
if(m_adcFlagValue == 1)//发送了测试电位器的命令
{
if(g_pMachine != NULL)
{
g_pMachine->testADC(0);//退出测试电位器
m_adcFlagValue =-1;
}
}
done(1);
}
}
void PromptDialog::on_buttonCancel_clicked()
{
done(0);
}
void PromptDialog::on_buttonRename_clicked()
{
done(1);
}
void PromptDialog::on_buttonReplace_clicked()
{
done(2);
}
void PromptDialog::on_buttonSkip_clicked()
{
done(0);
}
//重启
void PromptDialog::on_buttonRestart_clicked()
{
#ifdef Q_OS_WIN
qApp->exit();
#endif
#ifdef Q_OS_LINUX
system("reboot");
#endif
}
//升级中断
void PromptDialog::on_buttonUpdataCancel_clicked()
{
emit(siUpdataCancel());
done(0);
}
void PromptDialog::on_buttonWarrant_clicked()
{
//输入框
WordsInputDialog wordInputDlg;
wordInputDlg.clean();
wordInputDlg.setTitleStr(tr("Warrant"));
wordInputDlg.setOldWordsStr("");
if(wordInputDlg.exec() == 1)
{
QString textStr = wordInputDlg.getInputStr();
g_pMachine->setMacKey(( unsigned char * ) textStr.toLatin1().data() ,textStr.toLatin1().size());
done(1);
}
}
void PromptDialog::on_buttonWarrantCancel_clicked()
{
done(0);
}
//机头显示
void PromptDialog::on_buttonCurColorOrder_clicked()
{
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("Color order num"));//色序号
ndlg.setUnitStr("");
ndlg.setValueAndRange(m_curColorOrder, 1, m_totalColorOrder, 0);
rslt = ndlg.exec();
if (rslt == 1)
{
s32 val = ndlg.getValue();
m_curColorOrder = val;
refreshColorOrderHead();
}
}
//上一个色序
void PromptDialog::on_buttonCurColorOrderUp_clicked()
{
m_curColorOrder--;
if(m_curColorOrder <= 0)
{
m_curColorOrder = 1;
}
refreshColorOrderHead();
}
//下一个色序
void PromptDialog::on_buttonCurColorOrderDown_clicked()
{
m_curColorOrder++;
if(m_curColorOrder > m_totalColorOrder)
{
m_curColorOrder = m_totalColorOrder;
}
refreshColorOrderHead();
}
//奇数隔头
void PromptDialog::on_buttonOddEmb_clicked()
{
int size = 16;//每个色序对应的机头数 16x8=128
int preIdx = -1;
int idx = 0;
s8 oddVal = -86;//奇 1010 1010
for(int i = 0; i < m_buttonEmbHeadList.size(); i++)
{
idx = i/8;
if(preIdx != idx)
{
m_headBuf[idx+(m_curColorOrder-1)*size] = oddVal;
}
preIdx = idx;
}
refreshColorOrderHead();
}
//偶数隔头
void PromptDialog::on_buttonEvenEmb_clicked()
{
int size = 16;//每个色序对应的机头数 16x8=128
int preIdx = -1;
int idx = 0;
s8 evenVal = 85;//偶 0101 0101
for(int i = 0; i < m_buttonEmbHeadList.size(); i++)
{
idx = i/8;
if(preIdx != idx)
{
m_headBuf[idx+(m_curColorOrder-1)*size] = evenVal;
}
preIdx = idx;
}
refreshColorOrderHead();
}
//清除隔头
void PromptDialog::on_buttonHeadClear_clicked()
{
memset(m_headBuf,0,sizeof(m_headBuf));
refreshColorOrderHead();
}
//开始检测
void PromptDialog::on_buttonDetectBegin_clicked()
{
if(m_funType == BTN_BOTTOM)//等于底线检测
{
//底线检测开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
if(m_headType == FLATEMB)
{
g_pMachine->testThreadBK(BOTTOM,m_selectNeedleIdx,FLATEMB);
}
else if(m_headType == COIL)
{
g_pMachine->testThreadBK(BOTTOM,1,COIL);
}
}
return;
}
if(m_funType == BTN_FACE)//等于面线检测
{
//面线检测开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
if(m_headType == FLATEMB)
{
g_pMachine->testThreadBK(NOODLES,m_selectNeedleIdx,FLATEMB);
}
else if(m_headType == COIL)
{
g_pMachine->testThreadBK(NOODLES,1,COIL);//缠绕就一个针杆
}
}
return;
}
if(m_funType == BTN_HOOK_TEST)//等于勾刀检测
{
//勾刀检测开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
g_pMachine->outputCtrl(OT_TEST_HOOK,UP_OPEN_ON, 0);//1启动0停止
}
return;
}
if(m_funType == BTN_FOOT_TEST)//等于独立压脚
{
//独立压脚测试开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
g_pMachine->footTest();
}
return;
}
}
//停止检测
void PromptDialog::on_buttonDetectEnd_clicked()
{
//绣花机才有所以是g_pMachine(第一块)
if(m_funType == BTN_HOOK_TEST)//等于勾刀检测
{
if(g_pMachine != NULL)
{
g_pMachine->outputCtrl(OT_TEST_HOOK,OT_STOP, 0);
}
}
else if(m_funType == BTN_FOOT_TEST)//等于独立压脚
{
//独立压脚测试开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
g_pMachine->manualAction(TEST_EMB_FOOT,OT_STOP,1);
}
}
else//停止面线、底线检测
{
if(g_pMachine != NULL)
{
g_pMachine->exitDetectTest();
}
}
}
//关闭检测窗体
void PromptDialog::on_buttonDetectClose_clicked()
{
//退出弹窗的时候也发一个 停止检测 的命令 -rq
if(m_funType == BTN_BOTTOM || m_funType == BTN_FACE)//等于面线、底线检测
{
if(g_pMachine != NULL)
{
g_pMachine->exitDetectTest();
}
}
else if(m_funType == BTN_FOOT_TEST)//等于独立压脚
{
//独立压脚测试开始绣花机才有所以是g_pMachine(第一块)
if(g_pMachine != NULL)
{
g_pMachine->manualAction(TEST_EMB_FOOT,OT_STOP,1);
}
}
done(0);
}
//定量移框X输入
void PromptDialog::on_buttonMoveXValue_clicked()
{
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("X mobile quantity"));//X移动量
ndlg.setUnitStr("mm");
int val = 2;
if(m_stepDrive == 1)//有步进电机驱动
{
val = 1;
}
ndlg.setValueAndRange(ui->buttonMoveXValue->text().toInt()*100, S32_MIN, S32_MAX,val);
rslt = ndlg.exec();
if (rslt == 1)
{
QString xStr;
s32 val = ndlg.getValue();
m_moveX = val;//定量移框X值
if(m_stepDrive == 1)
{
float x = m_moveX*0.1;
xStr.sprintf("%.1f",x);
}
else if(m_stepDrive == 0)
{
float x = m_moveX*0.01;
xStr.sprintf("%.2f",x);
}
ui->buttonMoveXValue->setText(xStr);
}
}
//定量移框Y输入
void PromptDialog::on_buttonMoveYValue_clicked()
{
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("Y mobile quantity"));//Y移动量
ndlg.setUnitStr("mm");
int val = 2;
if(m_stepDrive == 1)//有步进电机驱动
{
val = 1;
}
ndlg.setValueAndRange(ui->buttonMoveYValue->text().toInt()*100, S32_MIN, S32_MAX, val);
rslt = ndlg.exec();
if (rslt == 1)
{
QString yStr;
s32 val = ndlg.getValue();
m_moveY = val;//定量移框Y值
if(m_stepDrive == 1)
{
float y = m_moveY*0.1;
yStr.sprintf("%.1f",y);
}
else if(m_stepDrive == 0)
{
float y = m_moveY*0.01;
yStr.sprintf("%.2f",y);
}
ui->buttonMoveYValue->setText(yStr);
}
}
//界面解密ID号输入按钮
void PromptDialog::on_buttonHMIPassword_clicked()
{
//输入框
WordsInputDialog wordInputDlg;
wordInputDlg.clean();
wordInputDlg.setTitleStr(tr("HMI decrypt"));
wordInputDlg.setOldWordsStr("");
if(wordInputDlg.exec() == 1)
{
QString textStr = wordInputDlg.getInputStr();
ui->buttonHMIPassword->setText(textStr);
if(textStr.length() > 0)
{
ui->buttonOk->setEnabled(true);
}
}
}
void PromptDialog::on_buttonSpindleAngleValue_clicked()
{
QTextCodec *cod = QTextCodec::codecForLocale();
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("Spindle angle rotation"));//主轴角度旋转
ndlg.setUnitStr(cod->toUnicode("°"));
ndlg.setValueAndRange(ui->buttonSpindleAngleValue->text().toInt()*100, 0, 36000, 2);
rslt = ndlg.exec();
if (rslt == 1)//输入弹窗点击了确认
{
s32 val = ndlg.getValue();
m_spindleAngle = val;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
}
//修改一级密码:新密码输入按钮
void PromptDialog::on_buttonNewPassword_clicked()
{
//密码输入框
PassWordDialog passWordDlg;
passWordDlg.setTitleStr(tr("New Password input"));//设置新密码输入的标题
if(passWordDlg.exec() == 1)//确认
{
m_newPassword = passWordDlg.getInputStr();//获取输入框里的密码
QString showStr("");
for (int var = 0; var < m_newPassword.size(); var++)
{
showStr = showStr + "*";
}
ui->buttonNewPassword->setText(showStr);//新密码框里显示获取的密码
}
}
//修改一级密码:确认新密码输入按钮
void PromptDialog::on_buttonConfirmPassword_clicked()
{
//密码输入框
PassWordDialog passWordDlg;
passWordDlg.setTitleStr(tr("Confirm Password input"));//设置确认密码输入的标题
if(passWordDlg.exec() == 1)//确认
{
m_confirmPassword = passWordDlg.getInputStr();//获取输入框里的密码
QString showStr("");
for (int var = 0; var < m_confirmPassword.size(); var++)
{
showStr = showStr + "*";
}
ui->buttonConfirmPassword->setText(showStr);//确认密码框里显示获取的密码
if(m_confirmPassword.length() > 0 )
{
ui->buttonOk->setEnabled(true);
}
}
}
//平绣主轴正转
void PromptDialog::on_buttonForward_pressed()
{
emit siEmbSpindleAction(MT_MOVE_DIR_POSI);
}
//平绣主轴正转停止
void PromptDialog::on_buttonForward_released()
{
emit siEmbSpindleAction(MT_MOVE_DIR_STOP);
}
//平绣主轴反转
void PromptDialog::on_buttonReverse_pressed()
{
emit siEmbSpindleAction(MT_MOVE_DIR_NEGA);
}
//平绣主轴反转停止
void PromptDialog::on_buttonReverse_released()
{
emit siEmbSpindleAction(MT_MOVE_DIR_STOP);
}
//线迹偏移
void PromptDialog::on_buttonTraceOffset_clicked()
{
ui->labelTraceType->setText(tr("Trace offset"));//线迹偏移
ui->buttonTraceOffset->setCheckable(true);
ui->buttonTraceOffset->setChecked(true);
ui->buttonTraceOffsetReset->setChecked(false);
ui->buttonCurTraceOffsetClear->setChecked(false);
}
//所有线迹偏移复位
void PromptDialog::on_buttonTraceOffsetReset_clicked()
{
ui->labelTraceType->setText(tr("Trace offset data reset"));//线迹偏移数据复位
ui->buttonTraceOffsetReset->setCheckable(true);
ui->buttonTraceOffsetReset->setChecked(true);
ui->buttonTraceOffset->setChecked(false);
ui->buttonCurTraceOffsetClear->setChecked(false);
}
//清除当前线迹偏移
void PromptDialog::on_buttonCurTraceOffsetClear_clicked()
{
ui->labelTraceType->setText(tr("Clear the trace offset data of the current index"));//清除当前索引的线迹偏移数据
ui->buttonCurTraceOffsetClear->setCheckable(true);
ui->buttonCurTraceOffsetClear->setChecked(true);
ui->buttonTraceOffset->setChecked(false);
ui->buttonTraceOffsetReset->setChecked(false);
}
//平绣
void PromptDialog::on_buttonHead1_clicked()
{
ui->buttonHead2->setStyleSheet(m_buttonStyle2);
ui->buttonHead1->setStyleSheet(m_buttonStyle1);
ui->buttonHead3->setStyleSheet(m_buttonStyle2);
if(g_emMacType == MACHINE_EMB||
g_emMacType == QUIMACHINE_EMB)
{
m_noseHead = FLATEMB;
}
}
//毛巾
void PromptDialog::on_buttonHead2_clicked()
{
ui->buttonHead2->setStyleSheet(m_buttonStyle1);
ui->buttonHead1->setStyleSheet(m_buttonStyle2);
ui->buttonHead3->setStyleSheet(m_buttonStyle2);
if(g_emMacType == MACHINE_EMB ||
g_emMacType == QUIMACHINE_EMB)
{
if(m_funType == BTN_TRIMDOWN)//下剪线
{
m_noseHead = COIL;
}
else if(m_funType == BTN_MSPINDLE_ROTATE)
{
m_noseHead = TOWELM;
}
else
{
int towel = g_pSettings->readFromInHMIiFile("HMI/towel").toInt();//是否有毛巾功能
int coil = g_pSettings->readFromInHMIiFile("HMI/coil").toInt();//是否有缠绕功能
if(towel == 1 && coil != 1)
{
m_noseHead = TOWEL;
}
else if(coil == 1 && towel != 1)
{
m_noseHead = COIL;
}
else if(coil == 1 && towel == 1)
{
m_noseHead = TOWEL;
}
}
}
}
void PromptDialog::on_buttonHead3_clicked()
{
ui->buttonHead2->setStyleSheet(m_buttonStyle2);
ui->buttonHead1->setStyleSheet(m_buttonStyle2);
ui->buttonHead3->setStyleSheet(m_buttonStyle1);
if(g_emMacType == MACHINE_EMB||
g_emMacType == QUIMACHINE_EMB)
{
if(m_funType == BTN_MSPINDLE_ROTATE)
{
m_noseHead = COILM;
}
else
{
m_noseHead = COIL;
}
}
}
//提升电机控制界面,档位切换按钮
void PromptDialog::on_buttonGear_clicked()
{
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("Gear switch"));//档位切换
ndlg.setUnitStr("");
ndlg.setValueAndRange(ui->buttonGear->text().toInt(), 1, 11, 0);
rslt = ndlg.exec();
if (rslt == 1)
{
s32 val = ndlg.getValue();
m_gearValue = val;//档位值
ui->buttonGear->setText(QString("%1").arg(m_gearValue)); //int转成QString
}
}
// 松紧线电机换色位
void PromptDialog::on_buttonLocation1_clicked()
{
ui->buttonLocation1->setStyleSheet(m_buttonStyle1);
ui->buttonLocation2->setStyleSheet(m_buttonStyle2);
ui->buttonLocation3->setStyleSheet(m_buttonStyle2);
ui->buttonLocation4->setStyleSheet(m_buttonStyle2);
m_elasticWirePos = ELASTICWIRE_COLORCHANGE_POS;
}
// 松紧线电机剪线位
void PromptDialog::on_buttonLocation2_clicked()
{
ui->buttonLocation1->setStyleSheet(m_buttonStyle2);
ui->buttonLocation2->setStyleSheet(m_buttonStyle1);
ui->buttonLocation3->setStyleSheet(m_buttonStyle2);
ui->buttonLocation4->setStyleSheet(m_buttonStyle2);
m_elasticWirePos = ELASTICWIRE_TRIMMING_POS;
}
// 松紧线电机链式位
void PromptDialog::on_buttonLocation3_clicked()
{
ui->buttonLocation1->setStyleSheet(m_buttonStyle2);
ui->buttonLocation2->setStyleSheet(m_buttonStyle2);
ui->buttonLocation3->setStyleSheet(m_buttonStyle1);
ui->buttonLocation4->setStyleSheet(m_buttonStyle2);
m_elasticWirePos = ELASTICWIRE_CHAIN_POS;
}
// 松紧线电机毛巾位
void PromptDialog::on_buttonLocation4_clicked()
{
ui->buttonLocation1->setStyleSheet(m_buttonStyle2);
ui->buttonLocation2->setStyleSheet(m_buttonStyle2);
ui->buttonLocation3->setStyleSheet(m_buttonStyle2);
ui->buttonLocation4->setStyleSheet(m_buttonStyle1);
m_elasticWirePos = ELASTICWIRE_CHENILLE_POS;
}
void PromptDialog::on_buttonX1_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_RIGHT, 2);//速度等级默认是2
}
}
void PromptDialog::on_buttonX1_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_RIGHT, MT_MOVE_DIR_STOP, 0);
}
m_area = 2;
}
void PromptDialog::on_buttonX2_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_LEFT, 2);
}
}
void PromptDialog::on_buttonX2_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_LEFT, MT_MOVE_DIR_STOP, 0);
}
m_area = 1;
}
void PromptDialog::on_buttonY1_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_FRONT, 2);
}
}
//Y+
void PromptDialog::on_buttonY1_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_FRONT, MT_MOVE_DIR_STOP, 0);
}
m_area = 4;
}
void PromptDialog::on_buttonY2_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_BACK, 2);
}
}
//Y-
void PromptDialog::on_buttonY2_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_BACK, MT_MOVE_DIR_STOP, 0);
}
m_area = 3;
}
//主轴旋转角度 90度
void PromptDialog::on_button90_clicked()
{
m_spindleAngle = 9000;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
void PromptDialog::on_button180_clicked()
{
m_spindleAngle = 18000;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
void PromptDialog::on_button270_clicked()
{
m_spindleAngle = 27000;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
void PromptDialog::on_button0_clicked()
{
m_spindleAngle = 0;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}