Beispiel #1
0
int ButtonApplyCommand (HWND hwndDlg, WPARAM wParam, LPARAM lParam) {

	switch (HIWORD(wParam)) {
		
		case BN_CLICKED: 
			EditSave(hwndDlg);
			return true;	
	}

	return false;
}
//-----------------------------------------------------------------------------
//!
//-----------------------------------------------------------------------------
void tSuzukiRepowerEnginePanel::keyPressEvent( QKeyEvent* pEvent )
{
    bool editMode = m_pPageWidget->InEditMode();
    pEvent->ignore();

    switch( pEvent->key() )
    {
    case Key::Enter:
    case Key::Rotary:
        if( pEvent->isAutoRepeat() ) break;
      
        if( editMode )
        {
            SelectInfo();
        }
        else
        {
            EnterEditMode();
        }            
        pEvent->accept();
        break;    

    case Key::Exit:
        if( pEvent->isAutoRepeat() ) break;

        if( editMode )
        {
            EditCancel();
            pEvent->accept();
        }
        break;

    default:
        if( pEvent->isAutoRepeat() ) break;

        if( editMode )
        {
            EditSave();
        }

        tPanel::keyPressEvent( pEvent );
        break;
    }
}
//-----------------------------------------------------------------------------
//!
//-----------------------------------------------------------------------------
void tSuzukiRepowerEnginePanel::CreateActions()
{
    m_pSpacerAct = new tAction( this );

    m_pEditAct = new tAction( tr( "Edit" ) + "...", this );
    m_pEditAct->SetAbbreviation( tr( "Edit", "[abbrev] for Edit" ) );
    Connect( m_pEditAct, SIGNAL( triggered() ), this, SLOT( EnterEditMode() ) );

    m_pSaveAct = new tAction( tr( "Save", "[button]" ), this );
    m_pSaveAct->SetAbbreviation( tr( "Save", "[abbrev] for Save" ) );
    Connect( m_pSaveAct, SIGNAL( triggered() ), this, SLOT( EditSave() ) );

    m_pCancelAct = new tAction( tr( "Cancel", "[button]" ), this );
    m_pCancelAct->SetAbbreviation( tr( "Cancel", "[abbrev] for Cancel" ) );
    m_pCancelAct->SetAppearance( Action::DestructiveAppearance );
    Connect( m_pCancelAct, SIGNAL( triggered() ), this, SLOT( EditCancel() ), Qt::QueuedConnection );

    m_pChangeGaugeRangeAct = new tAction( tr( "Configure limits", "[button]" ) + "..." );
    m_pChangeGaugeRangeAct->SetAbbreviation( tr( "Config. limits", "[abbrev] for Configure limits" ) );
    Connect( m_pChangeGaugeRangeAct, SIGNAL( triggered() ), this, SLOT( ConfigureGaugeLimits() ) );

    m_pSelectDataAct = new tAction( tr( "Select info" ) + "..." );
    m_pSelectDataAct->SetAbbreviation( tr( "Select info", "[abbrev] for Select information" ) );
    Connect( m_pSelectDataAct, SIGNAL( triggered() ), this, SLOT( SelectInfo() ) );

    m_pAddSourceAct = new tAction( tr( "Add" ) );
    m_pAddSourceAct->SetAbbreviation( tr( "Add", "[abbrev] for Add" ) );
    m_pRemoveSourceAct = new tAction( tr( "Remove" ) );
    m_pRemoveSourceAct->SetAbbreviation( tr( "Remove", "[abbrev] for Remove" ) );
    m_pAutoAct = new tAction( tr( "Auto" ), this );
    m_pAutoAct->SetAbbreviation( tr( "Auto", "[abbrev] for Auto" ) );
    m_pAutoAct->setCheckable( true );

    m_pSourceMenuAct = new tAction( tr("Sources"), tr( "Sources", "[abbrev] for Sources" ), this );
    m_pSourceMenuAct->AppendSubAction( m_pAddSourceAct );
    m_pSourceMenuAct->AppendSubAction( m_pRemoveSourceAct );
    m_pSourceMenuAct->AppendSubAction( m_pAutoAct );
    Connect( m_pAddSourceAct, SIGNAL( triggered() ), m_pPageWidget, SLOT( AddSource() ) );
    Connect( m_pRemoveSourceAct, SIGNAL( triggered() ), m_pPageWidget, SLOT( RemoveSource() ), Qt::QueuedConnection );
    Connect( m_pAutoAct, SIGNAL( toggled( bool ) ), m_pPageWidget, SLOT( SetAutoConfigureSources( bool ) ) );
}
//-----------------------------------------------------------------------------
//!
//-----------------------------------------------------------------------------
void tSuzukiRepowerEnginePanel::EditCancel()
{
    if ( m_pPageWidget && 
         true == m_pPageWidget->InEditMode() )
    {
        QString name = QString( tr( "Edit" ) + " " + tUiConfig::Instance()->InfoTerm() );
        if( true == m_pPageWidget->IsDataModified() &&
            tMessageBox::SaveChanges( this, name ) == tMessageBox::SAVE )
        {
            EditSave();
        }
        else
        {
            m_pPageWidget->ReloadGauges();
            m_pPageWidget->EnableEditMode( false );
            UpdateActionList();

            if ( m_pInfoBox )
            {
                m_pInfoBox->hide();
            }
        }
    }
}
Beispiel #5
0
INT_PTR CALLBACK SetupDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {
	ScriptManager& sm = ScriptManager::Get();
	ScriptSet* ss = sm.edPtr->tData->scripts;

	switch (uMsg) {

	case WM_INITDIALOG:
		sm.InitDlg(hwndDlg);
		return TRUE;

	case WM_CLOSE:
		sm.EndDlg(hwndDlg);
		return FALSE;

	case WM_SIZE:
		ResizeSetup(hwndDlg, LOWORD(lParam), HIWORD(lParam));
		return TRUE;

	case WM_COMMAND:

		switch (LOWORD(wParam)) {
			case IDOK:
				EditSave(hwndDlg);
				sm.EndDlg(hwndDlg);
				EndDialog(hwndDlg, IDOK);
				break;

			case IDCANCEL:
				EditDiscard(hwndDlg);
				sm.EndDlg(hwndDlg);
				EndDialog(hwndDlg, IDCANCEL);
				break;

			case IDC_LIST_SCRIPT:
				ScriptListCommand(hwndDlg, wParam, lParam);
				break;

			case IDC_BUTTON_REMSCRIPT:
				if (HIWORD(wParam) == BN_CLICKED)
					ScriptDelete(hwndDlg);
				break;

			case IDC_BUTTON_ADDSCRIPT:
				if (HIWORD(wParam) == BN_CLICKED)
					ScriptAdd(hwndDlg);
				break;

			case IDC_BUTTON_NAMESCRIPT:
				if (HIWORD(wParam) == BN_CLICKED)
					ScriptRename(hwndDlg);
				break;

			case IDC_CHECKBOX_AUTORUN:
				return CheckboxAutorunCommand(hwndDlg, wParam, lParam);

			case IDC_BUTTON_APPLY:
				return ButtonApplyCommand(hwndDlg, wParam, lParam);
		}

		if (ss && ss->curScript && LOWORD(wParam) == sm.stec.GetResource())
			return EditCommand(hwndDlg, wParam, lParam);

		return false;

	case WM_NOTIFY:

		if (ss && ss->curScript && LOWORD(wParam) == sm.stec.GetResource())
			return EditNotify(hwndDlg, wParam, lParam);

		return false;

	default:
		return FALSE;
	}

	return TRUE;
}