void CUIManager::Options() { CBox box(100, 100, 440, 280, 200, 50, 170); CTextBox playerName(180, 120, 20, cfg.Get("GAME", "PlayerName", "Player")); gpGeneral->DrawText(msg("menu_playername"), 110, 120, 255, 250, 50); CCheckBox cbSound(110, 150, !atoi(cfg.Get("OPTIONS", "NoSound", "0"))); gpGeneral->DrawText(msg("menu_sound"), 130, 150, 255, 250, 50); CCheckBox cbShowCards(110, 180, (atoi(cfg.Get("GAME", "ShowCards", "1")) != 0)); gpGeneral->DrawText(msg("menu_showcards"), 130, 180, 255, 250, 50); CButton btnOK(1, 110, 350, 100, 20, 50, 220, 200); gpGeneral->DrawText(msg("menu_ok"), 160 - strlen(msg("menu_ok")) * 4, 352, 255, 250, 50); CButton btnCancel(2, 220, 350, 100, 20, 50, 220, 200); gpGeneral->DrawText(msg("menu_cancel"), 270 - strlen(msg("menu_cancel")) * 4, 352, 255, 250, 50); while (1) { int key = gpGeneral->ReadKey() - SDLK_LAST; if (key == 1) { // OK button pressed if (strlen(playerName.Text()) > 0) { cfg.Set("GAME", "PlayerName", playerName.Text()); } cfg.Set("OPTIONS", "NoSound", cbSound.Checked() ? "0" : "1"); cfg.Set("GAME", "ShowCards", cbShowCards.Checked() ? "1" : "0"); g_fNoSound = !cbSound.Checked(); return; } else if (key == 2) { // Cancel button pressed return; // do nothing } } }
EditDesktopProfileDialog::EditDesktopProfileDialog(DesktopProfileFile* file, QWidget *parent) : QDialog(parent), file(file) { setupUi( this ); connect(buttonBox, SIGNAL(accepted()), this, SLOT(btnFinish())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(btnCancel())); /* sync with text fields */ txtname->setText(file->getName()); txtcomment->setPlainText(file->getComment()); txtauthors->setPlainText(file->getAuthors()); txticon->setText(file->getIconFilename()); lblStatus->setText(QLatin1String("Ready")); }
int CUIManager::NetGameMenu() { CBox box(100, 100, 440, 280, 200, 50, 170); CTextBox playerName(180, 120, 20, cfg.Get("GAME", "PlayerName", "Player")); gpGeneral->DrawText(msg("menu_playername"), 110, 120, 255, 250, 50); CTextBox pwd(180, 150, 20, cfg.Get("GAME", "ServerPwd", "")); gpGeneral->DrawText(msg("menu_password"), 110, 150, 255, 250, 50); CTextBox hostName(180, 180, 20, cfg.Get("GAME", "HostName", "")); gpGeneral->DrawText(msg("menu_hostaddr"), 110, 180, 255, 250, 50); CButton btnServer(1, 110, 350, 100, 20, 50, 220, 200); gpGeneral->DrawText(msg("menu_server"), 160 - strlen(msg("menu_server")) * 4, 352, 255, 250, 50); CButton btnClient(2, 220, 350, 100, 20, 50, 220, 200); gpGeneral->DrawText(msg("menu_client"), 270 - strlen(msg("menu_client")) * 4, 352, 255, 250, 50); CButton btnCancel(3, 330, 350, 100, 20, 50, 220, 200); gpGeneral->DrawText(msg("menu_cancel"), 380 - strlen(msg("menu_cancel")) * 4, 352, 255, 250, 50); while (1) { int key = gpGeneral->ReadKey() - SDLK_LAST; if (key == 1) { // SERVER button pressed if (strlen(playerName.Text()) > 0) { cfg.Set("GAME", "PlayerName", playerName.Text()); } cfg.Set("GAME", "ServerPwd", pwd.Text()); gpGeneral->DrawText(msg("connecting"), 0, 440, 255, 255, 0); return 1; } else if (key == 2) { // CLIENT button pressed if (strlen(hostName.Text()) <= 0) { continue; } if (strlen(playerName.Text()) > 0) { cfg.Set("GAME", "PlayerName", playerName.Text()); } cfg.Set("GAME", "HostName", hostName.Text()); cfg.Set("GAME", "ServerPwd", pwd.Text()); gpGeneral->DrawText(msg("connecting"), 0, 440, 255, 255, 0); return 2; } else if (key == 3) { // Cancel button pressed return 0; // do nothing } } return 0; }
bool ConfigureFileMasksDlg( LPCSTR Title, LPCSTR Default, FarString& Current ) { FarDialog dlg( Title ); dlg.AddText( MFileMasks ); FarEditCtrl edtFileMasks( &dlg, Current, 0, 66 ); edtFileMasks.SetNextY(); dlg.AddSeparator(); FarButtonCtrl btnOk( &dlg, MOk ); FarButtonCtrl btnReset( &dlg, MReset, DIF_CENTERGROUP ); FarButtonCtrl btnCancel( &dlg, MCancel, DIF_CENTERGROUP ); dlg.SetDefaultControl( &btnOk ); dlg.SetFocusControl( &edtFileMasks ); bool bSkipLayout = false; while ( true ) { FarControl * Ctl = dlg.Show( bSkipLayout ); if ( Ctl == &btnOk ) { Current = edtFileMasks.GetText(); return true; } else if ( Ctl == &btnReset ) { edtFileMasks.SetText( Default ); dlg.SetDefaultControl( &btnOk ); dlg.SetFocusControl( &edtFileMasks ); bSkipLayout = true; continue; } break; } return false; }
void CHTMLFilterCfg::Configure() { FarDialog dlg( MHyperViewConfiguration, "HyperViewConfig" ); dlg.AddText( MLibFullFileName ); FarEditCtrl edtLibFileName( &dlg, m_hvLib, 0, 66 ); edtLibFileName.SetNextY(); dlg.AddText( MCfgFullFileName ); FarEditCtrl edtCfgFileName( &dlg, m_hvCfg, 0, 66 ); edtCfgFileName.SetNextY(); dlg.AddSeparator(); int bEnabled = getEnabled() ? TRUE : FALSE; FarCheckCtrl chkEnabled( &dlg, MEnabled, &bEnabled ); dlg.AddSeparator(); FarButtonCtrl btnOk( &dlg, MOk ); FarButtonCtrl btnCancel( &dlg, MCancel, DIF_CENTERGROUP ); dlg.SetDefaultControl( &btnOk ); if ( bEnabled ) dlg.SetFocusControl( &edtLibFileName ); else dlg.SetFocusControl( &chkEnabled ); edtLibFileName.SetValidateFunc( validate ); edtCfgFileName.SetValidateFunc( validate ); btnOk.EnableValidate( TRUE ); if ( dlg.Show() == &btnOk ) { m_hvLib = edtLibFileName.GetText(); m_hvCfg = edtCfgFileName.GetText(); setEnabled( bEnabled != FALSE ); } }
void CTemplatesCfg::Configure() { FarDialog dlg( MViewCfg_Templates, "TemplatesConfig" ); dlg.AddText( MViewCfg_Templates_Editor ); FarEditCtrl edtETpl( &dlg, m_eTpl, 0, 66 ); edtETpl.SetNextY(); dlg.AddText( MViewCfg_Templates_Viewer ); FarEditCtrl edtVTpl( &dlg, m_vTpl, 0, 66 ); edtVTpl.SetNextY(); FarEditCtrl * edtQTpl = NULL; if ( Far::GetBuildNumber() >= 1376 ) { dlg.AddText( MViewCfg_Templates_QuickView ); edtQTpl = new FarEditCtrl( &dlg, m_qTpl, 0, 66 ); edtQTpl->SetNextY(); dlg.AddOwnedControl( edtQTpl ); } dlg.AddSeparator(); FarButtonCtrl btnOk( &dlg, MOk ); FarButtonCtrl btnCancel( &dlg, MCancel, DIF_CENTERGROUP ); dlg.SetDefaultControl( &btnOk ); dlg.SetFocusControl( &edtETpl ); dlg.Show(); m_eTpl = edtETpl.GetText(); m_vTpl = edtVTpl.GetText(); if ( edtQTpl ) m_qTpl = edtQTpl->GetText(); }
int wxFileDialog::ShowModal() { wxBeginBusyCursor(); // static char fileBuf[512]; Widget parentWidget = (Widget) 0; if (m_parent) parentWidget = (Widget) m_parent->GetTopWidget(); else parentWidget = (Widget) wxTheApp->GetTopLevelWidget(); // prepare the arg list Display* dpy = XtDisplay(parentWidget); Arg args[10]; int ac = 0; if (m_backgroundColour.IsOk()) { wxComputeColours (dpy, & m_backgroundColour, NULL); XtSetArg(args[ac], XmNbackground, g_itemColors[wxBACK_INDEX].pixel); ac++; XtSetArg(args[ac], XmNtopShadowColor, g_itemColors[wxTOPS_INDEX].pixel); ac++; XtSetArg(args[ac], XmNbottomShadowColor, g_itemColors[wxBOTS_INDEX].pixel); ac++; XtSetArg(args[ac], XmNforeground, g_itemColors[wxFORE_INDEX].pixel); ac++; } wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); #if __WXMOTIF20__ && !__WXLESSTIF__ XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++; XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++; XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++; #else XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++; XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++; XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++; #endif Widget fileSel = XmCreateFileSelectionDialog(parentWidget, wxMOTIF_STR("file_selector"), args, ac); #define wxFSChild( name ) \ XmFileSelectionBoxGetChild(fileSel, name) XtUnmanageChild(wxFSChild(XmDIALOG_HELP_BUTTON)); Widget filterWidget = wxFSChild(XmDIALOG_FILTER_TEXT); Widget selectionWidget = wxFSChild(XmDIALOG_TEXT); Widget dirListWidget = wxFSChild(XmDIALOG_DIR_LIST); Widget fileListWidget = wxFSChild(XmDIALOG_LIST); // for changing labels Widget okWidget = wxFSChild(XmDIALOG_OK_BUTTON); Widget applyWidget = wxFSChild(XmDIALOG_APPLY_BUTTON); Widget cancelWidget = wxFSChild(XmDIALOG_CANCEL_BUTTON); Widget dirlistLabel = wxFSChild(XmDIALOG_DIR_LIST_LABEL); Widget filterLabel = wxFSChild(XmDIALOG_FILTER_LABEL); Widget listLabel = wxFSChild(XmDIALOG_LIST_LABEL); Widget selectionLabel = wxFSChild(XmDIALOG_SELECTION_LABEL); #undef wxFSChild // change labels wxXmString btnOK( wxGetStockLabel( wxID_OK, false ) ), btnCancel( wxGetStockLabel( wxID_CANCEL, false ) ), btnFilter( _("Filter") ), lblFilter( _("Filter") ), lblDirectories( _("Directories") ), lblFiles( _("Files" ) ), lblSelection( _("Selection") ); XtVaSetValues( okWidget, XmNlabelString, btnOK(), NULL ); XtVaSetValues( applyWidget, XmNlabelString, btnFilter(), NULL ); XtVaSetValues( cancelWidget, XmNlabelString, btnCancel(), NULL ); XtVaSetValues( dirlistLabel, XmNlabelString, lblDirectories(), NULL ); XtVaSetValues( filterLabel, XmNlabelString, lblFilter(), NULL ); XtVaSetValues( listLabel, XmNlabelString, lblFiles(), NULL ); XtVaSetValues( selectionLabel, XmNlabelString, lblSelection(), NULL ); Widget shell = XtParent(fileSel); if ( !m_message.empty() ) XtVaSetValues(shell, XmNtitle, (const char*)m_message.mb_str(), NULL); if (!m_wildCard.empty()) { // return something understandable by Motif wxString wildCard = ParseWildCard( m_wildCard ); wxString filter; if (!m_dir.empty()) filter = m_dir + wxString("/") + wildCard; else filter = wildCard; XmTextSetString(filterWidget, filter.char_str()); XmFileSelectionDoSearch(fileSel, NULL); } // Suggested by Terry Gitnick, 16/9/97, because of change in Motif // file selector on Solaris 1.5.1. if ( !m_dir.empty() ) { wxXmString thePath( m_dir ); XtVaSetValues (fileSel, XmNdirectory, thePath(), NULL); } wxString entirePath; if (!m_dir.empty()) { entirePath = m_dir + wxString("/") + m_fileName; } else { entirePath = m_fileName; } if (!entirePath.empty()) { XmTextSetString(selectionWidget, entirePath.char_str()); } XtAddCallback(fileSel, XmNcancelCallback, (XtCallbackProc)wxFileSelCancel, (XtPointer)NULL); XtAddCallback(fileSel, XmNokCallback, (XtCallbackProc)wxFileSelOk, (XtPointer)NULL); XtAddCallback(fileSel, XmNunmapCallback, (XtCallbackProc)wxFileSelClose, (XtPointer)this); //#if XmVersion > 1000 // I'm not sure about what you mean with XmVersion. // If this is for Motif1.1/Motif1.2, then check XmVersion>=1200 // (Motif1.1.4 ==> XmVersion 1100 ) // Nevertheless, I put here a #define, so anyone can choose in (I)makefile. // #if !DEFAULT_FILE_SELECTOR_SIZE int width = wxFSB_WIDTH; int height = wxFSB_HEIGHT; XtVaSetValues(fileSel, XmNwidth, width, XmNheight, height, XmNresizePolicy, XmRESIZE_NONE, NULL); #endif wxDoChangeBackgroundColour((WXWidget) filterWidget, *wxWHITE); wxDoChangeBackgroundColour((WXWidget) selectionWidget, *wxWHITE); wxChangeListBoxColours(this, dirListWidget); wxChangeListBoxColours(this, fileListWidget); XtManageChild(fileSel); m_fileSelectorAnswer = wxEmptyString; m_fileSelectorReturned = false; wxEndBusyCursor(); XtAddGrab(XtParent(fileSel), True, False); XtAppContext context = (XtAppContext) wxTheApp->GetAppContext(); XEvent event; while (!m_fileSelectorReturned) { XtAppNextEvent(context, &event); XtDispatchEvent(&event); } XtRemoveGrab(XtParent(fileSel)); XtUnmapWidget(XtParent(fileSel)); XtDestroyWidget(XtParent(fileSel)); // Now process all events, because otherwise // this might remain on the screen wxFlushEvents(XtDisplay(fileSel)); m_path = m_fileSelectorAnswer; m_fileName = wxFileNameFromPath(m_fileSelectorAnswer); m_dir = wxPathOnly(m_path); if (m_fileName.empty()) return wxID_CANCEL; else return wxID_OK; }