/***************************************************************** 関数名 : GameEdit 機能 : 武器編集の処理 引数 : なし 出力 : ゲームの状態 *****************************************************************/ int GameEdit() { InitEdit(); while(gState == GAME_EDIT) { InputKey(); DrawEdit(); } return gState; }
void FolderTree::DisplayObject() { //if(!TopScreen) TopScreen=new SaveScreen; if (ModalMode == MODALTREE_FREE) { string strSelFolder(Tree->GetCurDir()); //Tree->Update(UPDATE_KEEP_SELECTION); Tree->Update(0); Tree->GoToFile(strSelFolder); } Tree->Redraw(); Shadow(); DrawEdit(); if (!IsFullScreen) { m_windowKeyBar->SetPosition(0,ScrY,ScrX,ScrY); m_windowKeyBar->Show(); } else m_windowKeyBar->Hide(); }
int FolderTree::ProcessMouse(MOUSE_EVENT_RECORD *MouseEvent) { if (TreeKeyBar.ProcessMouse(MouseEvent)) return TRUE; if (MouseEvent->dwEventFlags==DOUBLE_CLICK) { ProcessKey(KEY_ENTER); return TRUE; } int MsX=MouseEvent->dwMousePosition.X; int MsY=MouseEvent->dwMousePosition.Y; if ((MsX<X1 || MsY<Y1 || MsX>X2 || MsY>Y2) && IntKeyState.MouseEventFlags != MOUSE_MOVED) { if (!(MouseEvent->dwButtonState & FROM_LEFT_1ST_BUTTON_PRESSED) && (IntKeyState.PrevMouseButtonState&FROM_LEFT_1ST_BUTTON_PRESSED) && (Global->Opt->Dialogs.MouseButton&DMOUSEBUTTON_LEFT)) ProcessKey(KEY_ESC); else if (!(MouseEvent->dwButtonState & RIGHTMOST_BUTTON_PRESSED) && (IntKeyState.PrevMouseButtonState&RIGHTMOST_BUTTON_PRESSED) && (Global->Opt->Dialogs.MouseButton&DMOUSEBUTTON_RIGHT)) ProcessKey(KEY_ENTER); return TRUE; } if (MsY == Y2-2) FindEdit->ProcessMouse(MouseEvent); else { if (!Tree->ProcessMouse(MouseEvent)) SetExitCode(XC_MODIFIED); else DrawEdit(); } return TRUE; }
int FolderTree::ProcessKey(int Key) { if (Key>=KEY_ALT_BASE+0x01 && Key<=KEY_ALT_BASE+65535) Key=Lower(Key-KEY_ALT_BASE); else if (Key>=KEY_RALT_BASE+0x01 && Key<=KEY_RALT_BASE+65535) Key=Lower(Key-KEY_RALT_BASE); switch (Key) { case KEY_F1: { Help Hlp(L"FindFolder"); } break; case KEY_ESC: case KEY_F10: FrameManager->DeleteFrame(); SetExitCode(XC_MODIFIED); break; case KEY_NUMENTER: case KEY_ENTER: Tree->GetCurDir(strNewFolder); if (apiGetFileAttributes(strNewFolder)!=INVALID_FILE_ATTRIBUTES) { FrameManager->DeleteFrame(); SetExitCode(XC_MODIFIED); } else { Tree->ProcessKey(KEY_ENTER); DrawEdit(); } break; case KEY_F5: IsFullScreen=!IsFullScreen; ResizeConsole(); return TRUE; case KEY_CTRLR: case KEY_RCTRLR: case KEY_F2: Tree->ProcessKey(KEY_CTRLR); DrawEdit(); break; case KEY_CTRLNUMENTER: case KEY_RCTRLNUMENTER: case KEY_CTRLSHIFTNUMENTER: case KEY_RCTRLSHIFTNUMENTER: case KEY_CTRLENTER: case KEY_RCTRLENTER: case KEY_CTRLSHIFTENTER: case KEY_RCTRLSHIFTENTER: { string strName; FindEdit->GetString(strName); Tree->FindPartName(strName,TRUE,Key==KEY_CTRLSHIFTENTER||Key==KEY_RCTRLSHIFTENTER||Key == KEY_CTRLSHIFTNUMENTER||Key == KEY_RCTRLSHIFTNUMENTER?-1:1,1); DrawEdit(); } break; case KEY_UP: case KEY_NUMPAD8: case KEY_DOWN: case KEY_NUMPAD2: case KEY_PGUP: case KEY_NUMPAD9: case KEY_PGDN: case KEY_NUMPAD3: case KEY_HOME: case KEY_NUMPAD7: case KEY_END: case KEY_NUMPAD1: case KEY_MSWHEEL_UP: case(KEY_MSWHEEL_UP | KEY_ALT): case(KEY_MSWHEEL_UP | KEY_RALT): case KEY_MSWHEEL_DOWN: case(KEY_MSWHEEL_DOWN | KEY_ALT): case(KEY_MSWHEEL_DOWN | KEY_RALT): FindEdit->SetString(L""); Tree->ProcessKey(Key); DrawEdit(); break; default: if (Key == KEY_ADD || Key == KEY_SUBTRACT) // OFM: Gray+/Gray- navigation { Tree->ProcessKey(Key); DrawEdit(); break; } /* else { if((Key&(~KEY_CTRLMASK)) == KEY_ADD) Key='+'; else if((Key&(~KEY_CTRLMASK)) == KEY_SUBTRACT) Key='-'; } */ if (FindEdit->ProcessKey(Key)) { string strName; FindEdit->GetString(strName); if (Tree->FindPartName(strName,FALSE,1,1)) strLastName = strName; else { FindEdit->SetString(strLastName); strName = strLastName; } DrawEdit(); } break; } return TRUE; }
int FolderTree::ProcessKey(const Manager::Key& Key) { int LocalKey=Key.FarKey(); if (LocalKey>=KEY_ALT_BASE+0x01 && LocalKey<=KEY_ALT_BASE+65535) LocalKey=ToLower(LocalKey-KEY_ALT_BASE); else if (LocalKey>=KEY_RALT_BASE+0x01 && LocalKey<=KEY_RALT_BASE+65535) LocalKey=ToLower(LocalKey-KEY_RALT_BASE); switch (LocalKey) { case KEY_F1: { Help::create(L"FindFolder"); } break; case KEY_ESC: case KEY_F10: Global->WindowManager->DeleteWindow(); SetExitCode(XC_MODIFIED); break; case KEY_NUMENTER: case KEY_ENTER: strNewFolder = Tree->GetCurDir(); if (os::fs::exists(strNewFolder)) { Global->WindowManager->DeleteWindow(); SetExitCode(XC_MODIFIED); } else { Tree->ProcessKey(Manager::Key(KEY_ENTER)); DrawEdit(); } break; case KEY_F5: IsFullScreen=!IsFullScreen; ResizeConsole(); Show(); return TRUE; case KEY_CTRLR: case KEY_RCTRLR: case KEY_F2: Tree->ProcessKey(Manager::Key(KEY_CTRLR)); DrawEdit(); break; case KEY_CTRLNUMENTER: case KEY_RCTRLNUMENTER: case KEY_CTRLSHIFTNUMENTER: case KEY_RCTRLSHIFTNUMENTER: case KEY_CTRLENTER: case KEY_RCTRLENTER: case KEY_CTRLSHIFTENTER: case KEY_RCTRLSHIFTENTER: { string strName; FindEdit->GetString(strName); Tree->FindPartName(strName, TRUE, LocalKey == KEY_CTRLSHIFTENTER || LocalKey == KEY_RCTRLSHIFTENTER || LocalKey == KEY_CTRLSHIFTNUMENTER || LocalKey == KEY_RCTRLSHIFTNUMENTER? -1 : 1); DrawEdit(); } break; case KEY_UP: case KEY_NUMPAD8: case KEY_DOWN: case KEY_NUMPAD2: case KEY_PGUP: case KEY_NUMPAD9: case KEY_PGDN: case KEY_NUMPAD3: case KEY_HOME: case KEY_NUMPAD7: case KEY_END: case KEY_NUMPAD1: case KEY_MSWHEEL_UP: case(KEY_MSWHEEL_UP | KEY_ALT): case(KEY_MSWHEEL_UP | KEY_RALT): case KEY_MSWHEEL_DOWN: case(KEY_MSWHEEL_DOWN | KEY_ALT): case(KEY_MSWHEEL_DOWN | KEY_RALT): FindEdit->SetString(L""); Tree->ProcessKey(Key); DrawEdit(); break; default: if (LocalKey == KEY_ADD || LocalKey == KEY_SUBTRACT) // OFM: Gray+/Gray- navigation { Tree->ProcessKey(Key); DrawEdit(); break; } /* else { if((Key&(~KEY_CTRLMASK)) == KEY_ADD) Key='+'; else if((Key&(~KEY_CTRLMASK)) == KEY_SUBTRACT) Key='-'; } */ if (FindEdit->ProcessKey(Key)) { string strName; FindEdit->GetString(strName); if (Tree->FindPartName(strName, FALSE, 1)) strLastName = strName; else { FindEdit->SetString(strLastName.data()); strName = strLastName; } DrawEdit(); } break; } return TRUE; }