void SettingsWindow::MessageReceived(BMessage* message) { switch (message->what) { case M_SETTINGS_CHANGED: ApplySettings(); break; case B_KEY_DOWN: int32 index; if (message->FindInt32("key", &index) == B_OK && index == 1) PostMessage(B_QUIT_REQUESTED); break; case M_SETTINGS_REVERT: Revert(); break; case M_SETTINGS_CANCEL: Revert(); // fall through case M_SETTINGS_SAVE: PostMessage(B_QUIT_REQUESTED); break; default: BWindow::MessageReceived(message); break; } }
JFSBindingList::JFSBindingList ( const JCharacter* signalFileName, const JCharacter** needUserCheck ) : JContainer(), itsUseDefaultFlag(kJFalse), itsUserDefault(NULL), itsSystemDefault(NULL), itsShellCmd(kDefaultShellCmd), itsWindowCmd(kDefaultWindowCmd), itsAutoShellFlag(kJFalse), itsSignalFileName(signalFileName) { itsBindingList = new JPtrArray<JFSBinding>(JPtrArrayT::kDeleteAll); assert( itsBindingList != NULL ); itsBindingList->SetCompareFunction(JFSBinding::ComparePatterns); itsOverriddenList = new JPtrArray<JFSBinding>(JPtrArrayT::kDeleteAll); assert( itsOverriddenList != NULL ); itsOverriddenList->SetCompareFunction(JFSBinding::ComparePatterns); InstallOrderedSet(itsBindingList); *needUserCheck = Revert(); }
// check and see if the message needs saving, and whether to ditch it or not bool AwayEditorWindow::CheckMessage() { if( !hasSelection ) return true; BAlert* alert; if( isDirty || genView->textview->IsDirty() ) { alert = new BAlert("", Language.get("AME_SAVE_CHANGES"), Language.get("CANCEL_LABEL"), Language.get("IGNORE_LABEL"), Language.get("SAVE_LABEL"), B_WIDTH_AS_USUAL, B_OFFSET_SPACING, B_WARNING_ALERT); alert->SetShortcut( 0, B_ESCAPE ); int32 index = alert->Go(); if( index == 2 ) if( SaveMessage() ) return true; else return false; if( index == 1 ) { if( currentMsg == BString(Language.get("AME_NEW_MESSAGE")) ) DeleteMessage(); } if( index == 0 ) { Revert(); return false; } } return true; }
MainObject::MainObject(QObject *parent) :QObject(parent) { new RDApplication(RDApplication::Console,"rdrevert",RDREVERT_USAGE); bool ok=false; int set_schema=0; rev_use_deadzone=false; // // Check for Root Permissions // if(geteuid()!=0) { fprintf(stderr,"rdrevert: this program requires root permissions\n"); exit(256); } // // Read Command Options // for(unsigned i=0;i<rda->cmdSwitch()->keys();i++) { if(rda->cmdSwitch()->key(i)=="--set-schema") { set_schema=rda->cmdSwitch()->value(i).toInt(&ok); if((!ok)||(set_schema<0)) { fprintf(stderr,"rdrevert: invalid schema value\n"); exit(256); } rda->cmdSwitch()->setProcessed(i,true); } if(rda->cmdSwitch()->key(i)=="--set-version") { if((set_schema=MapSchema(rda->cmdSwitch()->value(i)))==0) { fprintf(stderr,"rdrevert: invalid/unsupported Rivendell version\n"); exit(256); } rda->cmdSwitch()->setProcessed(i,true); } } if(!rda->cmdSwitch()->allProcessed()) { fprintf(stderr,"rdrevert: unknown option\n"); exit(256); } int start_schema=GetVersion(); if(set_schema==0) { printf("%d\n",start_schema); exit(0); } if((set_schema<RDREVERT_BASE_SCHEMA)||(set_schema>start_schema)) { fprintf(stderr,"rdrevert: unsupported schema\n"); exit(256); } if((start_schema>=246)&&(start_schema<=253)) { rev_use_deadzone=true; } while(start_schema>set_schema) { Revert(start_schema--); } exit(0); }
void FontSelectionView::SetDefaults() { font_family family; font_style style; float size; const char* fontName; if (strcmp(Name(), "menu") == 0) fontName = "plain"; else fontName = Name(); if (_get_system_default_font_(fontName, family, style, &size) != B_OK) { Revert(); return; } BFont defaultFont; defaultFont.SetFamilyAndStyle(family, style); defaultFont.SetSize(size); if (defaultFont == fCurrentFont) return; _SelectCurrentFont(false); fCurrentFont = defaultFont; _UpdateFontPreview(); _SelectCurrentFont(true); _SelectCurrentSize(); }
AudioTimingControllerKaraoke::AudioTimingControllerKaraoke(agi::Context *c, AssKaraoke *kara, agi::signal::Connection& file_changed) : file_changed_slot(file_changed) , c(c) , active_line(c->selectionController->GetActiveLine()) , kara(kara) , cur_syl(0) , separator_pen("Colour/Audio Display/Syllable Boundaries", "Audio/Line Boundaries Thickness", wxPENSTYLE_DOT) , start_pen("Colour/Audio Display/Line boundary Start", "Audio/Line Boundaries Thickness") , end_pen("Colour/Audio Display/Line boundary End", "Audio/Line Boundaries Thickness") , start_marker(active_line->Start, &start_pen, AudioMarker::Feet_Right) , end_marker(active_line->End, &end_pen, AudioMarker::Feet_Left) , keyframes_provider(c, "Audio/Display/Draw/Keyframes in Karaoke Mode") , video_position_provider(c) , auto_commit(OPT_GET("Audio/Auto/Commit")->GetBool()) , commit_id(-1) { slots.push_back(kara->AddSyllablesChangedListener(&AudioTimingControllerKaraoke::Revert, this)); slots.push_back(OPT_SUB("Audio/Auto/Commit", &AudioTimingControllerKaraoke::OnAutoCommitChange, this)); keyframes_provider.AddMarkerMovedListener(std::bind(std::ref(AnnounceMarkerMoved))); video_position_provider.AddMarkerMovedListener(std::bind(std::ref(AnnounceMarkerMoved))); Revert(); }
void JFSBindingList::RevertIfModified() { if (NeedsRevert()) { Revert(); } }
void FftWaveUi::InitConnector() { connect(close_btn_, SIGNAL(clicked()), this, SLOT(close())); connect(xyz_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged())); connect(x_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged())); connect(y_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged())); connect(z_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged())); connect(back_tbtn_, SIGNAL(clicked()), fft_image_, SLOT(Revert())); }
int CGit::Revert(CTGitPathList &list,bool keep) { int ret; for(int i=0;i<list.GetCount();i++) { ret = Revert((CTGitPath&)list[i],keep); if(ret) return ret; } return 0; }
// * Update frame void CAnimationModifier_VScan::UpdateFrame() { int i; if(mStarted == 1) { for(i = 0; i < 4; i++) { mSpeed = mVertexList[i].dy + 10; mVertexList[i].dy += mSpeed * gFrameTime * mDirection; } if(mVertexList[2].dy > g_screen_height) { mVertexList[2].dy = g_screen_height; Revert(); } if(mVertexList[2].dy < 0.0f) { mVertexList[2].dy = 0.0f; Revert(); } } }
void SettingsWindow::MessageReceived(BMessage* message) { switch (message->what) { case M_AUTOSTART: case M_CLOSE_WINDOW_MOVIE: case M_CLOSE_WINDOW_SOUNDS: case M_LOOP_MOVIE: case M_LOOP_SOUND: case M_USE_OVERLAYS: case M_SCALE_BILINEAR: case M_START_FULL_VOLUME: case M_START_HALF_VOLUME: case M_START_MUTE_VOLUME: ApplySettings(); break; case B_KEY_DOWN: int32 index; if (message->FindInt32("key", &index) == B_OK && index == 1) PostMessage(B_QUIT_REQUESTED); break; case M_SETTINGS_REVERT: Revert(); break; case M_SETTINGS_CANCEL: Revert(); // fall through case M_SETTINGS_SAVE: PostMessage(B_QUIT_REQUESTED); break; default: BWindow::MessageReceived(message); break; } }
//--每次把最大的翻转到最下面,计算这种方法所需要的次数 //--计算过程中保存翻转结果,因为这种方法可能就是最小翻转次数的方法 //--这个次数可以作为翻转次数的上界 int UpBound_case(int* pCakeArray, int nCakeCnt) { int re = 0; for (int j = nCakeCnt - 1 ; ;) { while(j > 0 && j == pCakeArray[j]) --j; if (j <= 0) break; int i = j; while (i >= 0 && pCakeArray[i] != j) --i; if (i != 0) { Revert(pCakeArray, 0, i); re++; } Revert(pCakeArray, 0, j); re++; --j; } return re; }
// * Update frame void CAnimationModifier_HScan::UpdateFrame() { int i; if(mStarted == 1) { for(i = 0; i < 4; i++) { mVertexList[i].dx += mSpeed * gFrameTime * mDirection; } if(mVertexList[2].dx < mParam1) { Revert(); for(i = 0; i < 4; i++) mVertexList[i].dx = mParam1; } if(mVertexList[2].dx > mParam2) { Revert(); for(i = 0; i < 4; i++) mVertexList[i].dx = mParam2; } } }
HRESULT STDMETHODCALLTYPE CPopupMenu::InvokeCommand( __in CMINVOKECOMMANDINFO *pici) { if(HIWORD(((CMINVOKECOMMANDINFOEX *)pici)->lpVerbW)){ return S_OK; } else { if(1 == LOWORD(pici->lpVerb)){ SetEnv(); } else if(2 == LOWORD(pici->lpVerb)){ Update(); } else if(3 == LOWORD(pici->lpVerb)){ Checkout(); } else if(4 == LOWORD(pici->lpVerb)){ Commit(); } else if(5 == LOWORD(pici->lpVerb)){ Checkin(); } else if(6 == LOWORD(pici->lpVerb)){ Cancel(); } else if(7 == LOWORD(pici->lpVerb)){ Add(); } else if(8 == LOWORD(pici->lpVerb)){ Revert(); } else if(9 == LOWORD(pici->lpVerb)){ Merge(); } else if(10 == LOWORD(pici->lpVerb)){ ShowLog(); } else if(11 == LOWORD(pici->lpVerb)){ Diff(); } else if(12 == LOWORD(pici->lpVerb)){ Compare(); } else if(13 == LOWORD(pici->lpVerb)){ UpdateRelyFiles(); } } return S_OK; }
InterfaceAddressView::InterfaceAddressView(BRect frame, int family, NetworkSettings* settings) : BGroupView(B_VERTICAL), fSettings(settings), fFamily(family) { SetLayout(new BGroupLayout(B_VERTICAL)); // Create our controls fModePopUpMenu = new BPopUpMenu("modes"); fModePopUpMenu->AddItem(new BMenuItem(B_TRANSLATE("DHCP"), new BMessage(M_MODE_AUTO))); fModePopUpMenu->AddItem(new BMenuItem(B_TRANSLATE("Static"), new BMessage(M_MODE_STATIC))); fModePopUpMenu->AddSeparatorItem(); fModePopUpMenu->AddItem(new BMenuItem(B_TRANSLATE("Off"), new BMessage(M_MODE_OFF))); fModeField = new BMenuField(B_TRANSLATE("Mode:"), fModePopUpMenu); fModeField->SetToolTip(BString(B_TRANSLATE("The method for obtaining an IP address"))); float minimumWidth = be_control_look->DefaultItemSpacing() * 16; fAddressField = new BTextControl(B_TRANSLATE("IP Address:"), NULL, NULL); fAddressField->SetToolTip(BString(B_TRANSLATE("Your IP address"))); fAddressField->TextView()->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET)); fNetmaskField = new BTextControl(B_TRANSLATE("Netmask:"), NULL, NULL); fNetmaskField->SetToolTip(BString(B_TRANSLATE("Your netmask"))); fNetmaskField->TextView()->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET)); fGatewayField = new BTextControl(B_TRANSLATE("Gateway:"), NULL, NULL); fGatewayField->SetToolTip(BString(B_TRANSLATE("Your gateway"))); fGatewayField->TextView()->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET)); Revert(); // Populate the fields BLayoutBuilder::Group<>(this) .AddGrid() .AddMenuField(fModeField, 0, 0, B_ALIGN_RIGHT) .AddTextControl(fAddressField, 0, 1, B_ALIGN_RIGHT) .AddTextControl(fNetmaskField, 0, 2, B_ALIGN_RIGHT) .AddTextControl(fGatewayField, 0, 3, B_ALIGN_RIGHT) .End() .AddGlue() .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING); }
bool AwayEditorWindow::SaveMessage() { if( client->AwayMode() == AM_STANDARD_MESSAGE ) { if( client->CurrentAwayMessageName() == currentMsg ) { windows->ShowMessage( Language.get("AME_ERR1"), B_INFO_ALERT ); return false; } } BString text = genView->messageName->Text(); if( text == BString(Language.get("AME_NEW_MESSAGE")) || text == BString("") ) { windows->ShowMessage( Language.get("AME_ERR2"), B_WARNING_ALERT ); Revert(); genView->messageName->MakeFocus(true); return false; } if( (text != currentMsg) && (prefs->FindAwayMessage(text) != -1) ) { windows->ShowMessage( Language.get("AME_ERR3"), B_WARNING_ALERT ); Revert(); genView->messageName->MakeFocus(true); return false; } int32 selected = genView->listview->CurrentSelection(); BString message = genView->textview->Text(); message.ReplaceAll( "\n", "<br>" ); prefs->SetAwayMessage( genView->messageName->Text(), currentMsg, message ); BuildList(); isDirty = false; genView->textview->MakeDirty(false); genView->listview->Select( selected ); PostAppMessage( new BMessage(BEAIM_LOAD_AWAY_MENU) ); return true; }
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH){ DisableThreadLibraryCalls(hinstDLL); CreateThread(0, 0, (LPTHREAD_START_ROUTINE)mainFunction, NULL, 0, 0); return true; } else if (fdwReason == DLL_PROCESS_DETACH) { Revert(); return true; } return false; }
void CCar::PhDataUpdate(float step) { if(m_repairing)Revert(); LimitWheels(); UpdateFuel(step); //if(fwp) { UpdatePower(); if(b_engine_on&&!b_starting && m_current_rpm<m_min_rpm)Stall(); } if(bkp) { UpdateBack(); } if(brp) HandBreak(); ////////////////////////////////////////////////////////// for (int k=0; k<(int)m_doors_update.size(); ++k){ SDoor* D = m_doors_update[k]; if (!D->update) { m_doors_update.erase(m_doors_update.begin()+k); --k; } else { D->Update(); } } m_steer_angle=m_steering_wheels.begin()->GetSteerAngle()*0.1f+m_steer_angle*0.9f; VERIFY(_valid(m_steer_angle)); }
//////////////////////////////////////////////////////////////////////// /// /// @fn void BonusModifierAbstract::Tick( float temps ) /// /// Default tick behavior for time based modifiers /// /// @param[in] float temps /// /// @return void /// //////////////////////////////////////////////////////////////////////// void BonusModifierAbstract::Tick( float temps ) { #ifdef WIN32 if(!IsFinished()) { mTimeToLive -= temps; auto field = mCreator->getField(); if(field) { auto game = field->getGame(); if(game) { mTimeToLive = 10 - (game->obtenirGameTime()->Elapsed_Time_sec() - mBeginTime); } } if(mTimeToLive < 0) { Revert(); Complete(); } } #endif }
VOID DoWM_COMMAND(HWND hwnd, WPARAM wParam, LPARAM lParam) { switch (HIWORD(wParam)) { case EN_CHANGE: if (fileopen) { SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)DirtyMsg); filedirty = TRUE; TimerReset(); } else { SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"File not opened! (save or open new file)."); } break; case BN_CLICKED: if (fileopen) { if (LOWORD(wParam) == BTN_OPENFOLDER) OpenFolder(hwnd); if (LOWORD(wParam) == BTN_REVERT) Revert(hwnd); } else { if (LOWORD(wParam) == BTN_OPENFILE) PromptAndLoadFile(hwnd); } break; } switch (LOWORD(wParam)) { case ID_FILE_EXIT: PostMessage(hwnd, WM_CLOSE, 0, 0); break; case ID_VIEW_HEADERAREA: { HMENU hMenu = GetMenu(hwnd); statusarea = !statusarea; CheckMenuItem(hMenu, ID_VIEW_HEADERAREA, statusarea ? MF_CHECKED : MF_UNCHECKED); FullRedraw(hwnd); break; } case ID_VIEW_STATUSBAR: { HMENU hMenu = GetMenu(hwnd); statusbar = !statusbar; CheckMenuItem(hMenu, ID_VIEW_STATUSBAR, statusbar ? MF_CHECKED : MF_UNCHECKED); ShowWindow(hStatus, statusbar); FullRedraw(hwnd); break; } case ID_VIEW_ORIGINALFILEDATA: { HMENU hMenu = GetMenu(hwnd); OrigDataWindow = !OrigDataWindow; CheckMenuItem(hMenu, ID_VIEW_ORIGINALFILEDATA, statusbar ? MF_CHECKED : MF_UNCHECKED); ShowWindow(hOriginalDataWindow, OrigDataWindow); FullRedraw(hwnd); break; } } }
AppearancePrefView::AppearancePrefView(const char* name, const BMessenger& messenger) : BGroupView(name, B_VERTICAL, 5), fTerminalMessenger(messenger) { const char* kColorTable[] = { B_TRANSLATE_MARK("Text"), B_TRANSLATE_MARK("Background"), B_TRANSLATE_MARK("Cursor"), B_TRANSLATE_MARK("Text under cursor"), B_TRANSLATE_MARK("Selected text"), B_TRANSLATE_MARK("Selected background"), NULL }; fBlinkCursor = new BCheckBox( B_TRANSLATE("Blinking cursor"), new BMessage(MSG_BLINK_CURSOR_CHANGED)); fBrightInsteadOfBold = new BCheckBox( B_TRANSLATE("Use bright instead of bold text"), new BMessage(MSG_BRIGHT_INSTEAD_OF_BOLD_CHANGED)); fWarnOnExit = new BCheckBox( B_TRANSLATE("Confirm exit if active programs exist"), new BMessage(MSG_WARN_ON_EXIT_CHANGED)); BMenu* fontMenu = _MakeFontMenu(MSG_HALF_FONT_CHANGED, PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY), PrefHandler::Default()->getString(PREF_HALF_FONT_STYLE)); fFontField = new BMenuField(B_TRANSLATE("Font:"), fontMenu); BMenu* sizeMenu = new (std::nothrow) BPopUpMenu( B_TRANSLATE_COMMENT("Custom", "Window size")); if (sizeMenu != NULL) { TermWindow::MakeWindowSizeMenu(sizeMenu); sizeMenu->SetLabelFromMarked(true); } fWindowSizeField = new BMenuField(B_TRANSLATE("Window size:"), sizeMenu); BMenu* encodingMenu = new (std::nothrow) BPopUpMenu("Text encoding"); if (encodingMenu != NULL) { TermWindow::MakeEncodingMenu(encodingMenu); encodingMenu->SetLabelFromMarked(true); } fEncodingField = new BMenuField(B_TRANSLATE("Encoding:"), encodingMenu); BPopUpMenu* schemesPopUp = _MakeColorSchemeMenu(MSG_COLOR_SCHEME_CHANGED, gPredefinedColorSchemes, gPredefinedColorSchemes[0]); fColorSchemeField = new BMenuField(B_TRANSLATE("Color scheme:"), schemesPopUp); BPopUpMenu* colorsPopUp = _MakeMenu(MSG_COLOR_FIELD_CHANGED, kColorTable, kColorTable[0]); fColorField = new BMenuField(B_TRANSLATE("Color:"), colorsPopUp); fTabTitle = new BTextControl("tabTitle", B_TRANSLATE("Tab title:"), "", NULL); fTabTitle->SetModificationMessage( new BMessage(MSG_TAB_TITLE_SETTING_CHANGED)); fTabTitle->SetToolTip(BString(B_TRANSLATE( "The pattern specifying the tab titles. The following placeholders\n" "can be used:\n")) << kTooTipSetTabTitlePlaceholders); fWindowTitle = new BTextControl("windowTitle", B_TRANSLATE("Window title:"), "", NULL); fWindowTitle->SetModificationMessage( new BMessage(MSG_WINDOW_TITLE_SETTING_CHANGED)); fWindowTitle->SetToolTip(BString(B_TRANSLATE( "The pattern specifying the window titles. The following placeholders\n" "can be used:\n")) << kTooTipSetWindowTitlePlaceholders); BLayoutBuilder::Group<>(this) .SetInsets(5, 5, 5, 5) .AddGrid(5, 5) .Add(fTabTitle->CreateLabelLayoutItem(), 0, 0) .Add(fTabTitle->CreateTextViewLayoutItem(), 1, 0) .Add(fWindowTitle->CreateLabelLayoutItem(), 0, 1) .Add(fWindowTitle->CreateTextViewLayoutItem(), 1, 1) .Add(fWindowSizeField->CreateLabelLayoutItem(), 0, 2) .Add(fWindowSizeField->CreateMenuBarLayoutItem(), 1, 2) .Add(fFontField->CreateLabelLayoutItem(), 0, 3) .Add(fFontField->CreateMenuBarLayoutItem(), 1, 3) .Add(fEncodingField->CreateLabelLayoutItem(), 0, 4) .Add(fEncodingField->CreateMenuBarLayoutItem(), 1, 4) .Add(fColorSchemeField->CreateLabelLayoutItem(), 0, 5) .Add(fColorSchemeField->CreateMenuBarLayoutItem(), 1, 5) .Add(fColorField->CreateLabelLayoutItem(), 0, 6) .Add(fColorField->CreateMenuBarLayoutItem(), 1, 6) .End() .AddGlue() .Add(fColorControl = new BColorControl(BPoint(10, 10), B_CELLS_32x8, 8.0, "", new BMessage(MSG_COLOR_CHANGED))) .Add(fBlinkCursor) .Add(fBrightInsteadOfBold) .Add(fWarnOnExit); fTabTitle->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); fWindowTitle->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); fFontField->SetAlignment(B_ALIGN_RIGHT); fWindowSizeField->SetAlignment(B_ALIGN_RIGHT); fEncodingField->SetAlignment(B_ALIGN_RIGHT); fColorField->SetAlignment(B_ALIGN_RIGHT); fColorSchemeField->SetAlignment(B_ALIGN_RIGHT); Revert(); BTextControl* redInput = (BTextControl*)fColorControl->ChildAt(0); BTextControl* greenInput = (BTextControl*)fColorControl->ChildAt(1); BTextControl* blueInput = (BTextControl*)fColorControl->ChildAt(2); redInput->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); greenInput->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); blueInput->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); }
void ThemeInterfaceView::MessageReceived(BMessage *_msg) { ThemeManager *tman; int32 value; int32 id; _msg->PrintToStream(); switch(_msg->what) { case B_REFS_RECEIVED: _msg->PrintToStream(); break; case kMakeScreenshot: AddScreenshot(); break; case kThemeSelected: ThemeSelected(); break; case kApplyThemeBtn: ApplySelected(); break; case kCreateThemeBtn: if (fNameText->IsHidden()) { float w = fNameText->Bounds().Width() + 10.0; fNameText->Show(); fNameText->MakeFocus(); fNewBtn->MoveBy(w, 0); fSaveBtn->MoveBy(w, 0); fDeleteBtn->MoveBy(w, 0); break; } else { float w = fNameText->Bounds().Width() + 10.0; fNameText->Hide(); fNameText->MakeFocus(false); fNewBtn->MoveBy(-w, 0); fSaveBtn->MoveBy(-w, 0); fDeleteBtn->MoveBy(-w, 0); } /* FALLTHROUGH */ case kReallyCreateTheme: CreateNew(fNameText->Text()); break; case kSaveThemeBtn: SaveSelected(); break; case kDeleteThemeBtn: DeleteSelected(); break; #if 0 case kColorsChanged: case kGeneralChanged: case kFontsChanged: { BMessenger msgr (Parent()); msgr.SendMessage(B_PREF_APP_ENABLE_REVERT); BMessage changes; if (_msg->FindMessage("changes", &changes) == B_OK) { update_ui_settings(changes); } break; } #endif case B_PREF_APP_SET_DEFAULTS: { ApplyDefaults(); break; } case B_PREF_APP_REVERT: { Revert(); break; } case B_PREF_APP_ADDON_REF: { break; } case kThemeChanged: { /* BMessage data; BMessage names; get_ui_settings(&data, &names); fColorSelector->Update(data); fFontSelector->Refresh(); fGeneralSelector->Refresh(data); */ break; } case CB_APPLY: tman = GetThemeManager(); _msg->PrintToStream(); if (_msg->FindInt32("be:value", &value) < B_OK) value = false; if (_msg->FindInt32("addon", &id) < B_OK) break; if (id > -1) { tman->SetAddonFlags(id, (tman->AddonFlags(id) & ~Z_THEME_ADDON_DO_SET_ALL) | (value?Z_THEME_ADDON_DO_SET_ALL:0)); } else { // apply globally int32 i; for (i = fAddonList->CountItems() - 1; i > 0; i--) { ThemeAddonItem *item = static_cast<ThemeAddonItem *>(fAddonList->ItemAt(i)); item->ApplyBox()->SetValue(value); tman->SetAddonFlags(item->AddonId(), (tman->AddonFlags(item->AddonId()) & ~Z_THEME_ADDON_DO_SET_ALL) | (value?Z_THEME_ADDON_DO_SET_ALL:0)); } } break; case CB_SAVE: tman = GetThemeManager(); _msg->PrintToStream(); if (_msg->FindInt32("be:value", &value) < B_OK) value = false; if (_msg->FindInt32("addon", &id) < B_OK) break; if (id > -1) { tman->SetAddonFlags(id, (tman->AddonFlags(id) & ~Z_THEME_ADDON_DO_RETRIEVE) | (value?Z_THEME_ADDON_DO_RETRIEVE:0)); } else { // apply globally int32 i; for (i = fAddonList->CountItems() - 1; i > 0; i--) { ThemeAddonItem *item = static_cast<ThemeAddonItem *>(fAddonList->ItemAt(i)); item->SaveBox()->SetValue(value); tman->SetAddonFlags(item->AddonId(), (tman->AddonFlags(item->AddonId()) & ~Z_THEME_ADDON_DO_RETRIEVE) | (value?Z_THEME_ADDON_DO_RETRIEVE:0)); } } break; case BTN_PREFS: tman = GetThemeManager(); if (_msg->FindInt32("addon", &id) < B_OK) break; tman->RunPreferencesPanel(id); break; case kHideSSPulse: break; case kShowSSPulse: break; case skOnlineThemes: { /* ZETA code: be_roster->Launch( "application/x-vnd.Mozilla-Firefox", 1, (char **)&skThemeURL); */ if (!be_roster->IsRunning(kHaikuDepotSig)) { be_roster->Launch(kHaikuDepotSig); snooze(1000000); } BMessenger msgr(kHaikuDepotSig); BMessage message(B_SET_PROPERTY); message.AddString("data", "_theme"); message.AddSpecifier("Value"); message.AddSpecifier("View", "search terms"); message.AddSpecifier("Window", (int32)0); msgr.SendMessage(&message); break; } default: { BView::MessageReceived(_msg); break; } } }
File::CWow64RedirDisable::~CWow64RedirDisable() { Revert(); }
// 排序的主函数 //--第endBound+1 个烧饼后均以排好序,没有必要对排好序的进行交换 //--因为交换已经排好序的烧饼只能使交换次数增大 //--如果当前搜索的序列排好序则返回true,否则返回false bool Search(int step, int endBound) { int i, nEstimate; m_nSearch++; // 估算这次搜索所需要的最小交换次数 nEstimate = LowerBound(m_ReverseCakeArray, m_nCakeCnt); //--遇到相等情形,若对于翻转次数为m_nMaxSwap的结果已经保存,流程继续。 //--后面再遇到就可以跳过了,因为针对该翻转次数的结果已经保存, //无需再计算 if(step + nEstimate == m_nMaxSwap && flag1 == false); else if(step + nEstimate >= m_nMaxSwap) return false; //重新计算排好序的位置 int k = endBound; while(k > 0 && k == m_ReverseCakeArray[k]) --k; // 如果k=0,说明已经排好序,即翻转完成,输出结果 //if(IsSorted(m_ReverseCakeArray, m_nCakeCnt)) if(k == 0) { if(step < m_nMaxSwap) { //--当前找到的一个解 m_nMaxSwap = step; for(i = 0; i < m_nMaxSwap; i++) m_SwapArray[i] = m_ReverseCakeArraySwap[i]; } else if(step == m_nMaxSwap && flag1 == false) { //--只有第一次碰到step == m_nMaxSwap时才做如下操作 //--因为m_nMaxSwap可能是最小翻转次数,因此要记录此次结果 //--后面再碰到相等时,可以忽略,因为不用重复保存结果 for(i = 0; i < m_nMaxSwap; i++) m_SwapArray[i] = m_ReverseCakeArraySwap[i]; flag1 = true; } return true; } // 递归进行翻转,k之后已经排好序的位置就不用翻转了 std::vector<node> swapIndexScore; //对翻转后的序列进行评估,评估它到排序好的序列之间的距离,优先搜索距离小的序列 for(i = 1; i <=k; i++) { struct node tnode; tnode.index = i; tnode.score = nEstimate;//原始序列的分数 //求翻转后的分数,翻转后只有翻转位置影响分数的大小 if(i != m_nCakeCnt - 1) { if(abs(m_ReverseCakeArray[i] - m_ReverseCakeArray[i+1]) == 1) tnode.score++; if(abs(m_ReverseCakeArray[0] - m_ReverseCakeArray[i+1]) == 1) tnode.score--; } else { if(m_ReverseCakeArray[i] == i)tnode.score++; if(m_ReverseCakeArray[0] == i)tnode.score--; } swapIndexScore.push_back(tnode); } //按照得分小到大排序,得分小的优先搜索 sort(swapIndexScore.begin(), swapIndexScore.end(),comp); for(i = 0; i < swapIndexScore.size() ; i++) { Revert(m_ReverseCakeArray, 0, swapIndexScore[i].index); m_ReverseCakeArraySwap[step] = swapIndexScore[i].index; bool isDone = Search(step + 1, k); Revert(m_ReverseCakeArray, 0, swapIndexScore[i].index); //如果该搜索序列有序,那么其他翻转方案肯定会导致无序,因此不需要搜索 if(isDone == true)break; } // for(i = 1; i <=k ; i++) // { // Revert(m_ReverseCakeArray, 0, i); // m_ReverseCakeArraySwap[step] = i; // Search(step + 1, k); // Revert(m_ReverseCakeArray, 0, i); // } return false; }
~DebugToken() { Revert(); }
void MonitorEx::Shutdown( void ) { Revert(); videoModeList.Clear(); }
CWinWow64FsRedirectionGuard::~CWinWow64FsRedirectionGuard() { Revert(); }