void JXWebBrowser::Receive ( JBroadcaster* sender, const Message& message ) { if (sender == itsPrefsDialog && message.Is(JXDialogDirector::kDeactivated)) { const JXDialogDirector::Deactivated* info = dynamic_cast<const JXDialogDirector::Deactivated*>(&message); assert( info != NULL ); if (info->Successful()) { JString showURLCmd, showFileContentCmd, showFileLocationCmd, composeMailCmd; itsPrefsDialog->GetPrefs(&showURLCmd, &showFileContentCmd, &showFileLocationCmd, &composeMailCmd); itsSaveChangesFlag = kJFalse; SetShowURLCmd(showURLCmd); SetShowFileContentCmd(showFileContentCmd); SetShowFileLocationCmd(showFileLocationCmd); SetComposeMailCmd(composeMailCmd); itsSaveChangesFlag = kJTrue; SaveCommands(); } itsPrefsDialog = NULL; } else { JXSharedPrefObject::Receive(sender, message); } }
void AdvancedCompilerOptionsDlg::CheckForChanges() { // changes can only happen after constructor : aka no longer (-1, -1) if(m_LastCmdIndex != -1 && m_LastExtIndex != -1) { SaveCommands(m_LastCmdIndex, m_LastExtIndex); } } // end of CheckForChanges
bool CompositeCommandsModule::ExecCommand(const Command& command, bool wantAnswer) { if(wantAnswer) PublishSingleton = UNKNOWN_COMMAND; size_t argsCount = command.GetArgsCount(); if(command.GetType() == ctGET) { if(wantAnswer) PublishSingleton = NOT_SUPPORTED; } else if(command.GetType() == ctSET) { if(argsCount < 1) { PublishSingleton = PARAMS_MISSED; } else { // есть параметры String which = command.GetArg(0); if(which == CC_DELETE_COMMAND) // очистить все команды { Clear(); if(wantAnswer) PublishSingleton = REG_DEL; // говорим, что удалили всё PublishSingleton.Status = true; } // CC_DELETE_COMMAND else if(which == CC_SAVE_COMMAND) // сохранить команды в EEPROM { SaveCommands(); if(wantAnswer) PublishSingleton = REG_SUCC; // говорим, что сохранили PublishSingleton.Status = true; } // CC_SAVE_COMMAND else if(which == CC_PROCESS_COMMAND) // выполнить команду { if(argsCount > 1) { // хватает аргументов uint8_t cmd = abs(atoi(command.GetArg(1))); ProcessCommand(cmd); // выполняем составную команду if(wantAnswer) PublishSingleton = REG_SUCC; // говорим, что выполнили PublishSingleton.Status = true; } else { // не хватает аргументов if(wantAnswer) PublishSingleton = PARAMS_MISSED; } } // CC_PROCESS_COMMAND else if(which == CC_ADD_COMMAND) // добавить параметр в список составной команды { if(argsCount > 3) { uint8_t listIdx = abs(atoi(command.GetArg(1))); uint8_t action = abs(atoi(command.GetArg(2))); uint8_t param = abs(atoi(command.GetArg(3))); AddCommand(listIdx,action,param); // добавляем команду if(wantAnswer) PublishSingleton = REG_SUCC; // говорим, что добавили PublishSingleton.Status = true; } else { // не хватает аргументов if(wantAnswer) PublishSingleton = PARAMS_MISSED; } } // CC_ADD_COMMAND } // else } // ctSET // отвечаем на команду MainController->Publish(this,command); return PublishSingleton.Status; }
pawsShortcutWindow::~pawsShortcutWindow() { SaveCommands(); }
// bool pawsShortcutWindow::OnButtonPressed( int mouseButton, int keyModifier, pawsWidget* widget ) bool pawsShortcutWindow::OnButtonReleased( int mouseButton, int keyModifier, pawsWidget* widget ) { if (!subWidget) subWidget = PawsManager::GetSingleton().FindWidget("ShortcutEdit"); if (!labelBox) labelBox = dynamic_cast <pawsEditTextBox*> (subWidget->FindWidget("LabelBox")); if (!textBox) textBox = dynamic_cast <pawsMultilineEditTextBox*> (subWidget->FindWidget("CommandBox")); if (!shortcutText) shortcutText = dynamic_cast <pawsTextBox*> (subWidget->FindWidget("ShortcutText")); // These should not be NULL CS_ASSERT(subWidget); CS_ASSERT(labelBox); CS_ASSERT(textBox); CS_ASSERT(shortcutText); BringToTop(this); // Finished Configuring command button switch ( widget->GetID() ) { case DONE_BUTTON: { if (!labelBox->GetText() || *(labelBox->GetText()) == '\0') { if (textBox->GetText() && *(textBox->GetText()) != '\0') { //no name but a command was specified. psSystemMessage msg(0,MSG_ERROR,PawsManager::GetSingleton().Translate("Please specify a name when creating a shortcut.")); msg.FireEvent(); return true; } else //shortcut is empty and will be removed. Also remove possible key binding. { csString editedCmd; editedCmd.Format("Shortcut %d",edit+1); psengine->GetCharControl()->RemapTrigger(editedCmd,psControl::NONE,0,0); } } // Otherwise save the label and command as it is names[edit] = labelBox->GetText(); cmds[edit] = textBox->GetText(); CalcButtonSize(); UpdateMatrix(); LayoutMatrix(); SetWindowSizeToFitMatrix(); PawsManager::GetSingleton().SetModalWidget(NULL); PawsManager::GetSingleton().SetCurrentFocusedWidget(this); subWidget->Hide(); pawsWidget * configKeyAsWidget = PawsManager::GetSingleton().FindWidget("ConfigKeys"); pawsConfigKeys * configKey = dynamic_cast<pawsConfigKeys*> (configKeyAsWidget); if (configKey) { configKey->UpdateNicks(); } SaveCommands(); return true; } case CLEAR_BUTTON: { labelBox->Clear(); textBox->Clear(); return true; } case CANCEL_BUTTON: { PawsManager::GetSingleton().SetModalWidget(NULL); PawsManager::GetSingleton().SetCurrentFocusedWidget(this); subWidget->Hide(); return true; } case SETKEY_BUTTON: { pawsWidget * fingWndAsWidget; fingWndAsWidget = PawsManager::GetSingleton().FindWidget("FingeringWindow"); if (fingWndAsWidget == NULL) { Error1("Could not find widget FingeringWindow"); return false; } pawsFingeringWindow * fingWnd = dynamic_cast<pawsFingeringWindow *>(fingWndAsWidget); if (fingWnd == NULL) { Error1("FingeringWindow is not pawsFingeringWindow"); return false; } fingWnd->ShowDialog(this, labelBox->GetText()); return true; } } // switch( ... ) // Execute clicked on button if ( mouseButton == csmbLeft && !(keyModifier & CSMASK_CTRL)) ExecuteCommand( widget->GetID() - SHORTCUT_BUTTON_OFFSET, false ); // Configure the button that was clicked on else if ( mouseButton == csmbRight || (mouseButton == csmbLeft && (keyModifier & CSMASK_CTRL)) ) { edit = widget->GetID() - SHORTCUT_BUTTON_OFFSET; if ( edit < 0 || edit >= NUM_SHORTCUTS ) return false; if (!subWidget || !labelBox || !textBox || !shortcutText) return false; if ( names[edit] && names[edit].Length() ) labelBox->SetText( names[edit].GetData() ); else labelBox->Clear(); if ( cmds[edit] && cmds[edit].Length() ) { textBox->SetText( cmds[edit].GetData() ); shortcutText->SetText( GetTriggerText(edit) ); } else { textBox->Clear(); shortcutText->SetText(""); } subWidget->Show(); PawsManager::GetSingleton().SetCurrentFocusedWidget(textBox); } else { return false; } return true; }
Autoexec::~Autoexec() { SaveCommands(); }