HMenu::HMenu(HMenuData *Item,int ItemCount): SubMenu(nullptr), Item(Item), ItemCount(ItemCount), VExitCode(-1) { SetDynamicallyBorn(FALSE); SetRestoreScreenMode(TRUE); FrameManager->ModalizeFrame(this); }
void Search::init() { SetMacroMode(MACROAREA_SEARCH); SetRestoreScreenMode(true); m_FindEdit = std::make_unique<EditControl>(shared_from_this(), this); m_FindEdit->SetEditBeyondEnd(false); m_FindEdit->SetObjectColor(COL_DIALOGEDIT); InitPositionAndSize(); }
FolderTree::FolderTree(string &strResultFolder,int iModalMode,int IsStandalone,bool IsFullScreen): Tree(nullptr), FindEdit(nullptr), ModalMode(iModalMode), IsFullScreen(IsFullScreen), IsStandalone(IsStandalone), PrevMacroMode(CtrlObject->Macro.GetMode()) { SetDynamicallyBorn(FALSE); SetRestoreScreenMode(TRUE); if (ModalMode != MODALTREE_FREE) strResultFolder.Clear(); KeyBarVisible = TRUE; // Заставим обновлятся кейбар //TopScreen=new SaveScreen; SetCoords(); if ((Tree=new TreeList(FALSE))) { CtrlObject->Macro.SetMode(MACRO_FINDFOLDER); MacroMode = MACRO_FINDFOLDER; strLastName.Clear(); Tree->SetModalMode(ModalMode); Tree->SetPosition(X1,Y1,X2,Y2); if (ModalMode == MODALTREE_FREE) Tree->SetRootDir(strResultFolder); Tree->SetVisible(TRUE); Tree->Update(0); // если было прерывание в процессе сканирования и это было дерево копира... if (Tree->GetExitCode()) { if (!(FindEdit=new Edit)) { SetExitCode(XC_OPEN_ERROR); return; } FindEdit->SetEditBeyondEnd(FALSE); FindEdit->SetPersistentBlocks(Global->Opt->Dialogs.EditBlock); InitKeyBar(); FrameManager->ExecuteModal(this); //OT } strResultFolder = strNewFolder; } else { SetExitCode(XC_OPEN_ERROR); } }
void FolderTree::init(string &strResultFolder) { m_windowKeyBar = std::make_unique<KeyBar>(shared_from_this()); SetRestoreScreenMode(true); if (ModalMode != MODALTREE_FREE) strResultFolder.clear(); m_KeyBarVisible = TRUE; // Заставим обновляться кейбар //TopScreen=new SaveScreen; SetCoords(); Tree.reset(new TreeList(nullptr, false)); SetMacroMode(MACROAREA_FINDFOLDER); strLastName.clear(); Tree->SetModalMode(ModalMode); Tree->SetPosition(m_X1,m_Y1,m_X2,m_Y2); if (ModalMode == MODALTREE_FREE) Tree->SetRootDir(strResultFolder); Tree->SetVisible(true); Tree->Update(0); // если было прерывание в процессе сканирования и это было дерево копира... if (Tree->GetExitCode()) { FindEdit = std::make_unique<EditControl>(shared_from_this(),shared_from_this().get()); FindEdit->SetEditBeyondEnd(false); FindEdit->SetPersistentBlocks(Global->Opt->Dialogs.EditBlock); InitKeyBar(); Global->WindowManager->ExecuteWindow(shared_from_this()); //OT Global->WindowManager->ExecuteModal(shared_from_this()); //OT } strResultFolder = strNewFolder; }