void T3kSoftlogicDlg::on_BtnSave_clicked()
{
    m_pTabPanelWidget->updateDataFromUI();

    T3kCommonData::KeyDataMode eMode = T3kCommonData::instance()->getKeyDataMode();
    T3kCommonData::instance()->setKeyDataMode( T3kCommonData::KeyDataModeNormal );

    QString strPanelName = T3kCommonData::instance()->getKeys().getPanelName();

    T3kCommonData::instance()->setKeyDataMode( eMode );
    if( strPanelName.isEmpty() )
    {
        QMessageBox msg( QMessageBox::Critical, "Error", "Panel Name is required.", QMessageBox::Ok, this );
        msg.exec();
        setFocusPanelName();
        return;
    }

    QString strModelName( m_strLoadedModelPathName.right( m_strLoadedModelPathName.length() - m_strLoadedModelPathName.lastIndexOf('/') - 1 ) );
    int nIdx = strModelName.indexOf( '.' );
    strModelName = strModelName.left( nIdx );

    if( m_strLoadedModelPathName.isEmpty() || strModelName != strPanelName )
    {
        QString strFileName = strPanelName;
        strFileName += ".hsk";

        QString strDir( QApplication::applicationDirPath() );
        if( !m_strLoadedModelPathName.isEmpty() )
        {
            int nBP = m_strLoadedModelPathName.lastIndexOf( '/' );
            strDir = m_strLoadedModelPathName.left( nBP+1 );
        }

        QString strSave = QFileDialog::getSaveFileName( this, "Save", strDir, "Files(*.hsk)", &strFileName );
        if( strSave.isEmpty() )
            return;

        m_strLoadedModelPathName = strSave;
    }

    saveModel( m_strLoadedModelPathName );
    QString strLoad = m_strLoadedModelPathName;
    loadModel( strLoad );

    m_pTabPanelWidget->updateUIFromData();
    onUpdatePrewview();

    T3kCommonData::instance()->resetCalibrationData();

    //m_wndTab.ResetNotify();
}
示例#2
0
void CDlgModelManage::OnContextStop()
{
	POSITION pos=m_listModelState.GetFirstSelectedItemPosition();
	if(pos==NULL)
	{
		return;
	}
	int nId=(int)m_listModelState.GetNextSelectedItem(pos);
	//得到行号,通过POSITION转化
	////得到列中的内容(0表示第一列,同理1,2,3...表示第二,三,四...列)
	CString szModelName = m_listModelState.GetItemText(nId,0);
	string strModelName(WideCharToMultiChar(wstring(szModelName.GetBuffer())));
	szModelName.ReleaseBuffer();
	m_ProManager.Stop(strModelName);
}
void T3kSoftlogicDlg::closeEvent(QCloseEvent *)
{
    if( isModified() )
    {
        QMessageBox msg( QMessageBox::Question, "Warning", "Would you like to save this data?", QMessageBox::Yes|QMessageBox::No, this );
        if( msg.exec() == QMessageBox::Yes )
        {
            m_pTabPanelWidget->updateDataFromUI();

            T3kCommonData::KeyDataMode eMode = T3kCommonData::instance()->getKeyDataMode();
            T3kCommonData::instance()->setKeyDataMode( T3kCommonData::KeyDataModeNormal );
            QString strPanelName = T3kCommonData::instance()->getKeys().getPanelName();
            T3kCommonData::instance()->setKeyDataMode( eMode );
            if( strPanelName.isEmpty() )
            {
                QMessageBox msg( QMessageBox::Critical, "Error", "Panel Name is required.", QMessageBox::Ok, this );
                msg.exec();
                setFocusPanelName();
                return;
            }

            QString strModelName( m_strLoadedModelPathName.right( m_strLoadedModelPathName.length() - m_strLoadedModelPathName.lastIndexOf('/') - 1 ) );
            int nIdx = strModelName.indexOf( '.' );
            strModelName = strModelName.left( nIdx );

            if( m_strLoadedModelPathName.isEmpty() || strModelName != strPanelName )
            {
                QString strFileName = strPanelName;
                strFileName += ".hsk";

                QString strDir( QApplication::applicationDirPath() );
                if( !m_strLoadedModelPathName.isEmpty() )
                {
                    int nBP = m_strLoadedModelPathName.lastIndexOf( '/' );
                    strDir = m_strLoadedModelPathName.left( nBP+1 );
                }

                QString strSave = QFileDialog::getSaveFileName( this, "Save", strDir, "Files(*.hsk)", &strFileName );
                if( strSave.isEmpty() )
                    return;

                m_strLoadedModelPathName = strSave;
            }

            saveModel( m_strLoadedModelPathName );

            T3kCommonData::instance()->resetCalibrationData();

            //m_wndTab.ResetNotify();
        }
    }

    m_pTabKeyDesignWidget->close();
    m_pTabLogicDesignWidget->close();
    m_pTabCalibrationWidget->close();

    QRect rc( geometry() );
    QString str = QString("%1,%2,%3,%4").arg(rc.left()).arg(rc.top()).arg(rc.right()).arg(rc.bottom());
    QSettings settings( "Habilience", "T3kSoftlogic" );
    settings.beginGroup( "Windows" );
    settings.setValue( "Main_Pos", str );
    settings.setValue( "Main_Show", isMaximized() ? WND_MAX : isMinimized() ? WND_MIN : isHidden() ? WND_HIDE : WND_SHOW );
    settings.endGroup();

    QString strRecentModelName = m_strLoadedModelPathName;//m_SoftKey.GetPanelName();
    settings.beginGroup( "RECENT MODEL" );
    settings.setValue( "MODEL_NAME", strRecentModelName );
    settings.endGroup();
}
void T3kSoftlogicDlg::on_BtnNew_clicked()
{
    if( isModified() )
    {
        QMessageBox msg( QMessageBox::Question, "Warning", "Would you like to save this data?", QMessageBox::Yes|QMessageBox::No, this );
        if( msg.exec() == QMessageBox::Yes )
        {
            m_pTabPanelWidget->updateDataFromUI();

            QString strPanelName = T3kCommonData::instance()->getKeys().getPanelName();
            if( strPanelName.isEmpty() )
            {
                QMessageBox msg( QMessageBox::Critical, "Error", "Panel Name is required.", QMessageBox::Ok, this );
                msg.exec();
                setFocusPanelName();
                return;
            }

            QString strModelName( m_strLoadedModelPathName.right( m_strLoadedModelPathName.length() - m_strLoadedModelPathName.lastIndexOf('/') - 1 ) );
            int nIdx = strModelName.indexOf( '.' );
            strModelName = strModelName.left( nIdx );

            if( m_strLoadedModelPathName.isEmpty() || strModelName != strPanelName )
            {
                QString strFileName = strPanelName;
                strFileName += ".hsk";

                QString strDir( QApplication::applicationDirPath() );
                if( !m_strLoadedModelPathName.isEmpty() )
                {
                    int nBP = m_strLoadedModelPathName.lastIndexOf( '/' );
                    strDir = m_strLoadedModelPathName.left( nBP+1 );
                }

                QString strSave = QFileDialog::getSaveFileName( this, "Save", strDir, "Files(*.hsk)", &strFileName );
                if( strSave.isEmpty() )
                    return;

                m_strLoadedModelPathName = strSave;
            }

            saveModel( m_strLoadedModelPathName );

            T3kCommonData::instance()->resetCalibrationData();

            //m_wndTab.ResetNotify();
        }
    }

    T3kCommonData::KeyDataMode eMode = T3kCommonData::instance()->getKeyDataMode();
    T3kCommonData::instance()->setKeyDataMode( T3kCommonData::KeyDataModeNormal );

    CSoftkeyArray& Keys = T3kCommonData::instance()->getKeys();
    Keys.clear();
    T3kCommonData::instance()->getLogics().clear();

    Keys.resetPanelInfo();

    Keys.setModified( false );

    m_strLoadedModelPathName.clear();

    m_pTabPanelWidget->updateUIFromData();
    m_pTabKeyDesignWidget->refresh();

    T3kCommonData::instance()->setKeyDataMode( eMode );

    T3kCommonData::instance()->resetCalibrationData();

    onUpdatePrewview();
}