std::string InputBox(const std::string &msg, const std::string &init, int max, chtype out) { CDialog *dialog = CreateBaseDialog(TColorPair(COLOR_GREEN, COLOR_BLUE), TColorPair(COLOR_WHITE, COLOR_BLUE), 50); CLabel *label = new CLabel(msg, false); label->SetMaxReqWidth(MaxW()); dialog->AddWidget(label); CInputField *input = new CInputField(init, CInputField::STRING, max, out); dialog->StartPack(input, true, true, 1, 0); CButton *okbutton = new CButton(GetTranslation("OK")), *cancelbutton = new CButton(GetTranslation("Cancel")); dialog->AddButton(okbutton, false, false); dialog->AddButton(cancelbutton, false, false); TUI.AddGroup(dialog, true); while (dialog->Run()) ; std::string ret; if (dialog->ActivatedWidget() != cancelbutton) ret = input->Value(); delete dialog; return ret; }
bool iProgressDialog::CreateProgressDlg(const iStringT &caption, const iStringT &lbl_text, bool cancel_btn, bool visible) { m_CanCanceled = cancel_btn; m_IsCanceled = false; iSize clsize(300,50); iSize wsize(clsize.w + GetSystemMetrics(SM_CXDLGFRAME)*2,clsize.h+GetSystemMetrics(SM_CYSMCAPTION)+GetSystemMetrics(SM_CYDLGFRAME)*2); if (m_CanCanceled) wsize.h += (25+5); if (!CreateBaseDialog(wsize, caption,DLGSTL_TOOLWINDOW | DLGSTL_TOPMOST, visible)) return false; HFONT fnt = (HFONT)GetStockObject(DEFAULT_GUI_FONT); RECT lblrect = { 5,5,295,25}; if (!m_TextLabel.Create(m_hWnd,lblrect,lbl_text.CStr(),SS_CENTER | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS)) return false; m_TextLabel.SetFont(fnt); RECT prgrect = { 5,25,295,45 }; if (!m_ProgressCtrl.Create(m_hWnd,prgrect,0,WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS)) return false; if (m_CanCanceled) { RECT btnrect = { 100,50,200,75 }; if (!m_CancelBtn.Create(m_hWnd,btnrect, _T("Cancel"),WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS,0,1024)) return false; m_CancelBtn.SetFont(fnt); } return true; }
void WarningBox(const std::string &msg) { CDialog *dialog = CreateBaseDialog(TColorPair(COLOR_YELLOW, COLOR_RED), TColorPair(COLOR_WHITE, COLOR_RED), 30, 0, msg); dialog->AddButton(new CButton(GetTranslation("OK"))); TUI.AddGroup(dialog, true); while (dialog->Run()) ; delete dialog; }
void MessageBox(const std::string &msg) { CDialog *dialog = CreateBaseDialog(TColorPair(COLOR_GREEN, COLOR_BLUE), TColorPair(COLOR_WHITE, COLOR_BLUE), 25, 0, msg); dialog->AddButton(new CButton(GetTranslation("OK"))); TUI.AddGroup(dialog, true); while (dialog->Run()) ; delete dialog; }
bool YesNoBox(const std::string &msg) { CDialog *dialog = CreateBaseDialog(TColorPair(COLOR_GREEN, COLOR_BLUE), TColorPair(COLOR_WHITE, COLOR_BLUE), 30, 0, msg); CButton *nobutton = new CButton(GetTranslation("No")), *yesbutton = new CButton(GetTranslation("Yes")); dialog->AddButton(yesbutton); dialog->AddButton(nobutton); TUI.AddGroup(dialog, true); while (dialog->Run()) ; bool ret = (dialog->ActivatedWidget() == yesbutton); delete dialog; return ret; }