2024-02-06 06:27:07 +00:00
# include " colorordersetwidget.h "
# include "ui_colorordersetwidget.h"
ColorOrderSetWidget : : ColorOrderSetWidget ( QWidget * parent ) :
QWidget ( parent ) ,
ui ( new Ui : : ColorOrderSetWidget ) ,
m_itemPerPage ( 72 ) ,
m_pEmbNeedleBtn ( NULL ) ,
m_pColorBtn ( NULL )
{
ui - > setupUi ( this ) ;
setWindowFlags ( Qt : : Window | Qt : : FramelessWindowHint ) ;
setWindowModality ( Qt : : ApplicationModal ) ;
m_mousePressX = 0 ;
m_mousePressY = 0 ;
m_mouseReleaseX = 0 ;
m_mouseReleaseY = 0 ;
m_greyBeginStep = 0 ; //灰色起始
m_greyEndStep = 0 ; //灰色结束
initWidget ( ) ;
initControl ( ) ;
initNeedleBar ( ) ;
refreshLockBtn ( ) ;
initArabControlPos ( ) ;
}
ColorOrderSetWidget : : ~ ColorOrderSetWidget ( )
{
if ( m_pCurEmbData ! = NULL )
{
delete m_pCurEmbData ;
}
delete ui ;
}
void ColorOrderSetWidget : : initWidget ( )
{
m_pCurEmbData = new EmbData ( ) ;
m_pCurEmbData - > initColor ( g_pSettings - > getColorRgbArray ( ) . size ( ) , ( QRgb * ) g_pSettings - > getColorRgbArray ( ) . data ( ) ) ;
int coil = g_pSettings - > readFromInHMIiFile ( " HMI/coil " ) . toInt ( ) ; //是否有缠绕功能
if ( coil = = 1 )
{
ui - > buttonExplanation - > setVisible ( true ) ; //缠绕的解释说明
}
else
{
ui - > buttonExplanation - > setVisible ( false ) ;
}
int laser = g_pSettings - > readFromInHMIiFile ( " HMI/laser " ) . toInt ( ) ; //是否有激光功能
if ( laser = = 1 )
{
ui - > buttonColorLaser - > setVisible ( true ) ; //设置激光的快捷色序
}
else
{
ui - > buttonColorLaser - > setVisible ( false ) ;
}
int combineEmb = g_pSettings - > readFromInHMIiFile ( " HMI/combineEmb " ) . toInt ( ) ; //是否有双头组合绣功能
//是否显示双头组合按钮
if ( combineEmb = = 1 )
{
ui - > buttonCombineEmb - > setVisible ( true ) ;
}
else
{
ui - > buttonCombineEmb - > setVisible ( false ) ;
}
int threeCombineEmb = g_pSettings - > readFromInHMIiFile ( " HMI/threeCombineEmb " ) . toInt ( ) ; //是否有三头组合绣功能
//是否显示双头组合按钮
if ( threeCombineEmb = = 1 )
{
ui - > buttonThreeCombineEmb - > setVisible ( true ) ;
}
else
{
ui - > buttonThreeCombineEmb - > setVisible ( false ) ;
}
int headEmb = g_pSettings - > readFromInHMIiFile ( " HMI/headEmb " ) . toInt ( ) ; //是否有隔头绣功能
//是否显示隔头绣按钮
if ( headEmb = = 1 )
{
ui - > buttonHeadEmb - > setVisible ( true ) ;
}
else
{
ui - > buttonHeadEmb - > setVisible ( false ) ;
}
m_colorBeginStepCtrl = 0 ;
m_colorEndStepCtrl = 0 ;
m_curSelectColor = - 1 ;
m_curPages = 1 ;
m_pageNums = 1 ;
m_combineEmb = 1 ; //双头组合绣
m_threeCombineEmb = 1 ; //三头组合绣
m_combineEmbFirst = 1 ;
m_threeCombineEmbFirst = 1 ;
m_colorOrderLimitFlag = 0 ;
m_refreshColorOrder = 1 ; //是否刷新花版色序的标志
memset ( m_headBuf , 0 , sizeof ( m_headBuf ) ) ;
m_colorSetBtnLockFlag = 1 ; //锁住
m_setType = TYPE_COLORSET ;
m_fileType = FILE_TYPE_DST ;
m_pColorBuf = ( QRgb * ) ( g_pSettings - > getColorRgbArray ( ) . data ( ) ) ;
m_buttonStyle1 = " QPushButton{outline: none;border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px; " ;
m_buttonStyle2 = " QPushButton:checked{outline: none;border:3px groove rgb(80,80,80);} " ;
m_buttonColorOrderList . clear ( ) ; //色序按钮
for ( int i = 0 ; i < m_itemPerPage ; i + + )
{
MyButton * buttonColorOrder = new MyButton ( ui - > frameColorOrder ) ;
m_buttonColorOrderList . append ( buttonColorOrder ) ;
connect ( buttonColorOrder ,
SIGNAL ( clicked ( ) ) ,
this ,
SLOT ( colorOrderBtnClick ( ) )
) ;
}
m_buttonEmbNeedleList . clear ( ) ; //针杆按钮
for ( int i = 0 ; i < 32 ; i + + )
{
QPushButton * buttonEmbNeedle = new QPushButton ( ui - > frameColorOrder ) ;
m_buttonEmbNeedleList . append ( buttonEmbNeedle ) ;
connect ( buttonEmbNeedle ,
SIGNAL ( pressed ( ) ) ,
this ,
SLOT ( embNeedleBtnPressed ( ) ) ) ;
connect ( buttonEmbNeedle ,
SIGNAL ( released ( ) ) ,
this ,
SLOT ( embNeedleBtnReleased ( ) ) ) ;
}
}
void ColorOrderSetWidget : : initControl ( )
{
//根据不同分辨率设置控件的位置和尺寸
switch ( g_emResolut )
{
case resolution1910 :
initResolution1910 ( ) ;
break ;
case resolution1006 :
initResolution1006 ( ) ;
break ;
default :
this - > resize ( 1920 , 1080 ) ;
break ;
}
int towel = g_pSettings - > readFromInHMIiFile ( " HMI/towel " ) . toInt ( ) ; //是否有毛巾功能
int coil = g_pSettings - > readFromInHMIiFile ( " HMI/coil " ) . toInt ( ) ; //是否有缠绕功能
int laser = g_pSettings - > readFromInHMIiFile ( " HMI/laser " ) . toInt ( ) ; //是否有激光功能
//右上方色序锁住按钮是否可见
if ( ( g_emMacType = = MACHINE_EMB & & towel = = 1 ) | | //绣花机带毛巾
( g_emMacType = = MACHINE_EMB & & coil = = 1 ) | | //绣花机带缠绕
( g_emMacType = = MACHINE_EMB & & laser = = 1 ) //绣花机带激光
)
{
ui - > buttonColorSetLock - > setVisible ( true ) ;
}
else
{
ui - > buttonColorSetLock - > setVisible ( false ) ;
}
initControlStyle ( ) ; //初始化窗体控件样式
}
void ColorOrderSetWidget : : initResolution1910 ( )
{
this - > resize ( 1920 , 1080 ) ;
ui - > frameBack - > setGeometry ( 0 , 0 , 1920 , 1080 ) ;
ui - > buttonTypeLogo - > setGeometry ( 128 , 66 , 78 , 78 ) ;
ui - > labelMainTitle - > setGeometry ( 226 , 60 , 400 , 44 ) ;
ui - > labelSubTitle - > setGeometry ( 302 , 112 , 1000 , 36 ) ;
ui - > frameRightUp - > setGeometry ( 1130 , 92 , 768 , 72 ) ;
ui - > buttonColorOrderClear - > setGeometry ( 692 , 0 , 66 , 66 ) ;
ui - > buttonColorOrderCycle - > setGeometry ( 604 , 0 , 66 , 66 ) ;
ui - > buttonColorSetLock - > setGeometry ( 516 , 0 , 66 , 66 ) ;
ui - > buttonHeadEmb - > setGeometry ( 428 , 0 , 66 , 66 ) ;
ui - > buttonCombineEmb - > setGeometry ( 340 , 0 , 66 , 66 ) ;
ui - > buttonThreeCombineEmb - > setGeometry ( 252 , 0 , 66 , 66 ) ;
ui - > buttonExplanation - > setGeometry ( 164 , 0 , 66 , 66 ) ;
ui - > buttonColorLaser - > setGeometry ( 76 , 0 , 66 , 66 ) ;
ui - > buttonRefreshColorOrder - > setGeometry ( 0 , 0 , 66 , 66 ) ;
ui - > frameColorOrder - > setGeometry ( 84 , 220 , 1344 , 704 ) ;
ui - > buttonNeedle - > setGeometry ( 0 , 0 , 200 , 52 ) ;
QRect rectImage ( 0 , 0 , 88 , 52 ) ;
QRect rectName ( 38 , 47 , 44 , 28 ) ;
QRect rectValue ( 0 , 0 , 88 , 52 ) ;
for ( int i = 0 ; i < 6 ; i + + )
{
int num = m_buttonColorOrderList . size ( ) / 6 ;
for ( int j = 0 ; j < num ; j + + )
{
m_buttonColorOrderList [ i * num + j ] - > setGeometry ( j * 114 , 220 + i * 82 , 88 , 80 ) ;
m_buttonColorOrderList [ i * num + j ] - > initUpImageDownName ( rectImage , rectName ) ;
m_buttonColorOrderList [ i * num + j ] - > initLabelValue ( rectValue ) ;
m_buttonColorOrderList [ i * num + j ] - > setLabelNameFont ( fontNormal_3 ) ;
m_buttonColorOrderList [ i * num + j ] - > setLabelValueFont ( fontNormal_1 ) ;
m_buttonColorOrderList [ i * num + j ] - > setStyleSheet ( " border:0px;outline:none; " ) ; //无边框、无焦点
}
}
for ( int i = 0 ; i < 3 ; i + + )
{
int num , xSp , idx ;
if ( i = = 0 )
{
num = 10 ; //第一行10个
xSp = 228 ;
idx = 0 ;
}
else if ( i = = 1 )
{
num = 12 ; //第二行12个
xSp = 0 ;
idx = 10 ;
}
else if ( i = = 2 )
{
num = 10 ; //第三行10个
xSp = 0 ;
idx = 22 ;
}
for ( int j = 0 ; j < num ; j + + )
{
m_buttonEmbNeedleList [ idx + j ] - > setGeometry ( xSp + j * 114 , i * 70 , 88 , 52 ) ;
m_buttonEmbNeedleList [ idx + j ] - > setFont ( fontNormal_1 ) ;
m_buttonEmbNeedleList [ idx + j ] - > setText ( QString : : number ( idx + j + 1 ) ) ;
}
}
ui - > labelPatternView - > setGeometry ( 1536 , 220 , 302 , 302 ) ;
ui - > labelNameValue - > setGeometry ( 1538 , 564 , 400 , 36 ) ;
ui - > labelTotalNeedle - > setGeometry ( 1538 , 604 , 200 , 36 ) ;
ui - > labelTotalNeedleValue - > setGeometry ( 1760 , 604 , 94 , 36 ) ;
ui - > labelTotalColor - > setGeometry ( 1538 , 644 , 200 , 36 ) ;
ui - > labelTotalColorValue - > setGeometry ( 1760 , 644 , 94 , 36 ) ;
ui - > labelCurColorNum - > setGeometry ( 1538 , 684 , 200 , 36 ) ;
ui - > labelCurColorNumValue - > setGeometry ( 1760 , 684 , 94 , 36 ) ;
ui - > labelBeginIdx - > setGeometry ( 1538 , 724 , 200 , 36 ) ;
ui - > labelBeginIdxValue - > setGeometry ( 1760 , 724 , 94 , 36 ) ;
ui - > labelEndIdx - > setGeometry ( 1538 , 764 , 200 , 36 ) ;
ui - > labelEndIdxValue - > setGeometry ( 1760 , 764 , 94 , 36 ) ;
ui - > labelNeedleSelect - > setGeometry ( 1538 , 804 , 180 , 36 ) ;
ui - > labelNeedleSelectValue - > setGeometry ( 1655 , 804 , 200 , 36 ) ;
ui - > framePageBtn - > setGeometry ( 1120 , 990 , 800 , 70 ) ;
ui - > labelPage - > setGeometry ( 32 , 1008 , 400 , 40 ) ;
ui - > buttonPgUp - > setGeometry ( 0 , 0 , 168 , 70 ) ;
ui - > buttonPgDn - > setGeometry ( 200 , 0 , 168 , 70 ) ;
ui - > buttonOk - > setGeometry ( 400 , 0 , 168 , 70 ) ;
ui - > buttonCancel - > setGeometry ( 600 , 0 , 168 , 70 ) ;
}
void ColorOrderSetWidget : : initResolution1006 ( )
{
this - > resize ( 1024 , 600 ) ;
ui - > frameBack - > setGeometry ( 0 , 0 , 1024 , 600 ) ;
ui - > buttonTypeLogo - > setGeometry ( 25 , 30 , 60 , 60 ) ;
ui - > labelMainTitle - > setGeometry ( 100 , 30 , 200 , 24 ) ;
ui - > labelSubTitle - > setGeometry ( 130 , 64 , 240 , 21 ) ;
ui - > frameRightUp - > setGeometry ( 500 , 40 , 857 , 61 ) ;
ui - > buttonColorOrderClear - > setGeometry ( 456 , 0 , 50 , 50 ) ;
ui - > buttonColorOrderCycle - > setGeometry ( 399 , 0 , 50 , 50 ) ;
ui - > buttonColorSetLock - > setGeometry ( 342 , 0 , 50 , 50 ) ;
ui - > buttonHeadEmb - > setGeometry ( 285 , 0 , 50 , 50 ) ;
ui - > buttonCombineEmb - > setGeometry ( 228 , 0 , 50 , 50 ) ;
ui - > buttonThreeCombineEmb - > setGeometry ( 171 , 0 , 50 , 50 ) ;
ui - > buttonExplanation - > setGeometry ( 114 , 0 , 50 , 50 ) ;
ui - > buttonColorLaser - > setGeometry ( 57 , 0 , 50 , 50 ) ;
ui - > buttonRefreshColorOrder - > setGeometry ( 0 , 0 , 50 , 50 ) ;
ui - > frameColorOrder - > setGeometry ( 20 , 120 , 740 , 420 ) ;
ui - > buttonNeedle - > setGeometry ( 24 , 0 , 110 , 32 ) ;
QRect rectImage ( 0 , 0 , 56 , 32 ) ; //下边颜色图片的大小和位置
QRect rectName ( 22 , 30 , 28 , 16 ) ; //数字
QRect rectValue ( 0 , 0 , 56 , 32 ) ; //下边颜色图片里的文字
for ( int i = 0 ; i < 6 ; i + + )
{
int num = m_buttonColorOrderList . size ( ) / 6 ;
for ( int j = 0 ; j < num ; j + + )
{
m_buttonColorOrderList [ i * num + j ] - > setGeometry ( 25 + j * 60 , 124 + i * 50 , 56 , 46 ) ; //下边控件的大小
m_buttonColorOrderList [ i * num + j ] - > initUpImageDownName ( rectImage , rectName ) ;
m_buttonColorOrderList [ i * num + j ] - > initLabelValue ( rectValue ) ;
m_buttonColorOrderList [ i * num + j ] - > setLabelNameFont ( fontNormal_1 ) ;
m_buttonColorOrderList [ i * num + j ] - > setLabelValueFont ( fontNormal_1 ) ;
m_buttonColorOrderList [ i * num + j ] - > setStyleSheet ( " border:0px;outline:none; " ) ; //无边框、无焦点
}
}
for ( int i = 0 ; i < 3 ; i + + )
{
int num , xSp , idx ;
if ( i = = 0 )
{
num = 10 ; //第一行10个
xSp = 145 ;
idx = 0 ;
}
else if ( i = = 1 )
{
num = 12 ; //第二行12个
xSp = 25 ;
idx = 10 ;
}
else if ( i = = 2 )
{
num = 10 ; //第三行10个
xSp = 25 ;
idx = 22 ;
}
for ( int j = 0 ; j < num ; j + + )
{
m_buttonEmbNeedleList [ idx + j ] - > setGeometry ( xSp + j * 60 , i * 38 , 56 , 32 ) ; //上边颜色的大小
m_buttonEmbNeedleList [ idx + j ] - > setFont ( fontNormal_1 ) ;
m_buttonEmbNeedleList [ idx + j ] - > setText ( QString : : number ( idx + j + 1 ) ) ;
}
}
ui - > labelPatternView - > setGeometry ( 790 , 98 , 220 , 220 ) ;
ui - > labelNameValue - > setGeometry ( 816 , 320 , 141 , 20 ) ;
ui - > labelTotalNeedle - > setGeometry ( 816 , 350 , 141 , 20 ) ;
ui - > labelTotalNeedleValue - > setGeometry ( 895 , 350 , 91 , 20 ) ;
ui - > labelTotalColor - > setGeometry ( 816 , 375 , 91 , 20 ) ;
ui - > labelTotalColorValue - > setGeometry ( 895 , 375 , 91 , 20 ) ;
ui - > labelCurColorNum - > setGeometry ( 816 , 400 , 91 , 20 ) ;
ui - > labelCurColorNumValue - > setGeometry ( 895 , 400 , 91 , 20 ) ;
ui - > labelBeginIdx - > setGeometry ( 816 , 425 , 91 , 20 ) ;
ui - > labelBeginIdxValue - > setGeometry ( 895 , 425 , 91 , 20 ) ;
ui - > labelEndIdx - > setGeometry ( 816 , 450 , 91 , 20 ) ;
ui - > labelEndIdxValue - > setGeometry ( 895 , 450 , 91 , 20 ) ;
ui - > labelNeedleSelect - > setGeometry ( 816 , 475 , 91 , 20 ) ;
ui - > labelNeedleSelectValue - > setGeometry ( 895 , 475 , 91 , 20 ) ;
ui - > framePageBtn - > setGeometry ( 595 , 545 , 600 , 40 ) ;
ui - > labelPage - > setGeometry ( 20 , 550 , 102 , 45 ) ;
ui - > buttonPgUp - > setGeometry ( 0 , 0 , 96 , 40 ) ;
ui - > buttonPgDn - > setGeometry ( 106 , 0 , 96 , 40 ) ;
ui - > buttonOk - > setGeometry ( 212 , 0 , 96 , 40 ) ;
ui - > buttonCancel - > setGeometry ( 318 , 0 , 96 , 40 ) ;
}
void ColorOrderSetWidget : : initControlStyle ( )
{
SetControlStyle setControlStyle ;
setControlStyle . setUiName ( this - > objectName ( ) ) ;
//背景图
QString frameBackImgPath = setControlStyle . getStyleSheet ( this - > objectName ( ) ) ;
ui - > frameBack - > setStyleSheet ( frameBackImgPath ) ;
ui - > frameColorOrder - > setStyleSheet ( TRANSPARENTSTYLE ) ;
//label样式
ui - > labelMainTitle - > setFont ( fontBold_1 ) ;
ui - > labelMainTitle - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelSubTitle - > setFont ( fontNormal_1 ) ;
ui - > labelSubTitle - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelPage - > setFont ( fontNormal_1 ) ;
ui - > labelPage - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > buttonNeedle - > setFont ( fontNormal_6 ) ;
ui - > labelPatternView - > setStyleSheet ( TRANSPARENTSTYLE ) ;
ui - > labelNameValue - > setFont ( fontNormal_6 ) ;
ui - > labelNameValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelTotalNeedle - > setFont ( fontNormal_6 ) ;
ui - > labelTotalNeedle - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelTotalNeedleValue - > setFont ( fontNormal_6 ) ;
ui - > labelTotalNeedleValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelTotalColor - > setFont ( fontNormal_6 ) ;
ui - > labelTotalColor - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelTotalColorValue - > setFont ( fontNormal_6 ) ;
ui - > labelTotalColorValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelCurColorNum - > setFont ( fontNormal_6 ) ;
ui - > labelCurColorNum - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelCurColorNumValue - > setFont ( fontNormal_6 ) ;
ui - > labelCurColorNumValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelBeginIdx - > setFont ( fontNormal_6 ) ;
ui - > labelBeginIdx - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelBeginIdxValue - > setFont ( fontNormal_6 ) ;
ui - > labelBeginIdxValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelEndIdx - > setFont ( fontNormal_6 ) ;
ui - > labelEndIdx - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelEndIdxValue - > setFont ( fontNormal_6 ) ;
ui - > labelEndIdxValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelNeedleSelect - > setFont ( fontNormal_6 ) ;
ui - > labelNeedleSelect - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > labelNeedleSelectValue - > setFont ( fontNormal_6 ) ;
ui - > labelNeedleSelectValue - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > framePageBtn - > setStyleSheet ( TRANSPARENTSTYLE ) ;
//右上方
ui - > frameRightUp - > setStyleSheet ( TRANSPARENTSTYLE ) ;
ui - > buttonColorOrderClear - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonColorOrderClear - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonColorOrderClear - > objectName ( ) ) ) ;
ui - > buttonColorOrderCycle - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonColorOrderCycle - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonColorOrderCycle - > objectName ( ) ) ) ;
ui - > buttonHeadEmb - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonHeadEmb - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonHeadEmb - > objectName ( ) ) ) ;
ui - > buttonCombineEmb - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonCombineEmb - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonCombineEmb - > objectName ( ) ) ) ;
ui - > buttonThreeCombineEmb - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonThreeCombineEmb - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonThreeCombineEmb - > objectName ( ) ) ) ;
ui - > buttonExplanation - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonExplanation - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonExplanation - > objectName ( ) ) ) ;
ui - > buttonColorLaser - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
ui - > buttonColorLaser - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonColorLaser - > objectName ( ) ) ) ;
ui - > buttonRefreshColorOrder - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
2024-03-01 07:57:37 +00:00
// ui->buttonRefreshColorOrder->setVisible(false);
ui - > buttonRefreshColorOrder - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonRefreshColorOrder - > objectName ( ) ) ) ;
2024-02-06 06:27:07 +00:00
ui - > buttonColorSetLock - > setGreenGradientBottomStyle ( BORDER_RADIUS1 ) ;
//四个按钮样式表一样
ui - > buttonPgUp - > setOrangeGradientBottomStyle ( BORDER_RADIUS2 ) ;
ui - > buttonPgUp - > setTopImage ( setControlStyle . getSharedTopStyleSheet ( ui - > buttonPgUp - > objectName ( ) ) , 12 ) ;
ui - > buttonPgDn - > setOrangeGradientBottomStyle ( BORDER_RADIUS2 ) ;
ui - > buttonPgDn - > setTopImage ( setControlStyle . getSharedTopStyleSheet ( ui - > buttonPgDn - > objectName ( ) ) , 12 ) ;
ui - > buttonOk - > setOrangeGradientBottomStyle ( BORDER_RADIUS2 ) ;
ui - > buttonOk - > setTopImage ( setControlStyle . getSharedTopStyleSheet ( ui - > buttonOk - > objectName ( ) ) , 12 ) ;
ui - > buttonCancel - > setOrangeGradientBottomStyle ( BORDER_RADIUS2 ) ;
ui - > buttonCancel - > setTopImage ( setControlStyle . getSharedTopStyleSheet ( ui - > buttonCancel - > objectName ( ) ) , 12 ) ;
}
void ColorOrderSetWidget : : initArabControlPos ( )
{
int language = g_pSettings - > readFromInHMIiFile ( " HMI/language " ) . toInt ( ) ;
if ( language ! = arabic )
{
return ;
}
ui - > labelMainTitle - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
ui - > labelSubTitle - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
//ui->labelNameValue->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
ui - > labelTotalNeedle - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
// ui->labelTotalNeedleValue->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui - > labelTotalColor - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
//ui->labelTotalColorValue->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui - > labelCurColorNum - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
// ui->labelCurColorNumValue->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui - > labelBeginIdx - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
// ui->labelBeginIdxValue->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui - > labelEndIdx - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
//ui->labelEndIdxValue->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
ui - > labelNeedleSelect - > setAlignment ( Qt : : AlignRight | Qt : : AlignVCenter ) ;
//ui->labelNeedleSelectValue->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
}
void ColorOrderSetWidget : : initNeedleBar ( )
{
//读入配置
QDir apppath ( qApp - > applicationDirPath ( ) ) ;
//配置文件路径
QString configFile = apppath . path ( ) + apppath . separator ( ) + " config.ini " ;
QFile iniFile ( configFile ) ;
int num , idx ;
if ( ! iniFile . exists ( ) )
{
if ( m_combineEmb = = - 1 ) //组合绣模式
{
num = 2 ;
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣模式
{
num = 3 ;
}
else
{
num = 1 ;
}
idx = 0 ;
QRgb rgb = m_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 )
{
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 ) //i<1
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 2 ) //i>=1
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 2 ) + 1 ) ) ;
}
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣
{
if ( i < num / 3 ) //9*3 = 27
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 3 & & i < ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 3 ) + 1 ) ) ;
}
else if ( i > = ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " EX " + QString : : number ( ( i - ( num / 3 * 2 ) ) + 1 ) ) ;
}
}
else
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
m_buttonEmbNeedleList . at ( i ) - > setStyleSheet ( m_buttonStyle1 + cstyle + " } " + m_buttonStyle2 ) ;
m_buttonEmbNeedleList . at ( i ) - > show ( ) ;
}
else
{
m_buttonEmbNeedleList . at ( i ) - > hide ( ) ;
}
}
}
else
{
//存在配置文件
QRgb rgb = qRgb ( 0 , 255 , 0 ) ;
switchNeedleNum ( num ) ; //显示当前色序所选的针杆
if ( m_combineEmb = = - 1 ) //组合绣模式
{
num = num * 2 ; //
}
else if ( m_threeCombineEmb = = - 1 )
{
num = num * 3 ; //9个针杆 *3
}
for ( int i = 0 ; i < m_buttonEmbNeedleList . size ( ) ; i + + )
{
QString idxStr ;
idxStr = getNeedleColorStr ( i + 1 ) ;
# if(0)
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 )
{
idxStr = " EmbNeedle/ " + QString : : number ( i + 1 ) + " _coloridx " ;
}
else if ( i > = num / 2 )
{
idxStr = " EmbNeedle/ " + QString : : number ( ( i - num / 2 ) + 1 ) + " _coloridx " ;
}
}
else
{
idxStr = " EmbNeedle/ " + QString : : number ( i + 1 ) + " _coloridx " ;
}
# endif
if ( g_pSettings - > ifKeyExists ( idxStr ) = = true )
{
idx = g_pSettings - > readFromIniFile ( idxStr ) . toInt ( ) ;
rgb = m_pColorBuf [ ( idx % EMB_BF_SW_ND ) ] ;
m_pCurEmbData - > setNeedleColorTable ( i , idx ) ;
}
else
{
rgb = m_pColorBuf [ ( i % EMB_MC_SW_ND ) ] ;
m_pCurEmbData - > setNeedleColorTable ( i , i ) ;
# if(0)
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 )
{
rgb = m_pColorBuf [ ( i % EMB_MC_SW_ND ) ] ;
}
else if ( i > = num / 2 )
{
rgb = m_pColorBuf [ ( ( i - num / 2 ) % EMB_MC_SW_ND ) ] ;
}
}
else
{
rgb = m_pColorBuf [ ( i % EMB_MC_SW_ND ) ] ;
}
# endif
}
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 )
{
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 2 ) + 1 ) ) ;
}
}
else if ( m_threeCombineEmb = = - 1 )
{
if ( i < num / 3 ) //9*3 = 27
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 3 & & i < ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 3 ) + 1 ) ) ;
}
else if ( i > = ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " EX " + QString : : number ( ( i - ( num / 3 * 2 ) ) + 1 ) ) ;
}
}
else
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
//属于冲缝绣,毛巾针步才显示针杆设置按钮,因为有的色序里只有偏移针步
if ( m_colorBeginStepCtrl = = DATA_SEWING | |
m_colorBeginStepCtrl = = DATA_EMB | |
m_colorBeginStepCtrl = = DATA_PUNCH | |
m_colorBeginStepCtrl = = DATA_CHENILLE | |
m_colorBeginStepCtrl = = DATA_CHAIN | |
m_colorBeginStepCtrl = = DATA_COIL | |
m_colorBeginStepCtrl = = DATA_SAWTOOTH | |
m_colorBeginStepCtrl = = DATA_RIBBON | |
m_colorBeginStepCtrl = = DATA_LASER | |
m_colorBeginStepCtrl = = 0 )
{
m_buttonEmbNeedleList . at ( i ) - > setStyleSheet ( m_buttonStyle1 + cstyle + " } " + m_buttonStyle2 ) ;
m_buttonEmbNeedleList . at ( i ) - > show ( ) ;
}
else
{
m_buttonEmbNeedleList . at ( i ) - > hide ( ) ;
}
}
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 ) ;
}
if ( m_threeCombineEmb ! = 1 | | m_combineEmb ! = 1 )
{
m_colorSetBtnLockFlag = 1 ;
refreshLockBtn ( ) ;
ui - > buttonColorSetLock - > setVisible ( false ) ;
m_colorBeginStepCtrl = DATA_EMB ;
switchNeedleBar ( ) ;
}
if ( m_threeCombineEmb = = 1 & & m_combineEmb = = 1 )
{
ui - > buttonColorSetLock - > setVisible ( true ) ;
}
}
void ColorOrderSetWidget : : switchNeedleBar ( )
{
//读入配置
QDir apppath ( qApp - > applicationDirPath ( ) ) ;
//配置文件路径
QString configFile = apppath . path ( ) + apppath . separator ( ) + " config.ini " ;
QFile iniFile ( configFile ) ;
int num , idx ;
num = 0 ;
if ( ! iniFile . exists ( ) )
{
if ( m_combineEmb = = - 1 ) //组合绣模式
{
num = 2 ;
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣模式
{
num = 3 ;
}
else
{
num = 1 ;
}
idx = 0 ;
QRgb rgb = m_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 )
{
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 ) //i<1
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 2 ) //i>=1
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 2 ) + 1 ) ) ;
}
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣
{
if ( i < num / 3 ) //9*3 = 27
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 3 & & i < ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 3 ) + 1 ) ) ;
}
else if ( i > = ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " EX " + QString : : number ( ( i - ( num / 3 * 2 ) ) + 1 ) ) ;
}
}
else
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
m_buttonEmbNeedleList . at ( i ) - > setStyleSheet ( m_buttonStyle1 + cstyle + " } " + m_buttonStyle2 ) ;
m_buttonEmbNeedleList . at ( i ) - > show ( ) ;
}
else
{
m_buttonEmbNeedleList . at ( i ) - > hide ( ) ;
}
}
}
else
{
QRgb rgb = qRgb ( 0 , 255 , 0 ) ;
if ( m_colorBeginStepCtrl = = DATA_CHENILLE ) //毛巾针杆
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Chenille (T): " ) ) ; //毛巾针杆 //显示毛巾针杆
}
else if ( m_colorBeginStepCtrl = = DATA_CHAIN ) //链式针杆
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Chain (C): " ) ) ; //链式针杆
}
else if ( m_colorBeginStepCtrl = = DATA_COIL ) //缠绕针杆
{
num = COILNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Coil (W): " ) ) ; //缠绕针杆
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_SAWTOOTH ) //锯齿针杆
{
num = SAWTOOTHNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Sawtooth (Z): " ) ) ; //锯齿针杆
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_RIBBON ) //盘带针杆
{
num = RIBBONNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Ribbon (R): " ) ) ; //盘带针杆
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_LASER ) //激光针杆
{
num = LASERNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Laser (L): " ) ) ; //激光针杆
ui - > buttonExplanation - > setEnabled ( false ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_EMB ) //绣花针杆 //第一次选完花版进来是绣花数据,然后根据selIdx, 切换相应的针杆
{
ui - > buttonExplanation - > setEnabled ( false ) ;
//针杆按钮切换,切换到绣花的时候,针杆显示不对
num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Emb (F): " ) ) ; //绣花针杆
}
if ( m_combineEmb = = - 1 ) //组合绣模式
{
num = num * 2 ; //
}
else if ( m_threeCombineEmb = = - 1 )
{
num = num * 3 ; //9个针杆 *3
}
for ( int i = 0 ; i < m_buttonEmbNeedleList . size ( ) ; i + + )
{
QString idxStr ;
idxStr = getNeedleColorStr ( i + 1 ) ;
# if(0)
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 )
{
idxStr = " EmbNeedle/ " + QString : : number ( i + 1 ) + " _coloridx " ;
}
else if ( i > = num / 2 )
{
idxStr = " EmbNeedle/ " + QString : : number ( ( i - num / 2 ) + 1 ) + " _coloridx " ;
}
}
else
{
idxStr = " EmbNeedle/ " + QString : : number ( i + 1 ) + " _coloridx " ;
}
# endif
if ( g_pSettings - > ifKeyExists ( idxStr ) = = true )
{
idx = g_pSettings - > readFromIniFile ( idxStr ) . toInt ( ) ;
rgb = m_pColorBuf [ ( idx % EMB_BF_SW_ND ) ] ;
m_pCurEmbData - > setNeedleColorTable ( i , idx ) ;
}
else
{
rgb = m_pColorBuf [ ( i % EMB_MC_SW_ND ) ] ;
m_pCurEmbData - > setNeedleColorTable ( i , i ) ;
# if(0)
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 )
{
rgb = m_pColorBuf [ ( i % EMB_MC_SW_ND ) ] ;
}
else if ( i > = num / 2 )
{
rgb = m_pColorBuf [ ( ( i - num / 2 ) % EMB_MC_SW_ND ) ] ;
}
}
else
{
rgb = m_pColorBuf [ ( i % EMB_MC_SW_ND ) ] ;
}
# endif
}
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 )
{
if ( m_combineEmb = = - 1 ) //组合绣模式
{
if ( i < num / 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 2 ) + 1 ) ) ;
}
}
else if ( m_threeCombineEmb = = - 1 )
{
if ( i < num / 3 ) //9*3 = 27
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
else if ( i > = num / 3 & & i < ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " E " + QString : : number ( ( i - num / 3 ) + 1 ) ) ;
}
else if ( i > = ( num / 3 ) * 2 )
{
m_buttonEmbNeedleList [ i ] - > setText ( " EX " + QString : : number ( ( i - ( num / 3 * 2 ) ) + 1 ) ) ;
}
}
else
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
}
//属于冲缝绣,毛巾针步才显示针杆设置按钮,因为有的色序里只有偏移针步
if ( m_colorBeginStepCtrl = = DATA_SEWING | |
m_colorBeginStepCtrl = = DATA_EMB | |
m_colorBeginStepCtrl = = DATA_PUNCH | |
m_colorBeginStepCtrl = = DATA_CHENILLE | |
m_colorBeginStepCtrl = = DATA_CHAIN | |
m_colorBeginStepCtrl = = DATA_COIL | |
m_colorBeginStepCtrl = = DATA_SAWTOOTH | |
m_colorBeginStepCtrl = = DATA_RIBBON | |
m_colorBeginStepCtrl = = DATA_LASER | |
m_colorBeginStepCtrl = = 0 )
{
m_buttonEmbNeedleList . at ( i ) - > setStyleSheet ( m_buttonStyle1 + cstyle + " } " + m_buttonStyle2 ) ;
m_buttonEmbNeedleList . at ( i ) - > show ( ) ;
}
else
{
m_buttonEmbNeedleList . at ( i ) - > hide ( ) ;
}
}
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 ) ;
}
}
//刷新色序显示
void ColorOrderSetWidget : : refreshColorShow ( int colorInPage )
{
QString str ;
QString strNeedle ;
m_colorOrderLimitFlag = 0 ;
int num = 0 ;
getNeedleNum ( num ) ; //获取配置文件针杆数量
int colorNum = m_colorTable . size ( ) ;
m_pageNums = ( colorNum + m_itemPerPage - 1 ) / m_itemPerPage ; // 计算页数
if ( m_curPages > m_pageNums ) // 当前页
{
m_curPages = m_pageNums ;
}
if ( m_curPages < = 1 & & colorNum ! = 0 )
{
m_curPages = 1 ;
}
int colorIdx = ( m_curPages - 1 ) * m_itemPerPage ;
if ( colorIdx < 0 )
{
colorIdx = 0 ;
}
s16 embHeadnum = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
for ( int i = 0 ; i < m_itemPerPage ; i + + )
{
// 颜色显示
if ( colorIdx < colorNum )
{
s16 needleIdx = m_colorTable . at ( colorIdx ) ; //花版里的第一个色序, 设置成了毛巾1
int colorIdxCp = needleIdx ;
//大于平绣机头数
if ( needleIdx > embHeadnum & & needleIdx < = EMB_NEEDLE_NUM )
{
//等于绣花机时有双头组合功能才有色序设置不合理的判断
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //rq 没有判断有没有组合功能
{
m_colorOrderLimitFlag = - 1 ;
}
}
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //非组合绣模式
{
strNeedle = getCurColorTabStr ( needleIdx ) ;
getCurColorTabValue ( needleIdx ) ;
}
QString idxStr ;
if ( colorInPage = = - 1 )
{
idxStr = getNeedleColorStr ( needleIdx ) ; //needleIdx 针杆索引
}
else
{
if ( colorIdxCp > = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM )
{
m_colorBeginStepCtrl = DATA_LASER ; //激光针杆
idxStr = " LaserNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
else if ( colorIdxCp > = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM )
{
m_colorBeginStepCtrl = DATA_SAWTOOTH ; //锯齿针杆
idxStr = " SawtoothNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
else if ( colorIdxCp > = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM )
{
m_colorBeginStepCtrl = DATA_COIL ; //缠绕针杆
idxStr = " ColiNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
else if ( colorIdxCp > = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM )
{
m_colorBeginStepCtrl = DATA_CHAIN ; //链式针杆
idxStr = " TowelNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
else if ( colorIdxCp > = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM )
{
m_colorBeginStepCtrl = DATA_CHENILLE ; //毛巾针杆
idxStr = " TowelNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
else if ( colorIdxCp > = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM )
{
m_colorBeginStepCtrl = DATA_RIBBON ; //盘带针杆
idxStr = " RibbonNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
else
{
m_colorBeginStepCtrl = DATA_EMB ;
idxStr = " EmbNeedle/ " + QString : : number ( needleIdx ) + " _coloridx " ;
}
}
s16 colorInTab ;
if ( g_pSettings - > ifKeyExists ( idxStr ) = = true )
{
colorInTab = g_pSettings - > readFromIniFile ( idxStr ) . toInt ( ) ;
}
else
{
colorInTab = m_colorTable . at ( colorIdx ) ;
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //非组合绣模式
{
getCurColorTabValue ( colorInTab ) ;
}
colorInTab - = 1 ;
if ( colorInTab < 0 ) { colorInTab = 0 ; }
}
// 文件中的色序
QRgb rgb = m_pColorBuf [ ( colorInTab % 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 ( ) + " ; " ;
m_buttonColorOrderList . at ( i ) - > setImageBackColor ( cstyle ) ;
QString cstyle1 = " outline: none;background-color:rgba(255, 255, 255, 0);color: " + tcolor . name ( ) + " ; " ;
m_buttonColorOrderList . at ( i ) - > setLabelValueStyle ( cstyle1 ) ;
if ( needleIdx < = 0 )
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( " " ) ; //色序里的数字是空
}
else
{
if ( m_combineEmb = = - 1 )
{
if ( needleIdx > num )
{
int idx = needleIdx - num ;
if ( idx > EMB_NEEDLE_NUM )
{
s16 cidx = needleIdx ;
QString str = getCurColorTabStr ( cidx ) ;
getCurColorTabValue ( cidx ) ;
m_buttonColorOrderList . at ( i ) - > setLabelValue ( str + QString : : number ( cidx ) ) ;
}
else
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( " E " + QString : : number ( idx ) ) ;
}
}
else
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( QString : : number ( needleIdx ) ) ;
}
}
else if ( m_threeCombineEmb = = - 1 )
{
if ( needleIdx < = num )
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( QString : : number ( needleIdx ) ) ;
}
else if ( needleIdx > num & & needleIdx < = num * 2 )
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( " E " + QString : : number ( needleIdx - num ) ) ;
}
else if ( needleIdx > num * 2 & & needleIdx < = num * 3 )
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( " EX " + QString : : number ( needleIdx - num * 2 ) ) ;
}
else
{
s16 cidx = needleIdx ;
QString str = getCurColorTabStr ( cidx ) ;
getCurColorTabValue ( cidx ) ;
m_buttonColorOrderList . at ( i ) - > setLabelValue ( str + QString : : number ( cidx ) ) ;
}
}
else
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( strNeedle + QString : : number ( needleIdx ) ) ;
}
}
str . sprintf ( " %d " , colorIdx + 1 ) ;
//下方的色序按钮
//设置数字 花版里的色序个数
m_buttonColorOrderList . at ( i ) - > setLabelName ( str ) ;
m_buttonColorOrderList . at ( i ) - > show ( ) ;
//选择显示
if ( colorIdx = = m_curSelectColor )
{
m_buttonColorOrderList . at ( i ) - > setLabelImageChecked ( cstyle ) ;
}
}
else
{
m_buttonColorOrderList . at ( i ) - > setLabelName ( " " ) ;
m_buttonColorOrderList . at ( i ) - > hide ( ) ;
}
colorIdx + + ;
}
// 翻页按钮
if ( m_curPages < = 1 )
{
ui - > buttonPgUp - > setEnabled ( false ) ;
}
else
{
ui - > buttonPgUp - > setEnabled ( true ) ;
}
if ( m_curPages > = m_pageNums )
{
ui - > buttonPgDn - > setEnabled ( false ) ;
}
else
{
ui - > buttonPgDn - > setEnabled ( true ) ;
}
// 页信息
if ( m_pageNums = = 0 )
{
m_curPages = 0 ;
}
QString pStr = tr ( " pageNum: " ) + QString ( " %1/%2 " ) . arg ( m_curPages ) . arg ( m_pageNums ) ; //页数:
ui - > labelPage - > setText ( pStr ) ;
}
//刷新花样选中的色序显示(刷新花样部分线迹)
void ColorOrderSetWidget : : refreshPatternCurColorShow ( )
{
if ( m_curSelectColor < 0 )
{
return ;
}
int beginIdx , endIdx ;
2024-03-01 07:57:37 +00:00
beginIdx = endIdx = 0 ;
2024-02-06 06:27:07 +00:00
if ( m_colorTable . size ( ) = = 1 ) //只有一个换色
{
endIdx = m_pCurEmbData - > getStitchNums ( ) ;
m_pCurEmbData - > getNeedleIdxFromColorIdx ( beginIdx , m_curSelectColor + 1 , m_colorBeginStepCtrl ) ;
beginIdx = 1 ;
}
else
{
//获取起始针步和换色后第一个针步的针步属性(非跳针跨步等)
m_pCurEmbData - > getNeedleIdxFromColorIdx ( beginIdx , m_curSelectColor + 1 , m_colorBeginStepCtrl ) ;
if ( m_curSelectColor + 1 = = m_colorTable . size ( ) ) //当前选择颜色数等于总的颜色数
{
endIdx = m_pCurEmbData - > getStitchNums ( ) ;
}
else
{
m_pCurEmbData - > getNeedleIdxFromColorIdx ( endIdx , m_curSelectColor + 2 , m_colorEndStepCtrl ) ;
}
}
m_pCurEmbData - > setGreyAreaRange ( m_greyBeginStep , m_greyEndStep ) ;
m_pCurEmbData - > setDispAreaRange ( beginIdx , endIdx , 0 ) ;
2024-03-01 07:57:37 +00:00
if ( m_refreshColorOrder ! = - 1 )
2024-02-06 06:27:07 +00:00
{
2024-03-01 07:57:37 +00:00
m_pCurEmbData - > setDispMode ( EmbData : : DISP_ALL_AREA , 1 , 1 ) ; // 重新画灰图
2024-02-06 06:27:07 +00:00
}
2024-03-01 07:57:37 +00:00
ui - > labelBeginIdxValue - > setText ( QString : : number ( beginIdx ) ) ;
ui - > labelEndIdxValue - > setText ( QString : : number ( endIdx ) ) ;
ui - > labelCurColorNumValue - > setText ( QString : : number ( m_curSelectColor + 1 ) ) ;
2024-02-06 06:27:07 +00:00
m_greyBeginStep = beginIdx ; //灰色起始
m_greyEndStep = endIdx ; //灰色结束
QPixmap patternPix = m_pCurEmbData - > getPreviewImage ( ) ;
ui - > labelPatternView - > setPixmap ( patternPix ) ;
//根据 beginStepCtrl 切换到相应针杆设置
int num = 0 ;
getNeedleNum ( num ) ;
s16 selIdx = m_colorTable [ m_curSelectColor ] ;
int idx = selIdx ;
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //非组合绣模式
{
getCurColorTabValue ( selIdx ) ;
}
QString str ;
if ( selIdx < = 0 )
{
str = tr ( " Not set " ) ; //未设置
}
else
{
if ( m_combineEmb = = - 1 )
{
if ( selIdx < = num ) //selIdx 总针杆的索引 , num 针杆个数
{
str = tr ( " Head 1 Needle " ) + QString : : number ( selIdx ) ; //针杆
}
else
{
str = tr ( " Head 2 Needle " ) + QString : : number ( selIdx - num ) ; //针杆
}
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣
{
if ( selIdx < = num )
{
str = tr ( " Head 1 Needle " ) + QString : : number ( selIdx ) ; //针杆
}
else if ( selIdx > num & & selIdx < = num * 2 )
{
str = tr ( " Head 2 Needle " ) + QString : : number ( selIdx - num ) ; //针杆
}
else
{
str = tr ( " Head 3 Needle " ) + QString : : number ( selIdx - num * 2 ) ; //针杆
}
}
else
{
QString typeStr ;
typeStr = getCurColorTabStr ( idx ) ;
str = typeStr + QString : : number ( selIdx ) ; //针杆
}
}
ui - > labelNeedleSelectValue - > setText ( str ) ; // 右下角显示当前色序的针杆
ui - > buttonColorSetLock - > setEnabled ( true ) ; //右上方色序设定解锁按钮可按
}
//获取配置文件针杆数量
void ColorOrderSetWidget : : getNeedleNum ( int & num )
{
if ( m_colorBeginStepCtrl = = 0 ) //界面没打开的时候,进来这个里边
{
num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Emb (F): " ) ) ; //绣花针杆
return ;
}
if ( m_colorBeginStepCtrl = = DATA_CHENILLE ) //毛巾针杆
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Chenille (T): " ) ) ; //毛巾针杆 //显示毛巾针杆
}
else if ( m_colorBeginStepCtrl = = DATA_CHAIN ) //链式针杆
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Chain (C): " ) ) ; //链式针杆
}
else if ( m_colorBeginStepCtrl = = DATA_COIL ) //缠绕针杆
{
num = COILNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Coil (W): " ) ) ; //缠绕针杆
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_SAWTOOTH ) //锯齿针杆
{
num = SAWTOOTHNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Sawtooth (Z): " ) ) ; //锯齿针杆
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_RIBBON ) //盘带针杆
{
num = RIBBONNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Ribbon (R): " ) ) ; //盘带针杆
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_LASER ) //激光针杆
{
num = LASERNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Laser (L): " ) ) ; //激光针杆
ui - > buttonExplanation - > setEnabled ( false ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_EMB ) //绣花针杆 //第一次选完花版进来是绣花数据,然后根据selIdx, 切换相应的针杆
{
ui - > buttonExplanation - > setEnabled ( false ) ;
//针杆按钮切换,切换到绣花的时候,针杆显示不对
num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Emb (F): " ) ) ; //绣花针杆
}
else
{
ui - > buttonExplanation - > setEnabled ( false ) ;
num = 0 ;
//非冲缝绣针步
ui - > buttonNeedle - > setText ( tr ( " Non needle step " ) ) ; //非下针针步
}
}
void ColorOrderSetWidget : : switchNeedleNum ( int & num )
{
//m_curSelectColor 花版中的第几个色序
//m_colorTable 色序表
//selIdx 色序表里的色序 0就是没有色序
if ( m_colorTable . size ( ) < = 0 )
{
return ;
}
int selIdx = m_colorTable [ m_curSelectColor ] ;
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //非组合绣模式
{
/*如果是dsr文件, 有多种属性的针步时(或者dst文件),绣花针步可能会设置为其他色序,
* 此 时 点 击 色 序 设 定 按 钮 时 需 要 切 换 为 相 应 设 置 的 针 杆 */
if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM ) //激光针杆
{
num = LASERNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Laser (L): " ) ) ; //激光针杆
m_colorBeginStepCtrl = DATA_LASER ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM ) //锯齿针杆
{
num = SAWTOOTHNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Sawtooth (Z): " ) ) ; //锯齿针杆
m_colorBeginStepCtrl = DATA_SAWTOOTH ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM ) //缠绕针杆
{
num = COILNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Coil (W): " ) ) ; //缠绕针杆
m_colorBeginStepCtrl = DATA_COIL ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM ) //链式针杆
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ; //链式针杆和毛巾针杆是相同的
ui - > buttonNeedle - > setText ( tr ( " Chain (C): " ) ) ; //链式针杆
m_colorBeginStepCtrl = DATA_CHAIN ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM ) //毛巾针杆
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Chenille (T): " ) ) ; //毛巾针杆 //显示的毛巾针杆
m_colorBeginStepCtrl = DATA_CHENILLE ;
}
//selIdx =51 当前选择的是盘带针杆
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM ) //盘带针杆 盘带 缠绕 平绣
{
num = RIBBONNEEDLE ;
ui - > buttonNeedle - > setText ( tr ( " Ribbon (R): " ) ) ; //盘带针杆
m_colorBeginStepCtrl = DATA_RIBBON ;
}
else
{
if ( g_emMacType = = MACHINE_EMB & & g_emProductType = = PRODUCT_CHEN ) //绣花机且为纯毛巾
{
num = g_pSettings - > readFromIniFile ( " TowelNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Chenille (T): " ) ) ; //毛巾针杆 //显示的毛巾针杆
m_colorBeginStepCtrl = DATA_CHENILLE ;
}
else
{
num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Emb (F): " ) ) ; //绣花针杆
m_colorBeginStepCtrl = DATA_EMB ;
}
}
}
else
{
num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
ui - > buttonNeedle - > setText ( tr ( " Emb (F): " ) ) ; //绣花针杆
}
}
//获取配置文件针杆颜色索引字符
QString ColorOrderSetWidget : : getNeedleColorStr ( s16 idx )
{
QString idxStr ;
idxStr . clear ( ) ;
if ( m_colorBeginStepCtrl = = DATA_CHENILLE ) //毛巾针杆
{
idxStr = " TowelNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( m_colorBeginStepCtrl = = DATA_CHAIN ) //链式针杆
{
idxStr = " TowelNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( m_colorBeginStepCtrl = = DATA_COIL ) //缠绕针杆
{
idxStr = " ColiNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( m_colorBeginStepCtrl = = DATA_SAWTOOTH ) //锯齿针杆
{
idxStr = " SawtoothNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( m_colorBeginStepCtrl = = DATA_RIBBON ) //盘带针杆
{
idxStr = " RibbonNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( m_colorBeginStepCtrl = = DATA_LASER ) //激光针杆
{
idxStr = " LaserNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( m_colorBeginStepCtrl = = DATA_EMB ) //绣花针杆
{
idxStr = " EmbNeedle/ " + QString : : number ( idx ) + " _coloridx " ; //绣花针杆
if ( m_curSelectColor < 0 ) { return idxStr ; }
int selIdx = m_colorTable [ m_curSelectColor ] ;
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //非组合绣模式
{
/*如果是dsr文件, 有多种属性的针步时(或者dst文件),绣花针步可能会设置为其他色序
* 此 时 点 击 色 序 设 定 按 钮 时 需 要 切 换 为 相 应 设 置 的 针 杆 */
if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM ) //激光针杆
{
idxStr = " LaserNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM ) //锯齿针杆
{
idxStr = " SawtoothNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM ) //缠绕针杆
{
idxStr = " CoilNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM ) //链式针杆
{
idxStr = " TowelNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM ) //毛巾针杆
{
idxStr = " TowelNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else if ( selIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM ) //盘带
{
idxStr = " RibbonNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
else
{
idxStr = " EmbNeedle/ " + QString : : number ( idx ) + " _coloridx " ; //绣花针杆
}
}
else
{
idxStr = " EmbNeedle/ " + QString : : number ( idx ) + " _coloridx " ; //绣花针杆
}
}
else
{
idxStr = " EmbNeedle/ " + QString : : number ( idx ) + " _coloridx " ;
}
return idxStr ;
}
//刷新色序锁定按钮
void ColorOrderSetWidget : : refreshLockBtn ( )
{
SetControlStyle setControlStyle ;
setControlStyle . setUiName ( this - > objectName ( ) ) ;
if ( m_colorSetBtnLockFlag = = 1 ) //锁住
{
ui - > buttonColorSetLock - > setCheckable ( true ) ;
ui - > buttonColorSetLock - > setChecked ( true ) ;
ui - > buttonColorSetLock - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonColorSetLock - > objectName ( ) ) ) ;
ui - > buttonNeedle - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > buttonNeedle - > setEnabled ( false ) ; //针杆按钮不可按
}
else //解锁
{
ui - > buttonColorSetLock - > setChecked ( false ) ;
ui - > buttonColorSetLock - > setCheckable ( false ) ;
ui - > buttonColorSetLock - > setTopImage ( setControlStyle . getTopStyleSheet ( ui - > buttonColorSetLock - > objectName ( ) + " _unlock " ) ) ;
ui - > buttonNeedle - > setStyleSheet ( BUTTONWHITESTYLE ) ;
ui - > buttonNeedle - > setEnabled ( true ) ; //针杆按钮可按
}
}
void ColorOrderSetWidget : : initTowelHeightValue ( )
{
int num = TOWELHIGHRANGE ;
QString cstyle = " background-color: rgba(245, 245, 245);color: rgba(0, 0, 0); " ;
for ( int i = 0 ; i < m_buttonEmbNeedleList . size ( ) ; i + + )
{
if ( i < num )
{
m_buttonEmbNeedleList [ i ] - > setText ( QString : : number ( i + 1 ) ) ;
m_buttonEmbNeedleList . at ( i ) - > setStyleSheet ( m_buttonStyle1 + cstyle + " } " + m_buttonStyle2 ) ;
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 ) ;
}
}
void ColorOrderSetWidget : : refreshTowelHeightShow ( )
{
QString str ;
int colorNum = m_colorTable . size ( ) ;
m_pageNums = ( colorNum + m_itemPerPage - 1 ) / m_itemPerPage ; // 计算页数
if ( m_curPages > m_pageNums ) // 当前页
{
m_curPages = m_pageNums ;
}
if ( m_curPages < = 1 & & colorNum ! = 0 )
{
m_curPages = 1 ;
}
int colorIdx = ( m_curPages - 1 ) * m_itemPerPage ;
if ( colorIdx < 0 )
{
colorIdx = 0 ;
}
for ( int i = 0 ; i < m_itemPerPage ; i + + )
{
// 颜色显示
if ( colorIdx < colorNum )
{
int needleIdx = m_colorTable . at ( colorIdx ) ;
if ( needleIdx < = 0 )
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( " " ) ; //数字是空
}
else
{
m_buttonColorOrderList . at ( i ) - > setLabelValue ( QString : : number ( needleIdx ) ) ;
}
str . sprintf ( " %d " , colorIdx + 1 ) ;
//下方的按钮
//设置数字
m_buttonColorOrderList . at ( i ) - > setLabelName ( str ) ;
QString cstyle = " outline: none;background-color:rgba(245, 245, 245);color: rgba(0, 0, 0); " ;
QString cstyle1 = " outline: none;background-color:rgba(255, 255, 255, 0);color: rgba(0, 0, 0); " ;
m_buttonColorOrderList . at ( i ) - > setImageBackColor ( cstyle ) ;
m_buttonColorOrderList . at ( i ) - > setLabelValueStyle ( cstyle1 ) ;
//选择显示
if ( colorIdx = = m_curSelectColor )
{
m_buttonColorOrderList . at ( i ) - > setLabelImageChecked ( cstyle ) ;
}
m_buttonColorOrderList . at ( i ) - > show ( ) ;
}
else
{
m_buttonColorOrderList . at ( i ) - > setLabelName ( " " ) ;
m_buttonColorOrderList . at ( i ) - > hide ( ) ;
}
colorIdx + + ;
}
// 翻页按钮
if ( m_curPages < = 1 )
{
ui - > buttonPgUp - > setEnabled ( false ) ;
}
else
{
ui - > buttonPgUp - > setEnabled ( true ) ;
}
if ( m_curPages > = m_pageNums )
{
ui - > buttonPgDn - > setEnabled ( false ) ;
}
else
{
ui - > buttonPgDn - > setEnabled ( true ) ;
}
// 页信息
if ( m_pageNums = = 0 )
{
m_curPages = 0 ;
}
QString pStr = tr ( " pageNum: " ) + QString ( " %1/%2 " ) . arg ( m_curPages ) . arg ( m_pageNums ) ; //页数:
ui - > labelPage - > setText ( pStr ) ;
}
void ColorOrderSetWidget : : refreshPatternCurTowelHeightShow ( )
{
if ( m_curSelectColor < 0 )
{
return ;
}
int beginIdx , endIdx ;
if ( m_colorTable . size ( ) = = 1 ) //只有一个毛巾高度
{
endIdx = m_pCurEmbData - > getStitchNums ( ) ;
if ( m_fileType = = FILE_TYPE_DSR )
{
m_pCurEmbData - > getNeedleIdxFromTowelHighIdx ( beginIdx , m_curSelectColor + 1 , m_colorBeginStepCtrl ) ;
}
else if ( m_fileType = = FILE_TYPE_DST )
{
m_pCurEmbData - > getNeedleIdxFromColorIdx ( beginIdx , m_curSelectColor + 1 , m_colorBeginStepCtrl ) ;
}
beginIdx = 1 ;
}
else
{
//获取起始针步和换毛巾高度后第一个针步的针步属性(非跳针跨步等)
if ( m_fileType = = FILE_TYPE_DSR )
{
m_pCurEmbData - > getNeedleIdxFromTowelHighIdx ( beginIdx , m_curSelectColor + 1 , m_colorBeginStepCtrl ) ;
}
else if ( m_fileType = = FILE_TYPE_DST )
{
m_pCurEmbData - > getNeedleIdxFromColorIdx ( beginIdx , m_curSelectColor + 1 , m_colorBeginStepCtrl ) ;
}
if ( m_curSelectColor + 1 = = m_colorTable . size ( ) ) //当前选择数等于总数
{
endIdx = m_pCurEmbData - > getStitchNums ( ) ;
}
else
{
if ( m_fileType = = FILE_TYPE_DSR )
{
m_pCurEmbData - > getNeedleIdxFromTowelHighIdx ( endIdx , m_curSelectColor + 2 , m_colorEndStepCtrl ) ;
}
else if ( m_fileType = = FILE_TYPE_DST )
{
m_pCurEmbData - > getNeedleIdxFromColorIdx ( endIdx , m_curSelectColor + 2 , m_colorEndStepCtrl ) ;
}
}
}
m_pCurEmbData - > setGreyAreaRange ( m_greyBeginStep , m_greyEndStep ) ;
m_pCurEmbData - > setDispAreaRange ( beginIdx , endIdx , 0 ) ;
m_pCurEmbData - > setDispMode ( EmbData : : DISP_ALL_AREA , 1 , 1 ) ; // 重新画灰图
m_greyBeginStep = beginIdx ; //灰色起始
m_greyEndStep = endIdx ; //灰色结束
QPixmap patternPix = m_pCurEmbData - > getPreviewImage ( ) ;
ui - > labelPatternView - > setPixmap ( patternPix ) ;
ui - > labelCurColorNumValue - > setText ( QString : : number ( m_curSelectColor + 1 ) ) ;
ui - > labelBeginIdxValue - > setText ( QString : : number ( beginIdx ) ) ;
ui - > labelEndIdxValue - > setText ( QString : : number ( endIdx ) ) ;
int selIdx = m_colorTable [ m_curSelectColor ] ;
QString str ;
if ( selIdx < = 0 )
{
str = tr ( " Not set " ) ; //未设置
}
else
{
str = QString : : number ( selIdx ) ; //针杆
}
ui - > labelNeedleSelectValue - > setText ( str ) ; // 右下角显示当前索引
}
QString ColorOrderSetWidget : : getCurColorTabStr ( s16 needleIdx )
{
QString strNeedle ;
strNeedle . clear ( ) ;
if ( needleIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM ) //激光针杆
{
strNeedle = tr ( " L " ) ;
}
else if ( needleIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM ) //锯齿针杆
{
strNeedle = tr ( " Z " ) ;
}
else if ( needleIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM ) //缠绕针杆
{
strNeedle = tr ( " W " ) ;
}
else if ( needleIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM ) //链式针杆
{
strNeedle = tr ( " C " ) ;
}
else if ( needleIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM ) //毛巾针杆
{
strNeedle = tr ( " T " ) ;
}
else if ( needleIdx > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM ) //盘带针杆
{
strNeedle = tr ( " R " ) ;
}
else
{
strNeedle = tr ( " F " ) ;
}
return strNeedle ;
}
void ColorOrderSetWidget : : getCurColorTabValue ( s16 & colorInTab )
{
if ( colorInTab > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM ) //激光针杆
{
colorInTab - = ( EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM ) ;
}
else if ( colorInTab > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM ) //锯齿针杆
{
colorInTab - = ( EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM ) ;
}
else if ( colorInTab > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM ) //缠绕针杆
{
colorInTab - = ( EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM ) ;
}
else if ( colorInTab > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM ) //链式针杆
{
colorInTab - = ( EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM ) ;
}
else if ( colorInTab > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM ) //毛巾针杆
{
colorInTab - = ( EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM ) ;
}
else if ( colorInTab > EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM ) //缠绕针杆
{
colorInTab - = ( EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM ) ;
}
}
//设置类型图标
void ColorOrderSetWidget : : setTypeLogo ( QString tStyle )
{
ui - > buttonTypeLogo - > setUnPreBtnLogo ( tStyle ) ;
}
//设置主title
void ColorOrderSetWidget : : setMainTitle ( QString str )
{
ui - > labelMainTitle - > setText ( str ) ;
}
void ColorOrderSetWidget : : setSubTitle ( QString str )
{
ui - > labelSubTitle - > setText ( str ) ;
}
void ColorOrderSetWidget : : show ( QString filePath )
{
ui - > buttonColorSetLock - > setVisible ( true ) ; //右上方解锁按钮
m_colorSetBtnLockFlag = 1 ; //锁住
refreshLockBtn ( ) ;
QFileInfo file ( filePath ) ;
QString ext = file . suffix ( ) . toUpper ( ) ;
m_pCurEmbData - > setViewInfo ( ui - > labelPatternView - > width ( ) , ui - > labelPatternView - > height ( ) ) ;
m_pCurEmbData - > clear ( ) ;
if ( ext = = " DST " ) //dst文件
{
DataFileDst dst ;
dst . initFile ( filePath ) ;
dst . convertDataToAbs ( ) ;
m_pCurEmbData - > appendAEmbAbsFile ( filePath , dst . getEmbAbsData ( ) ) ; //生成文件信息
m_colorTable . resize ( dst . getColorNums ( ) ) ;
}
else if ( ext = = " DSR " ) //dsr文件
{
DataFileDsr dsr ;
dsr . initFile ( filePath ) ;
dsr . convertDataToEmbAbs ( ) ;
m_pCurEmbData - > appendAEmbAbsFile ( filePath , dsr . getEmbAbsData ( ) ) ; //生成文件信息
m_colorTable . resize ( dsr . getColorNums ( ) ) ;
}
m_pCurEmbData - > getDsDat ( ) ;
//转换为ds16数据后设置色序表
m_pCurEmbData - > setDs16ColorOfTable ( ( u8 * ) m_colorTable . data ( ) ) ;
m_pCurEmbData - > setEmbData ( ) ;
m_greyBeginStep = 0 ; //灰色起始
m_greyEndStep = m_pCurEmbData - > getStitchNums ( ) ; //灰色结束
QFileInfo info ( filePath ) ;
QString fileName = info . fileName ( ) ;
int size = fileName . length ( ) ;
if ( size > NAMEMAXLENGTH + 12 ) //花样名称过长时截取
{
fileName = fileName . mid ( 0 , NAMEMAXLENGTH + 12 ) + " ~ " ;
}
ui - > labelNameValue - > setText ( fileName ) ;
if ( size < = 0 ) //未选择文件时
{
ui - > labelTotalNeedleValue - > setText ( " " ) ;
ui - > labelTotalColorValue - > setText ( " " ) ;
}
else
{
ui - > labelTotalNeedleValue - > setText ( QString : : number ( m_pCurEmbData - > getStitchNums ( ) ) ) ;
ui - > labelTotalColor - > setText ( tr ( " Total color: " ) ) ; //总颜色数:
ui - > labelTotalColorValue - > setText ( QString : : number ( m_pCurEmbData - > getColorNums ( ) ) ) ;
}
m_curSelectColor = 0 ;
if ( m_buttonColorOrderList . size ( ) > 0 )
{
m_pColorBtn = m_buttonColorOrderList . at ( 0 ) ; //默认选中(等于)第一个色序按钮
}
refreshPatternCurColorShow ( ) ;
refreshColorShow ( 1 ) ;
initNeedleBar ( ) ;
# if(0)
ui - > labelCurColorNumValue - > setText ( " " ) ;
ui - > labelBeginIdxValue - > setText ( " " ) ;
ui - > labelEndIdxValue - > setText ( " " ) ;
ui - > labelNeedleSelectValue - > setText ( " " ) ;
# endif
QWidget : : show ( ) ;
}
void ColorOrderSetWidget : : showTowelHeight ( QString filePath )
{
m_colorSetBtnLockFlag = 1 ; //锁住
ui - > buttonNeedle - > setStyleSheet ( LABELWHITESTYLE ) ;
ui - > buttonNeedle - > setEnabled ( false ) ; //针杆按钮不可按
initTowelHeightValue ( ) ;
QFileInfo file ( filePath ) ;
QString ext = file . suffix ( ) . toUpper ( ) ;
m_pCurEmbData - > setViewInfo ( ui - > labelPatternView - > width ( ) , ui - > labelPatternView - > height ( ) ) ;
m_pCurEmbData - > clear ( ) ;
if ( ext = = " DST " ) //dst文件
{
m_fileType = FILE_TYPE_DST ;
DataFileDst dst ;
dst . initFile ( filePath ) ;
dst . convertDataToAbs ( ) ;
m_pCurEmbData - > appendAEmbAbsFile ( filePath , dst . getEmbAbsData ( ) ) ; //生成文件信息
m_colorTable . resize ( dst . getColorNums ( ) ) ;
}
else if ( ext = = " DSR " ) //dsr文件
{
m_fileType = FILE_TYPE_DSR ;
DataFileDsr dsr ;
dsr . initFile ( filePath ) ;
dsr . convertDataToEmbAbs ( ) ;
m_pCurEmbData - > appendAEmbAbsFile ( filePath , dsr . getEmbAbsData ( ) ) ; //生成文件信息
m_colorTable . resize ( dsr . getTowelHighNums ( ) ) ;
}
m_pCurEmbData - > getDsDat ( ) ;
m_pCurEmbData - > setEmbData ( ) ;
m_greyBeginStep = 0 ; //灰色起始
m_greyEndStep = m_pCurEmbData - > getStitchNums ( ) ; //灰色结束
QFileInfo info ( filePath ) ;
QString fileName = info . fileName ( ) ;
int size = fileName . length ( ) ;
if ( size > NAMEMAXLENGTH + 12 ) //花样名称过长时截取
{
fileName = fileName . mid ( 0 , NAMEMAXLENGTH + 12 ) + " ~ " ;
}
ui - > labelNameValue - > setText ( fileName ) ;
if ( size < = 0 ) //未选择文件时
{
ui - > labelTotalNeedleValue - > setText ( " " ) ;
ui - > labelTotalColorValue - > setText ( " " ) ;
}
else
{
ui - > labelTotalNeedleValue - > setText ( QString : : number ( m_pCurEmbData - > getStitchNums ( ) ) ) ;
ui - > labelTotalColor - > setText ( tr ( " Total high Num: " ) ) ; //总高度数:
ui - > labelTotalColorValue - > setText ( QString : : number ( m_pCurEmbData - > getTowelHighNums ( ) ) ) ;
}
m_curSelectColor = 0 ;
if ( m_buttonColorOrderList . size ( ) > 0 )
{
m_pColorBtn = m_buttonColorOrderList . at ( 0 ) ; //默认选中(等于)第一个按钮
}
refreshPatternCurTowelHeightShow ( ) ;
refreshTowelHeightShow ( ) ;
# if(0)
ui - > labelCurColorNumValue - > setText ( " " ) ;
ui - > labelBeginIdxValue - > setText ( " " ) ;
ui - > labelEndIdxValue - > setText ( " " ) ;
ui - > labelNeedleSelectValue - > setText ( " " ) ;
# endif
QWidget : : show ( ) ;
}
void ColorOrderSetWidget : : setColorTable ( QByteArray table , s16 combineMode )
{
ui - > labelCurColorNum - > setText ( tr ( " Color num: " ) ) ; //当前色序:
ui - > labelNeedleSelect - > setText ( tr ( " Needle: " ) ) ; //针杆选择:
m_setType = TYPE_COLORSET ;
int towel = g_pSettings - > readFromInHMIiFile ( " HMI/towel " ) . toInt ( ) ; //是否有毛巾功能
//这里用是否有毛巾功能做判断,是因为有毛巾功能时会有毛巾高度设置功能,毛巾高度设置会把以下按钮全部隐藏
//这里需要根据配置再显示出来
if ( ( towel = = 1 ) | |
( g_emProductType = = PRODUCT_CHEN )
)
{
int coil = g_pSettings - > readFromInHMIiFile ( " HMI/coil " ) . toInt ( ) ; //是否有缠绕功能
if ( coil = = 1 )
{
ui - > buttonExplanation - > setVisible ( true ) ; //缠绕的解释说明
}
else
{
ui - > buttonExplanation - > setVisible ( false ) ;
}
int laser = g_pSettings - > readFromInHMIiFile ( " HMI/laser " ) . toInt ( ) ; //是否有激光功能
if ( laser = = 1 )
{
ui - > buttonColorLaser - > setVisible ( true ) ; //设置激光的快捷色序
}
else
{
ui - > buttonColorLaser - > setVisible ( false ) ;
}
int combineEmb = g_pSettings - > readFromInHMIiFile ( " HMI/combineEmb " ) . toInt ( ) ; //是否有双头组合绣功能
//是否显示双头组合按钮
if ( combineEmb = = 1 )
{
ui - > buttonCombineEmb - > setVisible ( true ) ;
}
else
{
ui - > buttonCombineEmb - > setVisible ( false ) ;
}
int threeCombineEmb = g_pSettings - > readFromInHMIiFile ( " HMI/threeCombineEmb " ) . toInt ( ) ; //是否有三头组合绣功能
//是否显示双头组合按钮
if ( threeCombineEmb = = 1 )
{
ui - > buttonThreeCombineEmb - > setVisible ( true ) ;
}
else
{
ui - > buttonThreeCombineEmb - > setVisible ( false ) ;
}
int headEmb = g_pSettings - > readFromInHMIiFile ( " HMI/headEmb " ) . toInt ( ) ; //是否有隔头绣功能
//是否显示隔头绣按钮
if ( headEmb = = 1 )
{
ui - > buttonHeadEmb - > setVisible ( true ) ;
}
else
{
ui - > buttonHeadEmb - > setVisible ( false ) ;
}
//右上方色序锁住按钮是否可见
if ( ( g_emMacType = = MACHINE_EMB & & towel = = 1 ) | | //绣花机带毛巾
( g_emMacType = = MACHINE_EMB & & coil = = 1 ) | | //绣花机带缠绕
( g_emMacType = = MACHINE_EMB & & laser = = 1 ) //绣花机带激光
)
{
ui - > buttonColorSetLock - > setVisible ( true ) ;
}
else
{
ui - > buttonColorSetLock - > setVisible ( false ) ;
}
}
if ( combineMode ! = 0 )
{
m_combineEmbFirst = combineMode ;
}
m_combineEmb = combineMode ;
if ( m_combineEmb = = 0 )
{
m_combineEmb = 1 ;
}
if ( combineMode = = - 1 ) //双头组合模式清空工作机头缓存
{
//memset(m_headBuf, 0, sizeof(m_headBuf));
ui - > buttonHeadEmb - > setEnabled ( false ) ; //隔头不可用
ui - > buttonCombineEmb - > setCheckable ( true ) ;
ui - > buttonCombineEmb - > setChecked ( true ) ;
}
else
{
ui - > buttonHeadEmb - > setEnabled ( true ) ; //隔头可用
ui - > buttonCombineEmb - > setCheckable ( true ) ;
ui - > buttonCombineEmb - > setChecked ( false ) ;
}
m_beforeColorTable . clear ( ) ;
m_beforeColorTable . append ( table ) ;
m_colorTable . clear ( ) ;
m_colorTable . append ( table ) ;
}
void ColorOrderSetWidget : : setTowelHighTable ( QByteArray table )
{
m_setType = TYPE_TOWELHIGHSET ;
ui - > buttonHeadEmb - > setVisible ( false ) ; //隔头不可用
ui - > buttonColorLaser - > setVisible ( false ) ;
ui - > buttonCombineEmb - > setVisible ( false ) ;
ui - > buttonThreeCombineEmb - > setVisible ( false ) ;
ui - > buttonColorSetLock - > setVisible ( false ) ;
ui - > buttonExplanation - > setVisible ( false ) ;
ui - > buttonNeedle - > setText ( tr ( " Towel high: " ) ) ; //毛巾高度:
ui - > labelCurColorNum - > setText ( tr ( " High index: " ) ) ; //高度索引:
ui - > labelNeedleSelect - > setText ( tr ( " High value: " ) ) ; //高度值:
m_beforeColorTable . clear ( ) ;
m_beforeColorTable . append ( table ) ;
m_colorTable . clear ( ) ;
m_colorTable . append ( table ) ;
}
void ColorOrderSetWidget : : setThreeColorTable ( QByteArray table , s16 threeCombineMode )
{
if ( threeCombineMode ! = 0 )
{
m_threeCombineEmbFirst = threeCombineMode ;
}
m_threeCombineEmb = threeCombineMode ;
if ( m_threeCombineEmb = = 0 )
{
m_threeCombineEmb = 1 ;
}
if ( m_threeCombineEmb = = - 1 ) //双头组合模式清空工作机头缓存
{
//memset(m_headBuf, 0, sizeof(m_headBuf));
ui - > buttonHeadEmb - > setEnabled ( false ) ; //隔头不可用
ui - > buttonThreeCombineEmb - > setCheckable ( true ) ;
ui - > buttonThreeCombineEmb - > setChecked ( true ) ;
}
else
{
ui - > buttonHeadEmb - > setEnabled ( true ) ; //隔头可用
ui - > buttonThreeCombineEmb - > setCheckable ( true ) ;
ui - > buttonThreeCombineEmb - > setChecked ( false ) ;
}
m_beforeColorTable . clear ( ) ;
m_beforeColorTable . append ( table ) ;
m_colorTable . clear ( ) ;
m_colorTable . append ( table ) ;
}
//初始化隔头绣数据
void ColorOrderSetWidget : : initHeadBuf ( QString filePath )
{
QFile file ( filePath + " .fcg " ) ;
if ( file . exists ( ) ) //存在fcg文件
{
if ( file . open ( QIODevice : : ReadOnly ) )
{
QByteArray ary = file . readAll ( ) ;
if ( ( u32 ) ary . size ( ) > = sizeof ( DataFileHead ) + HEADBUF )
{
memcpy ( m_headBuf , ary . data ( ) + sizeof ( DataFileHead ) , sizeof ( m_headBuf ) ) ;
}
}
file . close ( ) ;
}
}
void ColorOrderSetWidget : : slotResetHeadBuf ( u8 * buf )
{
if ( buf ! = NULL )
{
memcpy ( m_headBuf , buf , sizeof ( m_headBuf ) ) ;
}
}
void ColorOrderSetWidget : : slotSetEmbDatNeedleTable ( )
{
int idx = 0 ;
for ( int i = 0 ; i < m_buttonEmbNeedleList . size ( ) ; i + + )
{
QString idxStr ;
idxStr = getNeedleColorStr ( i + 1 ) ;
if ( g_pSettings - > ifKeyExists ( idxStr ) = = true )
{
idx = g_pSettings - > readFromIniFile ( idxStr ) . toInt ( ) ;
m_pCurEmbData - > setNeedleColorTable ( i , idx ) ;
}
else
{
m_pCurEmbData - > setNeedleColorTable ( i , i ) ;
}
}
}
void ColorOrderSetWidget : : colorOrderBtnClick ( )
{
int idx = 0 ;
m_pColorBtn = ( MyButton * ) this - > sender ( ) ;
if ( m_pColorBtn = = NULL )
{
return ;
}
for ( int i = 0 ; i < m_buttonColorOrderList . size ( ) ; i + + )
{
if ( m_pColorBtn = = m_buttonColorOrderList . at ( i ) )
{
idx = i ;
}
}
// int beforeColor = m_curSelectColor;//上一次选择的色序
m_curSelectColor = ( m_curPages - 1 ) * m_itemPerPage + idx ;
//针杆按钮不选中
if ( m_pEmbNeedleBtn ! = NULL )
{
m_pEmbNeedleBtn - > setChecked ( false ) ;
m_pEmbNeedleBtn - > setCheckable ( false ) ;
}
if ( m_setType = = TYPE_COLORSET ) //色序设定
{
refreshColorShow ( 1 ) ;
refreshPatternCurColorShow ( ) ; //右下角花样数据
initNeedleBar ( ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
refreshTowelHeightShow ( ) ;
refreshPatternCurTowelHeightShow ( ) ;
}
}
//针杆按钮被按下
void ColorOrderSetWidget : : embNeedleBtnPressed ( )
{
m_pEmbNeedleBtn = ( QPushButton * ) this - > sender ( ) ;
m_pEmbNeedleBtn - > setCheckable ( true ) ;
m_pEmbNeedleBtn - > setChecked ( true ) ;
}
//针杆按钮抬起
void ColorOrderSetWidget : : embNeedleBtnReleased ( )
{
if ( m_pColorBtn = = NULL | | m_pEmbNeedleBtn = = NULL | | m_curSelectColor = = - 1 )
{
//按钮都不选中
for ( int i = 0 ; i < m_buttonEmbNeedleList . size ( ) ; i + + )
{
m_buttonEmbNeedleList . at ( i ) - > setChecked ( false ) ;
m_buttonEmbNeedleList . at ( i ) - > setCheckable ( false ) ;
}
return ;
}
int btnIdx = 0 ;
for ( int i = 0 ; i < m_buttonEmbNeedleList . size ( ) ; i + + )
{
if ( m_pEmbNeedleBtn = = m_buttonEmbNeedleList . at ( i ) )
{
btnIdx = i + 1 ;
}
m_buttonEmbNeedleList . at ( i ) - > setChecked ( false ) ;
m_buttonEmbNeedleList . at ( i ) - > setCheckable ( false ) ;
}
if ( m_setType = = TYPE_TOWELHIGHSET ) //毛巾高度设置
{
if ( m_curSelectColor > = 0 )
{
if ( m_curSelectColor > = m_colorTable . size ( ) )
{
return ;
}
//int colorInTab = m_colorTable.at(m_curSelectColor);
//if (colorInTab != btnIdx)
{
// 设置数据中的色序
m_colorTable [ m_curSelectColor ] = btnIdx ;
emit siChangeTowelHighTable ( m_curSelectColor , btnIdx ) ;
QString str = tr ( " High " ) + QString : : number ( btnIdx ) ; //高度
ui - > labelNeedleSelectValue - > setText ( str ) ;
//当前色序设定完成后自动跳到下一色序
if ( m_curSelectColor < m_colorTable . size ( ) - 1 )
{
m_curSelectColor + = 1 ; //花版中的第几个色序
}
refreshTowelHeightShow ( ) ;
refreshPatternCurTowelHeightShow ( ) ;
}
}
return ;
}
int num = 0 ;
getNeedleNum ( num ) ; //显示当前的色序的针杆
# if(0)
if ( m_combineEmb = = - 1 ) //组合模式
{
if ( btnIdx > num )
{
btnIdx = btnIdx - num ;
}
}
# endif
int colorInPage = btnIdx ;
if ( m_colorBeginStepCtrl = = DATA_LASER ) //激光针杆
{
colorInPage + = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM ;
}
else if ( m_colorBeginStepCtrl = = DATA_SAWTOOTH ) //锯齿针杆
{
colorInPage + = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM ;
}
else if ( m_colorBeginStepCtrl = = DATA_COIL ) //缠绕针杆
{
colorInPage + = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM ;
}
else if ( m_colorBeginStepCtrl = = DATA_CHAIN ) //链式针杆
{
colorInPage + = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM ;
}
else if ( m_colorBeginStepCtrl = = DATA_CHENILLE ) //毛巾针杆
{
colorInPage + = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM ;
}
else if ( m_colorBeginStepCtrl = = DATA_RIBBON ) //盘带针杆
{
colorInPage + = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM ;
}
if ( m_curSelectColor > = 0 )
{
int colorInTab = m_colorTable . at ( m_curSelectColor ) ; // 文件中的色序
if ( colorInTab ! = colorInPage )
{
m_colorTable [ m_curSelectColor ] = colorInPage ;
emit siChangeColorTable ( m_curSelectColor , colorInPage ) ; //针杆写入色序表
}
s16 selIdx = m_colorTable [ m_curSelectColor ] ;
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 ) //非组合绣模式
{
getCurColorTabValue ( selIdx ) ;
}
QString str ;
if ( selIdx < = 0 )
{
str = tr ( " Not set " ) ; //未设置
}
else
{
if ( m_combineEmb = = - 1 )
{
if ( selIdx < = num )
{
str = tr ( " Head 1 Needle " ) + QString : : number ( selIdx ) ; //针杆
}
else
{
str = tr ( " Head 2 Needle " ) + QString : : number ( selIdx - num ) ; //针杆
}
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣
{
if ( selIdx < = num )
{
str = tr ( " Head 1 Needle " ) + QString : : number ( selIdx ) ; //针杆
}
else if ( selIdx > num & & selIdx < = num * 2 )
{
str = tr ( " Head 2 Needle " ) + QString : : number ( selIdx - num ) ; //针杆
}
else
{
str = tr ( " Head 3 Needle " ) + QString : : number ( selIdx - num * 2 ) ; //针杆
}
}
else
{
str = tr ( " Needle " ) + QString : : number ( selIdx ) ; //针杆
}
}
ui - > labelNeedleSelectValue - > setText ( str ) ;
//当前色序设定完成后自动跳到下一色序
if ( m_curSelectColor < m_colorTable . size ( ) - 1 )
{
m_curSelectColor + = 1 ; //花版中的第几个色序
}
refreshColorShow ( colorInPage ) ;
refreshPatternCurColorShow ( ) ;
initNeedleBar ( ) ; //下一个色序针杆变,在这个函数里
}
}
void ColorOrderSetWidget : : on_buttonPgUp_clicked ( )
{
m_curPages - - ;
refreshColorShow ( ) ;
}
void ColorOrderSetWidget : : on_buttonPgDn_clicked ( )
{
m_curPages + + ;
refreshColorShow ( ) ;
}
void ColorOrderSetWidget : : on_buttonOk_clicked ( )
{
if ( m_setType = = TYPE_COLORSET ) //色序设定
{
//非组合模式且针位设置超限
if ( m_combineEmb = = 1 & & m_threeCombineEmb = = 1 & & m_colorOrderLimitFlag = = - 1 )
{
PromptDialog dlg ( this ) ;
dlg . initDialog ( PromptDialog : : BTN_OK ) ;
dlg . setTitleStr ( tr ( " Prompt " ) ) ;
dlg . setContentStr ( tr ( " Color order setting is unreasonable, please reset! " ) ) ; //色序设定不合理,请重新设置!
dlg . exec ( ) ;
return ;
}
if ( m_combineEmb = = - 1 ) //组合模式设置机头工作缓存区(绣花机才有)
{
int num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
int size = 16 ; //16个字节
s8 evenVal = 85 ; //偶 0101 0101
s8 oddVal = - 86 ; //奇 1010 1010
s8 allVal = 0 ; //全部工作 0000 0000
int colorNum = m_colorTable . size ( ) ;
for ( int i = 0 ; i < colorNum ; i + + )
{
int needleIdx = m_colorTable . at ( i ) ;
for ( int j = 0 ; j < size ; j + + )
{
if ( needleIdx > num )
{
m_headBuf [ i * size + j ] = evenVal ;
}
else if ( needleIdx < = 0 )
{
m_headBuf [ i * size + j ] = allVal ;
}
else
{
m_headBuf [ i * size + j ] = oddVal ;
}
}
}
}
else if ( m_threeCombineEmb = = - 1 ) //三头组合绣
{
int num = g_pSettings - > readFromIniFile ( " EmbNeedle/number " ) . toInt ( ) ;
int size = 16 ; //16个字节
s8 Val1 = 182 ; // 1011 0110
s8 Val2 = 109 ; // 0110 1101
s8 Val3 = 219 ; // 1101 1011
s8 Val4 = 109 ; // 0110 1101
s8 Val5 = 219 ; // 1101 1011
s8 Val6 = 182 ; // 1011 0110
s8 Val7 = 219 ; // 1101 1011
s8 Val8 = 182 ; // 1011 0110
s8 Val9 = 109 ; // 0110 1101
int colorNum = m_colorTable . size ( ) ;
for ( int i = 0 ; i < colorNum ; i + + )
{
int needleIdx = m_colorTable . at ( i ) ;
for ( int j = 0 ; j < size ; j + + )
{
if ( needleIdx < = num )
{
int k = j % 3 ;
if ( k = = 0 )
{
m_headBuf [ i * size + j ] = Val1 ;
}
else if ( k = = 1 )
{
m_headBuf [ i * size + j ] = Val2 ;
}
else if ( k = = 2 )
{
m_headBuf [ i * size + j ] = Val3 ;
}
}
else if ( needleIdx < = num * 2 & & needleIdx > num )
{
int k = j % 3 ;
if ( k = = 0 )
{
m_headBuf [ i * size + j ] = Val4 ;
}
else if ( k = = 1 )
{
m_headBuf [ i * size + j ] = Val5 ;
}
else if ( k = = 2 )
{
m_headBuf [ i * size + j ] = Val6 ;
}
}
else
{
int k = j % 3 ;
if ( k = = 0 )
{
m_headBuf [ i * size + j ] = Val7 ;
}
else if ( k = = 1 )
{
m_headBuf [ i * size + j ] = Val8 ;
}
else if ( k = = 2 )
{
m_headBuf [ i * size + j ] = Val9 ;
}
}
}
}
}
emit siBackHome ( m_combineEmb , m_threeCombineEmb ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
emit siTowelHighBackHome ( ) ;
}
this - > hide ( ) ;
}
void ColorOrderSetWidget : : on_buttonCancel_clicked ( )
{
if ( m_combineEmbFirst = = 1 | | m_threeCombineEmbFirst = = 1 ) //非组合绣模式 或者三头组合绣模式
{
ui - > buttonCombineEmb - > setCheckable ( true ) ;
ui - > buttonCombineEmb - > setChecked ( false ) ;
ui - > buttonHeadEmb - > setEnabled ( true ) ;
siSetHeadEmbBtnEnable ( true ) ;
}
else //组合绣模式
{
ui - > buttonCombineEmb - > setCheckable ( true ) ;
ui - > buttonCombineEmb - > setChecked ( true ) ;
ui - > buttonHeadEmb - > setEnabled ( false ) ;
siSetHeadEmbBtnEnable ( false ) ;
}
//恢复之前的色序表
if ( m_setType = = TYPE_COLORSET )
{
emit siCancelChangeColor ( m_beforeColorTable ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
emit siCancelChangeTowelHigh ( m_beforeColorTable ) ;
}
this - > hide ( ) ;
}
//色序循环
void ColorOrderSetWidget : : on_buttonColorOrderCycle_clicked ( )
{
QByteArray cycleTable ;
cycleTable . clear ( ) ;
//拷贝循环列表
for ( int i = 0 ; i < m_colorTable . length ( ) ; i + + )
{
int colorInTab = m_colorTable . at ( i ) ; // 色序
if ( colorInTab ! = 0 )
{
cycleTable . append ( m_colorTable [ i ] ) ;
}
else
{
break ;
}
}
if ( cycleTable . length ( ) < = 0 )
{
return ;
}
//将循环列表循环复制到m_colorTable中
for ( int i = 0 ; i < m_colorTable . length ( ) ; )
{
memcpy ( ( char * ) m_colorTable . data ( ) + i , ( char * ) cycleTable . data ( ) , cycleTable . length ( ) ) ;
i + = cycleTable . length ( ) ;
}
for ( int i = 0 ; i < m_colorTable . length ( ) ; i + + )
{
int colorInTab = m_colorTable . at ( i ) ; // 色序
if ( m_setType = = TYPE_COLORSET )
{
emit siChangeColorTable ( i , colorInTab ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
emit siChangeTowelHighTable ( i , colorInTab ) ;
}
}
if ( m_setType = = TYPE_COLORSET )
{
m_pCurEmbData - > setGreyAreaRange ( 0 , m_pCurEmbData - > getStitchNums ( ) ) ;
m_pCurEmbData - > setDispMode ( EmbData : : DISP_ALL_AREA , 1 , 1 ) ; // 重绘
QPixmap patternPix = m_pCurEmbData - > getPreviewImage ( ) ;
ui - > labelPatternView - > setPixmap ( patternPix ) ;
m_curSelectColor = - 1 ;
refreshColorShow ( 1 ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
m_curSelectColor = - 1 ;
refreshTowelHeightShow ( ) ;
}
}
//色序清空
void ColorOrderSetWidget : : on_buttonColorOrderClear_clicked ( )
{
for ( int i = 0 ; i < m_colorTable . length ( ) ; i + + )
{
m_colorTable [ i ] = 0 ; //清空
int colorInTab = m_colorTable . at ( i ) ; // 色序
if ( m_setType = = TYPE_COLORSET )
{
emit siChangeColorTable ( i , colorInTab ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
emit siChangeTowelHighTable ( i , colorInTab ) ;
}
}
if ( m_setType = = TYPE_COLORSET )
{
m_pCurEmbData - > setGreyAreaRange ( 0 , m_pCurEmbData - > getStitchNums ( ) ) ;
m_pCurEmbData - > setDispAreaRange ( 0 , 0 ) ;
m_pCurEmbData - > setDispMode ( EmbData : : DISP_ALL_AREA , 1 , 1 ) ; // 重绘
QPixmap patternPix = m_pCurEmbData - > getPreviewImage ( ) ;
ui - > labelPatternView - > setPixmap ( patternPix ) ;
m_curSelectColor = - 1 ;
refreshColorShow ( ) ;
}
else if ( m_setType = = TYPE_TOWELHIGHSET )
{
m_curSelectColor = - 1 ;
refreshTowelHeightShow ( ) ;
}
}
void ColorOrderSetWidget : : on_buttonHeadEmb_clicked ( )
{
emit siHeadEmb ( ) ; //发送隔头绣设置的信号
}
void ColorOrderSetWidget : : on_buttonCombineEmb_clicked ( )
{
m_combineEmb * = - 1 ;
if ( m_combineEmb = = 1 ) //非双头组合绣模式
{
ui - > buttonCombineEmb - > setCheckable ( true ) ; //setCheckable(true)为属性,表示可以选中
ui - > buttonCombineEmb - > setChecked ( false ) ;
ui - > buttonHeadEmb - > setEnabled ( true ) ; //false , 按钮就不可点击, 设置成true, 按钮就可以点击。
emit siSetHeadEmbBtnEnable ( true ) ;
}
else //双头组合绣模式
{
m_threeCombineEmb = 1 ;
ui - > buttonThreeCombineEmb - > setCheckable ( true ) ; //setCheckable(true)为属性,表示可以选中
ui - > buttonThreeCombineEmb - > setChecked ( false ) ;
ui - > buttonCombineEmb - > setCheckable ( true ) ;
ui - > buttonCombineEmb - > setChecked ( true ) ; //setChecked( true) 为属性的值, 表示已经选中
ui - > buttonHeadEmb - > setEnabled ( false ) ;
emit siSetHeadEmbBtnEnable ( false ) ;
}
initNeedleBar ( ) ;
refreshColorShow ( ) ;
}
void ColorOrderSetWidget : : on_buttonThreeCombineEmb_clicked ( )
{
m_threeCombineEmb * = - 1 ;
if ( m_threeCombineEmb = = 1 ) //非三头组合绣模式
{
ui - > buttonThreeCombineEmb - > setCheckable ( true ) ; //setCheckable(true)为属性,表示可以选中
ui - > buttonThreeCombineEmb - > setChecked ( false ) ;
ui - > buttonHeadEmb - > setEnabled ( true ) ; //false , 按钮就不可点击, 设置成true, 按钮就可以点击。
emit siSetHeadEmbBtnEnable ( true ) ;
}
else //三头组合绣模式
{
m_combineEmb = 1 ;
ui - > buttonCombineEmb - > setCheckable ( true ) ; //setCheckable(true)为属性,表示可以选中
ui - > buttonCombineEmb - > setChecked ( false ) ;
ui - > buttonThreeCombineEmb - > setCheckable ( true ) ;
ui - > buttonThreeCombineEmb - > setChecked ( true ) ; //setChecked( true) 为属性的值, 表示已经选中
ui - > buttonHeadEmb - > setEnabled ( false ) ;
emit siSetHeadEmbBtnEnable ( false ) ;
}
initNeedleBar ( ) ;
refreshColorShow ( ) ;
}
void ColorOrderSetWidget : : mousePressEvent ( QMouseEvent * e )
{
if ( e - > button ( ) = = Qt : : LeftButton )
{
m_mousePressX = e - > x ( ) ;
m_mousePressY = e - > y ( ) ;
m_mouseReleaseX = 0 ;
m_mouseReleaseY = 0 ;
}
}
void ColorOrderSetWidget : : mouseReleaseEvent ( QMouseEvent * e )
{
if ( e - > button ( ) = = Qt : : LeftButton )
{
m_mouseReleaseX = e - > x ( ) ;
m_mouseReleaseY = e - > y ( ) ;
}
int width = this - > width ( ) ;
int height = this - > height ( ) ;
if ( ( m_mousePressX > = 0 & & m_mousePressX < = 100 ) & &
( ( m_mousePressY > = ( height - 100 ) ) & & m_mousePressY < = height ) & &
( ( m_mouseReleaseX > = ( width - 100 ) ) & & m_mouseReleaseX < = width ) & &
( ( m_mouseReleaseY > = ( height - 100 ) ) & & m_mouseReleaseY < = height ) )
{
MainWidgetFunction mainFunction ;
QString usbPath ; //优盘路径
usbPath = mainFunction . detectUsb ( ) ; //优盘检测
if ( usbPath . length ( ) < = 0 )
{
//优盘不存在
return ;
}
else
{
QPixmap pixmap = QPixmap : : grabWindow ( this - > winId ( ) , 0 , 0 , this - > width ( ) , this - > height ( ) ) ; //截屏存放在pixmap
QString name_pc = usbPath + " EMB " + //
QDateTime : : currentDateTime ( ) . toString ( " yyyyMMdd " ) + //获取时期时间
+ " _ " +
QDateTime : : currentDateTime ( ) . toString ( " hhmmss " ) + " .png " ;
pixmap . save ( name_pc , " png " ) ; // 路径
}
}
m_mousePressX = 0 ;
m_mousePressY = 0 ;
m_mouseReleaseX = 0 ;
m_mouseReleaseY = 0 ;
}
//色序设定是否解锁,锁住时针杆不可切换,未锁住时针杆可切换
void ColorOrderSetWidget : : on_buttonColorSetLock_clicked ( )
{
m_colorSetBtnLockFlag * = - 1 ;
refreshLockBtn ( ) ;
}
//切换成不同的针杆显示
void ColorOrderSetWidget : : on_buttonNeedle_clicked ( )
{
int towel = g_pSettings - > readFromInHMIiFile ( " HMI/towel " ) . toInt ( ) ; //是否有毛巾功能
int coil = g_pSettings - > readFromInHMIiFile ( " HMI/coil " ) . toInt ( ) ; //是否有缠绕功能
int laser = g_pSettings - > readFromInHMIiFile ( " HMI/laser " ) . toInt ( ) ; //是否有激光功能
ui - > buttonExplanation - > setEnabled ( false ) ;
switch ( m_colorBeginStepCtrl )
{
case DATA_CHAIN :
{
if ( coil = = 1 )
{
m_colorBeginStepCtrl = DATA_SAWTOOTH ;
ui - > buttonExplanation - > setEnabled ( true ) ;
}
else
{
//纯毛巾时不会带激光
if ( laser = = 1 )
{
m_colorBeginStepCtrl = DATA_LASER ; //缠绕变激光
}
else if ( g_emProductType = = PRODUCT_CHEN ) //纯毛巾
{
m_colorBeginStepCtrl = DATA_CHENILLE ;
}
else
{
m_colorBeginStepCtrl = DATA_EMB ;
}
}
break ;
}
case DATA_LASER :
{
m_colorBeginStepCtrl = DATA_EMB ;
break ;
}
case DATA_EMB : //第一次进来是平绣
{
if ( ( towel = = 1 & & coil ! = 1 ) | |
( coil = = 1 & & towel = = 1 ) | |
( g_emProductType = = PRODUCT_CHEN )
)
{
m_colorBeginStepCtrl = DATA_CHENILLE ;
}
if ( coil = = 1 & & towel ! = 1 )
{
m_colorBeginStepCtrl = DATA_SAWTOOTH ;
ui - > buttonExplanation - > setEnabled ( true ) ;
}
if ( coil ! = 1 & & towel ! = 1 )
{
if ( laser = = 1 )
{
m_colorBeginStepCtrl = DATA_LASER ;
}
}
break ;
}
case DATA_CHENILLE :
{
m_colorBeginStepCtrl = DATA_CHAIN ;
break ;
}
case DATA_SAWTOOTH :
{
m_colorBeginStepCtrl = DATA_RIBBON ;
ui - > buttonExplanation - > setEnabled ( true ) ;
break ;
}
case DATA_RIBBON :
{
m_colorBeginStepCtrl = DATA_COIL ;
ui - > buttonExplanation - > setEnabled ( true ) ;
break ;
}
case DATA_COIL :
{
if ( laser = = 1 )
{
m_colorBeginStepCtrl = DATA_LASER ; //缠绕变激光
}
else
{
m_colorBeginStepCtrl = DATA_EMB ;
}
break ;
}
default :
m_colorBeginStepCtrl = DATA_EMB ;
break ;
}
switchNeedleBar ( ) ;
}
//缠绕绣的说明按钮
void ColorOrderSetWidget : : on_buttonExplanation_clicked ( )
{
if ( m_colorBeginStepCtrl = = DATA_COIL )
{
PromptDialog dlg ( this ) ;
dlg . initDialog ( PromptDialog : : BTN_OK ) ;
dlg . setTitleStr ( tr ( " Coil function description " ) ) ; //缠绕功能说明
dlg . setContentStr ( tr ( " W1: Left-handed 1; W2: Left-handed 2; W3: Left-handed 3; W4:Left-handed 4;W5:Right-handed 1;W6:Right-handed 2;W7:Right-handed 3;W8:Right-handed 4;W9:Winding plain embroidery " ) ) ; //W1:左旋1;W2:左旋2;W3:左旋3;W4:左旋4;
dlg . exec ( ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_RIBBON )
{
PromptDialog dlg ( this ) ;
dlg . initDialog ( PromptDialog : : BTN_OK ) ;
dlg . setTitleStr ( tr ( " Ribbon function description " ) ) ; //盘带功能说明
dlg . setContentStr ( tr ( " R1: Normal 1; R2: Pleated embroidery " ) ) ; //盘带1是正常,2是褶绣
dlg . exec ( ) ;
}
else if ( m_colorBeginStepCtrl = = DATA_SAWTOOTH )
{
PromptDialog dlg ( this ) ;
dlg . initDialog ( PromptDialog : : BTN_OK ) ;
dlg . setTitleStr ( tr ( " Sawtooh function description " ) ) ; //锯齿功能说明
dlg . setContentStr ( tr ( " Z1: Each needle swings once; Z2: The same as Z1, with additional embroidery frame compensation;Z3: The needle will swing when it is dropped in place, and the needle will not swing when it is inserted; Z4: One swing per needle and one swing per three needles alternately; Z5: The needle will swing when it is dropped in place, and the needle will not swing when it is inserted; Z6: Swing once every two stitches " ) ) ; //Z1:每针摆动一次;Z2:同Z1,附加绣框补偿;
//Z3:原地落两针摆动,进针不摆;Z4:每针摆动一次和每三针摆动一次交替进行;Z5:原地落一针摆动,进针不摆;Z6:每两针摆动一次
dlg . exec ( ) ;
}
}
//激光色序快捷按钮
void ColorOrderSetWidget : : on_buttonColorLaser_clicked ( )
{
//快捷设置色序按钮是激光色序5
int colorInPage = EMB_NEEDLE_NUM + PUNCH_NEEDLE_NUM + SEW_NEEDLE_NUM + RIBBON_NEEDLE_NUM + TOWEL_NEEDLE_NUM + CHAIN_NEEDLE_NUM + COIL_NEEDLE_NUM + REV2_NEEDLE_NUM + SAWTOOTH_NEEDLE_NUM + REV3_NEEDLE_NUM + LASER_NEEDLE_NUM - 5 ;
if ( m_curSelectColor > = 0 )
{
int colorInTab = m_colorTable . at ( m_curSelectColor ) ; // 文件中的色序
if ( colorInTab ! = colorInPage )
{
m_colorTable [ m_curSelectColor ] = colorInPage ;
emit siChangeColorTable ( m_curSelectColor , colorInPage ) ; //针杆写入色序表
}
//当前色序设定完成后自动跳到下一色序
if ( m_curSelectColor < m_colorTable . size ( ) - 1 )
{
m_curSelectColor + = 1 ; //花版中的第几个色序
}
refreshColorShow ( colorInPage ) ;
refreshPatternCurColorShow ( ) ;
initNeedleBar ( ) ; //下一个色序针杆变,在这个函数里
}
}
//是否刷新色序颜色显示
void ColorOrderSetWidget : : on_buttonRefreshColorOrder_clicked ( )
{
2024-03-01 07:57:37 +00:00
PromptDialog dlg ( this ) ;
dlg . initDialog ( PromptDialog : : BTN_OK ) ;
dlg . setTitleStr ( tr ( " Description " ) ) ; //说明
2024-02-06 06:27:07 +00:00
m_refreshColorOrder * = - 1 ;
if ( m_refreshColorOrder = = - 1 )
{
2024-03-01 07:57:37 +00:00
dlg . setContentStr ( tr ( " Turn off color sequence refresh function " ) ) ; //关闭色序刷新功能
dlg . exec ( ) ;
2024-02-06 06:27:07 +00:00
ui - > buttonRefreshColorOrder - > setCheckable ( true ) ;
ui - > buttonRefreshColorOrder - > setChecked ( true ) ; // 设置按钮的初始状态为未选中
}
else
{
2024-03-01 07:57:37 +00:00
dlg . setContentStr ( tr ( " Enable color sequence refresh function " ) ) ; //打开色序刷新功能
dlg . exec ( ) ;
2024-02-06 06:27:07 +00:00
ui - > buttonRefreshColorOrder - > setCheckable ( false ) ;
ui - > buttonRefreshColorOrder - > setChecked ( false ) ; // 设置按钮的初始状态为未选中
2024-03-01 07:57:37 +00:00
m_greyBeginStep = 0 ; //灰色起始
m_greyEndStep = m_pCurEmbData - > getStitchNums ( ) ; //灰色结束
m_pCurEmbData - > setGreyAreaRange ( m_greyBeginStep , m_greyEndStep ) ;
m_pCurEmbData - > setDispMode ( EmbData : : DISP_ALL_AREA , 1 , 1 ) ; // 重新画灰图
QPixmap patternPix = m_pCurEmbData - > getPreviewImage ( ) ;
ui - > labelPatternView - > setPixmap ( patternPix ) ;
2024-02-06 06:27:07 +00:00
}
}