MRESULT EXPENTRY GameSettingsDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 ) { ULONG OldLineStyle = InfoData.GetLineStyle(); switch( msg ){ case WM_INITDLG: (VOID)WinCheckButton( hwnd, (USHORT)IDC_DIAGONALS, InfoData.IsLineStyle(IDC_DIAGONALS) ); (VOID)WinCheckButton( hwnd, (USHORT)IDC_VERTICALS, InfoData.IsLineStyle(IDC_VERTICALS)); (VOID)WinCheckButton( hwnd, (USHORT)IDC_DIAGONALS_AND_VERTICALS, InfoData.IsLineStyle(IDC_DIAGONALS_AND_VERTICALS)); (VOID)WinCheckButton( hwnd, (USHORT)IDC_SOUND, InfoData.GetSound() ); (VOID)WinEnableControl( hwnd, (USHORT)IDC_SOUND, InfoData.IsSoundAvailable() ); break; case WM_COMMAND: switch( SHORT1FROMMP( mp1 ) ){ case DID_OK: if( WinQueryButtonCheckstate( hwnd, IDC_DIAGONALS ) ) InfoData.SetLineStyle(IDC_DIAGONALS); else if( WinQueryButtonCheckstate( hwnd, IDC_VERTICALS ) ) InfoData.SetLineStyle(IDC_VERTICALS); else InfoData.SetLineStyle(IDC_DIAGONALS_AND_VERTICALS); InfoData.SetSound( WinQueryButtonCheckstate(hwnd, IDC_SOUND) ); WinDismissDlg( hwnd, !InfoData.IsLineStyle(OldLineStyle) ); // TRUE => repaint because of new linestyle return (MRESULT)0; case DID_CANCEL: WinDismissDlg( hwnd, FALSE ); return (MRESULT)0; case IDC_GAMESETTINGSHELP: return (MRESULT)0; } } return WinDefDlgProc( hwnd, msg, mp1, mp2 ); }
void NextBarDlg::setButtons() { ULONG usTemp; for(usTemp=0; usTemp<=(sizeof(usSessionTypeRBs)/sizeof(ULONG)); usTemp++) if(usSessionTypeIDs[usTemp] == event->session) { WinCheckButton(hwnd, usSessionTypeRBs[usTemp], TRUE); WinSendMsg(hwnd, WM_CONTROL, MPFROM2SHORT(usSessionTypeRBs[usTemp], BN_CLICKED), NULL); } switch(event->session) { case PROG_WINDOW_REAL: case PROG_WINDOW_PROT: case PROG_31_ENH: for(usTemp=0; usTemp<=(sizeof(usChild2WINOS2)/sizeof(ULONG)); usTemp++) if(usWINOS2TypeIDs[usTemp] == event->session) WinCheckButton(hwnd, usChild2WINOS2[usTemp], TRUE); WinCheckButton(hwnd, NHX_SEAMLESS, TRUE); WinSendMsg(hwnd, WM_CONTROL, MPFROM2SHORT(NHX_SEAMLESS, BN_CLICKED), NULL); break; default: WinCheckButton(hwnd, NHX_WINSTD, TRUE); break; } if(event->session == SSF_TYPE_WPSOBJECT) { OCL::disableControls(hwnd, usChild2WINOS2, sizeof(usChild2WINOS2)); OCL::hideControls(hwnd, WPSOControls, sizeof(WPSOControls)); } }
VOID MainWinInit(HWND hwnd, POPTIONS po) { WinCheckButton(hwnd, CHK_MWUSESMWFONT, po->dlg.font); WinCheckButton(hwnd, CHK_MWOVERRDPPS, po->dlg.ovrPP); _setPPFont(WinWindowFromID(hwnd, BTN_MWFONT), po->dlg.achFont); GetStr(ID_FONT, p->buf, 256); SetCtlCompTxt(hwnd, BTN_MWFONT, p->buf, po->dlg.achFont); MainWinSetMainDep(hwnd, po); }
BOOL resetStrCtls(HWND hwnd, BOOL fl, BOOL fcase, BOOL fesc) { BOOL rc = WinEnableControl(hwnd, CHK_NOCASE, fl) && WinEnableControl(hwnd, CHK_ESCAPE, fl) && WinEnableControl(hwnd, BTN_REM1, fl); WinCheckButton(hwnd, CHK_NOCASE, (fl && fcase? 1: 0)); WinCheckButton(hwnd, CHK_ESCAPE, (fl && fesc? 1: 0)); if (fl) WsetDefBtn(hwnd, BTN_REM1); return rc; }
VOID InitSelectionPage(HWND hwnd, PPREF_SEL psel) { WinCheckButton(hwnd, CBOX_EXT_SEL, psel->extsel); WinCheckButton(hwnd, CBOX_SEL_ALL_INDIR, psel->dir); WinEnableControl(hwnd, CBOX_SEL_ALL_INDIR, psel->extsel); WinCheckButton(hwnd, CBOX_MOUSE_SINGLE, psel->monoclick == LN_SELECT); WinCheckButton(hwnd, CBOX_FILE_WIN, psel->browse); WinCheckButton(hwnd, CBOX_ONLY_DIR, psel->browsedir); WinEnableControl(hwnd, CBOX_ONLY_DIR, psel->browse); }
VOID SetSelectionDefault(HWND hwnd) { WinCheckButton(hwnd, CBOX_EXT_SEL, TRUE); WinCheckButton(hwnd, CBOX_SEL_ALL_INDIR, FALSE); WinEnableControl(hwnd, CBOX_SEL_ALL_INDIR, TRUE); WinCheckButton(hwnd, CBOX_MOUSE_SINGLE, FALSE); WinCheckButton(hwnd, CBOX_FILE_WIN, FALSE); WinCheckButton(hwnd, CBOX_ONLY_DIR, FALSE); WinEnableControl(hwnd, CBOX_ONLY_DIR, FALSE); }
VOID SetGeneralDefault(HWND hwnd, PPREF_GEN pgen) { WinCheckButton(hwnd, CBOX_NOLOGO, FALSE); WinCheckButton(hwnd, CBOX_BUBBLE, TRUE); WinCheckButton(hwnd, CBOX_DEF_LEN, TRUE); DlgSpinSetValue(hwnd, SPIN_SUBJ_LEN, 40); WinEnableControl(hwnd, SPIN_SUBJ_LEN, FALSE); WinCheckButton(hwnd, CBOX_READ_ONLY, FALSE); WinCheckButton(hwnd, CBOX_SV_LASTPATH, FALSE); WinSetDlgItemText(hwnd, TXT_FONT, "5.System VIO"); }
MRESULT EXPENTRY PrefGeneralDlgProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { ULONG h, m, s; switch (msg) { case WM_INITDLG: WinSendDlgItemMsg(hwnd, DID_COMMENT_STRN, EM_SETTEXTLIMIT, MPFROMSHORT(COMMENT_MAXLEN), NULL); WinSendDlgItemMsg(hwnd, DID_SEND_KEYSRV_STRN, EM_SETTEXTLIMIT, MPFROMSHORT(CCHMAXPATH), NULL); WinSendDlgItemMsg(hwnd, DID_EDITOR_STRN, EM_SETTEXTLIMIT, MPFROMSHORT(CCHMAXPATH), NULL); WinSendDlgItemMsg(hwnd, DID_CACHE_SPIN_HOUR, SPBM_SETLIMITS, (MPARAM) 100, (MPARAM) 0); WinSendDlgItemMsg(hwnd, DID_CACHE_SPIN_MIN, SPBM_SETLIMITS, (MPARAM) 59, (MPARAM) 0); WinSendDlgItemMsg(hwnd, DID_CACHE_SPIN_SEC, SPBM_SETLIMITS, (MPARAM) 59, (MPARAM) 0); h = ProfileData.Flags.CacheTime / 3600; m = (ProfileData.Flags.CacheTime % 3600) / 60; s = (ProfileData.Flags.CacheTime % 3600) % 60; WinSendDlgItemMsg(hwnd, DID_CACHE_SPIN_HOUR, SPBM_SPINUP, (MPARAM) h, NULL); WinSendDlgItemMsg(hwnd, DID_CACHE_SPIN_MIN, SPBM_SPINUP, (MPARAM) m, NULL); WinSendDlgItemMsg(hwnd, DID_CACHE_SPIN_SEC, SPBM_SPINUP, (MPARAM) s, NULL); WinSetWindowText(WinWindowFromID(hwnd, DID_COMMENT_STRN), TempData.ASCIIComment); WinSetWindowText(WinWindowFromID(hwnd, DID_SEND_KEYSRV_STRN), TempData.SendKeyServer); WinSetWindowText(WinWindowFromID(hwnd, DID_EDITOR_STRN), TempData.EditorFile); WinCheckButton(hwnd, DID_ENCRYPT_TO_SELF, TempData.Flags.PgpEncryptToSelf); WinCheckButton(hwnd, DID_ALWAYS_ON_TOP, TempData.Flags.AlwaysOnTop); WinCheckButton(hwnd, DID_SHOW_HINT_WINDOW, !TempData.Flags.SuppressHint); WinCheckButton(hwnd, DID_SMALL_ICONS, TempData.Flags.SmallIcons); if (!PGPKeysToolExists) { WinEnableWindow(WinWindowFromID(hwnd, DID_SEND_KEYSRV_GRP), FALSE); WinEnableWindow(WinWindowFromID(hwnd, DID_SEND_KEYSRV_STRN), FALSE); } break; default: return WinDefDlgProc (hwnd, msg, mp1, mp2); } return (MRESULT)FALSE; }
static MRESULT EXPENTRY PSOutputProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { PPRINTSETUP pPrintSetup = WinQueryWindowPtr(hwnd, QWL_USER); ULONG ulTemp; switch(msg) { case WM_INITDLG: pPrintSetup = (PPRINTSETUP) mp2; WinSetWindowPtr(hwnd, QWL_USER, pPrintSetup); if (pPrintSetup->ulOutput & OUTPUT_AREA) WinCheckButton(hwnd, IDD_PS_OUTPUT+2, TRUE); if (pPrintSetup->ulOutput & OUTPUT_DATE) WinCheckButton(hwnd, IDD_PS_OUTPUT+3, TRUE); if (pPrintSetup->ulOutput & OUTPUT_ATTRIB) WinCheckButton(hwnd, IDD_PS_OUTPUT+4, TRUE); if (pPrintSetup->ulOutput & OUTPUT_PAGENUM) WinCheckButton(hwnd, IDD_PS_OUTPUT+5, TRUE); break; case WM_COMMAND: return (MRESULT) FALSE; case WM_DESTROY: ulTemp = 0; if (WinQueryButtonCheckstate(hwnd, IDD_PS_OUTPUT+2)) ulTemp |= OUTPUT_AREA; if (WinQueryButtonCheckstate(hwnd, IDD_PS_OUTPUT+3)) ulTemp |= OUTPUT_DATE; if (WinQueryButtonCheckstate(hwnd, IDD_PS_OUTPUT+4)) ulTemp |= OUTPUT_ATTRIB; if (WinQueryButtonCheckstate(hwnd, IDD_PS_OUTPUT+5)) ulTemp |= OUTPUT_PAGENUM; if (pPrintSetup->ulOutput != ulTemp) { pPrintSetup->ulOutput = ulTemp; pPrintSetup->bDirty = TRUE; } break; default: break; } return WinDefDlgProc(hwnd, msg, mp1, mp2); }
void NextBarDlg::setProgram2Dialog() { WinSendDlgItemMsg(hwnd, NHX_SETTINGS, MLM_DELETE, MPFROMSHORT(0), MPFROMSHORT(2*CCHMAXPATH)); Title.setText(event->title); Program.setText(event->name); Path.setText(event->dir); Parms.setText(event->inputs); Icon.setText(event->icon); if (strlen(event->settings) > 0) Settings.insertText(event->settings); else Settings.insertText("IDLE_SECONDS=5\nIDLE_SENSITIVITY=100\n"); if (event->control & SSF_CONTROL_MAXIMIZE) WinCheckButton(hwnd, NHX_MAXSIZE, TRUE); if (event->control & SSF_CONTROL_MINIMIZE) WinCheckButton(hwnd, NHX_MINSIZE, TRUE); if(event->Bkgr & SSF_FGBG_BACK) WinCheckButton(hwnd, NHX_BACKGROUND, TRUE); setButtons(); }
VOID InitGeneralPage(HWND hwnd, PPREF_GEN pgen) { DlgSpinSetLimits(hwnd, SPIN_SUBJ_LEN, 255, 0); WinCheckButton(hwnd, CBOX_NOLOGO, pgen->nologo); WinCheckButton(hwnd, CBOX_BUBBLE, pgen->bubble); if (pgen->subj < 0) { // disabilita ef subj length WinCheckButton(hwnd, CBOX_DEF_LEN, TRUE); DlgSpinSetValue(hwnd, SPIN_SUBJ_LEN, -pgen->subj); WinEnableControl(hwnd, SPIN_SUBJ_LEN, FALSE); } else { WinCheckButton(hwnd, CBOX_DEF_LEN, FALSE); DlgSpinSetValue(hwnd, SPIN_SUBJ_LEN, pgen->subj); WinEnableControl(hwnd, SPIN_SUBJ_LEN, TRUE); } /* endif */ WinCheckButton(hwnd, CBOX_READ_ONLY, pgen->ronly); WinCheckButton(hwnd, CBOX_SV_LASTPATH, pgen->lastPath[0] != 0); WinSetDlgItemText(hwnd, TXT_FONT, pgen->font); }
void NextBarDlg::handleButtons(MPARAM mp1) { if(SHORT2FROMMP(mp1) == BN_CLICKED) switch(SHORT1FROMMP(mp1)) { case NHX_DOS_FULL: case NHX_DOS_WIN: OCL::enableControls(hwnd, WPSOControls, sizeof(WPSOControls)); OCL::enableControls(hwnd, usChild2DOS, sizeof(usChild2DOS)); OCL::disableControls(hwnd, usChild2WINOS2,sizeof(usChild2WINOS2)); WinCheckButton(hwnd, NHX_WINSTD, FALSE); WinCheckButton(hwnd, NHX_WINENH, FALSE); break; case NHX_OS2_FULL: case NHX_OS2_WIN: case NHX_PM: OCL::enableControls(hwnd, WPSOControls, sizeof(WPSOControls)); OCL::hideControls(hwnd, usChild2DOS, sizeof(usChild2DOS)); OCL::disableControls(hwnd, usChild2WINOS2, sizeof(usChild2WINOS2)); WinCheckButton(hwnd, NHX_WINSTD, FALSE); WinCheckButton(hwnd, NHX_WINENH, FALSE); break; case NHX_WPSO: OCL::hideControls(hwnd, WPSOControls, sizeof(WPSOControls)); OCL::hideControls(hwnd, usChild2DOS, sizeof(usChild2DOS)); OCL::disableControls(hwnd, usChild2WINOS2, sizeof(usChild2WINOS2)); WinSetDlgItemText(hwnd, NHX_WORKDIR, ""); WinSetDlgItemText(hwnd, NHX_PARMS, ""); WinCheckButton(hwnd, NHX_WINSTD, FALSE); WinCheckButton(hwnd, NHX_WINENH, FALSE); break; case NHX_SEAMLESS: OCL::enableControls(hwnd, usChild2DOS, sizeof(usChild2DOS)); OCL::enableControls(hwnd, WPSOControls, sizeof(WPSOControls)); OCL::enableControls(hwnd, usChild2WINOS2, sizeof(usChild2WINOS2)); break; } return; }
static MRESULT EXPENTRY pm_datasette(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { switch (msg) { case WM_INITDLG: { int val; WinSendMsg(hwnd, WM_COUNTER, (void*)ui_status.lastTapeCounter, 0); WinSendMsg(hwnd, WM_TAPESTAT, (void*)ui_status.lastTapeCtrlStat, (void*)ui_status.lastTapeStatus); WinShowDlg(hwnd, SS_SPIN, ui_status.lastTapeMotor && ui_status.lastTapeStatus); resources_get_int("DatasetteResetWithCPU", &val); WinCheckButton(hwnd, CB_RESETWCPU, val); resources_get_int("DatasetteZeroGapDelay", &val); WinSetDlgSpinVal(hwnd, SPB_DELAY, (val/100)); resources_get_int("DatasetteSpeedTuning", &val); WinSetDlgSpinVal(hwnd, SPB_GAP, val); } break; case WM_COUNTER: WinSetDlgSpinVal(hwnd, SPB_COUNT, (ULONG)mp1); return FALSE; case WM_TAPESTAT: WinEnableControl(hwnd, PB_RECORD, mp2 && (int)mp1!=DATASETTE_CONTROL_RECORD); WinEnableControl(hwnd, PB_REWIND, mp2 && (int)mp1!=DATASETTE_CONTROL_REWIND); WinEnableControl(hwnd, PB_STOP, mp2 && (int)mp1!=DATASETTE_CONTROL_STOP); WinEnableControl(hwnd, PB_START, mp2 && (int)mp1!=DATASETTE_CONTROL_START); WinEnableControl(hwnd, PB_FORWARD, mp2 && (int)mp1!=DATASETTE_CONTROL_FORWARD); WinEnableControl(hwnd, PB_RESET, mp2!=0); WinEnableControl(hwnd, PB_RESETCNT, mp2!=0); WinEnableControl(hwnd, SPB_COUNT, mp2!=0); if (!mp2) WinShowDlg(hwnd, SS_SPIN, 0); return FALSE; case WM_SPINNING: WinShowDlg(hwnd, SS_SPIN, mp1 && mp2); return FALSE; case WM_COMMAND: switch (LONGFROMMP(mp1)) { case PB_STOP: case PB_START: case PB_FORWARD: case PB_REWIND: case PB_RECORD: case PB_RESET: case PB_RESETCNT: datasette_control(LONGFROMMP(mp1)&0xf); return FALSE; case PB_TATTACH: ViceFileDialog(hwnd, 0x0201, FDS_OPEN_DIALOG); return FALSE; case PB_TDETACH: tape_image_detach(1); return FALSE; } break; case WM_CONTROL: switch (SHORT1FROMMP(mp1)) { case CB_RESETWCPU: toggle("DatasetteResetWithCPU"); break; case SPB_DELAY: if (SHORT2FROMMP(mp1)==SPBN_ENDSPIN) { const ULONG val = WinGetSpinVal((HWND)mp2); resources_set_int("DatasetteZeroGapDelay", val*100); } break; case SPB_GAP: if (SHORT2FROMMP(mp1)==SPBN_ENDSPIN) { const ULONG val = WinGetSpinVal((HWND)mp2); resources_set_int("DatasetteSpeedTuning", val); } break; } break; } return WinDefDlgProc (hwnd, msg, mp1, mp2); }
static MRESULT EXPENTRY AreaMsgBaseProc(HWND parent, ULONG message, MPARAM mp1, MPARAM mp2) { extern AREALIST arealiste; extern HWND hwndhelp; static AREADEFLIST *pArea=NULL; char pchTemp[LEN_PATHNAME+1]; SHORT sTemp; switch(message) { case WM_INITDLG: pArea=((AREAPAR *)mp2)->pAreaDef; WinSubclassWindow(WinWindowFromID(parent, IDD_AS_MSGBASE+9), FileEntryProc); WinSendDlgItemMsg(parent, IDD_AS_MSGBASE+9, EM_SETTEXTLIMIT, MPFROMSHORT(LEN_PATHNAME), (MPARAM) NULL); if (pArea) { WinSetDlgItemText(parent, IDD_AS_MSGBASE+9, pArea->areadata.pathfile); switch(pArea->areadata.areaformat) { case AREAFORMAT_FTS: WinCheckButton(parent, IDD_AS_MSGBASE+2, TRUE); break; case AREAFORMAT_SQUISH: WinCheckButton(parent, IDD_AS_MSGBASE+3, TRUE); break; case AREAFORMAT_JAM: WinCheckButton(parent, IDD_AS_MSGBASE+4, TRUE); break; default: WinCheckButton(parent, IDD_AS_MSGBASE+2, TRUE); break; } switch(pArea->areadata.areatype) { case AREATYPE_NET: WinCheckButton(parent, IDD_AS_MSGBASE+6, TRUE); break; case AREATYPE_ECHO: WinCheckButton(parent, IDD_AS_MSGBASE+7, TRUE); break; case AREATYPE_LOCAL: WinCheckButton(parent, IDD_AS_MSGBASE+12, TRUE); break; } if (pArea->areadata.ulAreaOpt & AREAOPT_FROMCFG) { WinEnableControl(parent, IDD_AS_MSGBASE+2, FALSE); WinEnableControl(parent, IDD_AS_MSGBASE+3, FALSE); WinEnableControl(parent, IDD_AS_MSGBASE+4, FALSE); WinEnableControl(parent, IDD_AS_MSGBASE+6, FALSE); WinEnableControl(parent, IDD_AS_MSGBASE+7, FALSE); WinEnableControl(parent, IDD_AS_MSGBASE+12, FALSE); WinSendDlgItemMsg(parent, IDD_AS_MSGBASE+9, EM_SETREADONLY, (MPARAM)TRUE, (MPARAM) NULL); WinEnableControl(parent, IDD_AS_MSGBASE+10, FALSE); } } WinDefDlgProc(parent, message, mp1, mp2); SetFocusControl(parent, IDD_AS_MSGBASE+9); return (MRESULT) TRUE; case WM_CLOSE: case WM_DESTROY: if (!WinQueryWindowULong(parent, QWL_USER)) { WinQueryDlgItemText(parent, IDD_AS_MSGBASE+9, LEN_PATHNAME+1, pchTemp); if (strcmp(pArea->areadata.pathfile, pchTemp)) { strcpy(pArea->areadata.pathfile, pchTemp); arealiste.bDirty = TRUE; pArea->dirty=TRUE; } if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+2)) sTemp=AREAFORMAT_FTS; else if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+3)) sTemp=AREAFORMAT_SQUISH; else if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+4)) sTemp=AREAFORMAT_JAM; else sTemp=AREAFORMAT_FTS; if (sTemp!=pArea->areadata.areaformat) { pArea->areadata.areaformat=sTemp; arealiste.bDirty = TRUE; pArea->dirty=TRUE; } if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+6)) sTemp=AREATYPE_NET; else if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+7)) sTemp=AREATYPE_ECHO; else if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+12)) sTemp=AREATYPE_LOCAL; else sTemp=AREATYPE_NET; if (sTemp != pArea->areadata.areatype) { pArea->areadata.areatype=sTemp; arealiste.bDirty = TRUE; pArea->dirty=TRUE; } } break; case WM_COMMAND: if (SHORT1FROMMP(mp2)==CMDSRC_PUSHBUTTON) { if(SHORT1FROMMP(mp1)==IDD_AS_MSGBASE+10) { WinQueryDlgItemText(parent, IDD_AS_MSGBASE+9, LEN_PATHNAME+1, pchTemp); if (GetPathname(parent, pchTemp)==DID_OK) { char drive[_MAX_DRIVE]; char path[_MAX_DIR]; char name[_MAX_FNAME]; char ext[_MAX_EXT]; _splitpath(pchTemp, drive, path, name, ext); if (WinQueryButtonCheckstate(parent, IDD_AS_MSGBASE+3)) _makepath(pchTemp, drive, path, name, ""); else { _makepath(pchTemp, drive, path, "", ""); pchTemp[strlen(pchTemp)-1]='\0'; } WinSetDlgItemText(parent, IDD_AS_MSGBASE+9, pchTemp); arealiste.bDirty = TRUE; } } } return (MRESULT) FALSE; case APM_REQCLOSE: if (WinQueryDlgItemTextLength(parent, IDD_AS_MSGBASE+9)==0) { /* Fehler, kein Pfadname */ if (MessageBox(parent, IDST_MSG_NOPATHFILE, 0, IDD_NOPATHFILE, MB_RETRYCANCEL | MB_ERROR) == MBID_CANCEL) return (MRESULT) 2; else return (MRESULT) 1; } return (MRESULT) 0; case APM_CANCEL: WinSetWindowULong(parent, QWL_USER, 1); break; default: break; } return WinDefDlgProc(parent,message,mp1,mp2); }
static MRESULT EXPENTRY AreaAttribProc(HWND parent, ULONG message, MPARAM mp1, MPARAM mp2) { extern AREALIST arealiste; static AREADEFLIST *pArea=NULL; switch(message) { case WM_INITDLG: pArea=((AREAPAR *)mp2)->pAreaDef; if (pArea) { ULONG ulMask; WinCheckButton(parent, IDD_AS_ATTRIB+9, !!(pArea->areadata.ulAreaOpt & AREAOPT_HIGHASCII)); WinCheckButton(parent, IDD_AS_ATTRIB+10, !!(pArea->areadata.ulAreaOpt & AREAOPT_SEPARATOR)); WinCheckButton(parent, IDD_AS_ATTRIB+11, !!(pArea->areadata.ulAreaOpt & AREAOPT_NOHIGHLIGHT)); /* Message Attributes */ MSG_QueryAttribCaps(&arealiste, pArea->areadata.areatag, &ulMask); WinSendDlgItemMsg(parent, IDD_AS_ATTRIB+2, ATTSM_SETATTRIB, MPFROMLONG(pArea->areadata.ulDefAttrib), MPFROMLONG(ulMask)); } break; case WM_CLOSE: case WM_DESTROY: if (!WinQueryWindowULong(parent, QWL_USER)) { ULONG ulTemp = pArea->areadata.ulAreaOpt & AREAOPT_FROMCFG; if (WinQueryButtonCheckstate(parent, IDD_AS_ATTRIB+9)) ulTemp |= AREAOPT_HIGHASCII; if (WinQueryButtonCheckstate(parent, IDD_AS_ATTRIB+10)) ulTemp |= AREAOPT_SEPARATOR; if (WinQueryButtonCheckstate(parent, IDD_AS_ATTRIB+11)) ulTemp |= AREAOPT_NOHIGHLIGHT; if (pArea->areadata.ulAreaOpt != ulTemp) { pArea->areadata.ulAreaOpt = ulTemp; arealiste.bDirty = TRUE; pArea->dirty=TRUE; } ulTemp = (ULONG) WinSendDlgItemMsg(parent, IDD_AS_ATTRIB+2, ATTSM_QUERYATTRIB, NULL, NULL); if (pArea->areadata.ulDefAttrib != ulTemp) { pArea->areadata.ulDefAttrib = ulTemp; arealiste.bDirty = TRUE; pArea->dirty=TRUE; } } break; case WM_COMMAND: return (MRESULT) FALSE; case APM_REQCLOSE: return (MRESULT) 0; case APM_CANCEL: WinSetWindowULong(parent, QWL_USER, 1); break; default: break; } return WinDefDlgProc(parent,message,mp1,mp2); }
//========================================================================== // procedura utilizzata sia per l'inizializzazione del dialogo che per // l'UNDO // parametri: // HWND hwnd: handle dialogo // PAPPDATA p: indirizzo struttura dati applicazione // POPTIONS po: indirizzo struttura opzioni globali (ocur=init, // ou=undo) // valore restituito: // VOID //========================================================================== static VOID MouseOptInit(HWND hwnd, POPTIONS po) { // autofocus WinCheckButton(hwnd, CHK_MAUTFOCUS, po->mou.focusAuto); DlgSpinSetValue(hwnd, SPIN_MAUTFOCUS, po->mou.focusDelay / 10); WinCheckButton(hwnd, CHK_MAFIGNDESK, po->mou.focusNoDesk); WinCheckButton(hwnd, CHK_MAFNOTOP, po->mou.focusNoTop); WinCheckButton(hwnd, CHK_MAFIGNNEW, po->mou.focusNoNew); MouseOptSetAutofocusDep(hwnd, po->mou.focusAuto); // pointer hiding WinCheckButton(hwnd, CHK_MPTRHIDE, po->mou.hide); DlgSpinSetValue(hwnd, SPIN_MPTRHIDE, po->mou.hideDelay / 100); WinCheckButton(hwnd, CHK_MPHXCLBTN, po->mou.hideNotOnBtn); WinCheckButton(hwnd, CHK_MPHXCLMENU, po->mou.hideNotOnMenu); MouseOptSetMptrHideDep(hwnd, po->mou.hide); // button 3 remap WinCheckButton(hwnd, CHK_MBTN3MAP, po->mou.btn3dblClk); WinEnableControl(hwnd, CHK_MBTN3MAP, p->is.mou3btns); WinCheckButton(hwnd, CHK_MBTN3TBAR, po->mou.btn3title); WinEnableControl(hwnd, CHK_MBTN3TBAR, po->mou.btn3dblClk && p->is.mou3btns); // move pointer to the focus window WinCheckButton(hwnd, CHK_MMOVETOFOCUS, po->mou.moveToFocus); WinCheckButton(hwnd, CHK_MMTFWINCREATE, po->mou.moveToNew); WinCheckButton(hwnd, CHK_MMTFWINDLG, po->mou.moveToDlg); WinCheckButton(hwnd, CHK_MMTFXCLDLGNOBTN, po->mou.moveNotBtnles); DlgSpinSetValue(hwnd, SPIN_MMTFSTEPS, po->mou.moveSteps); MouseOptSetMptrMove2FocusDep(hwnd, po->mou.moveToFocus); }
MRESULT LoadWizard::DlgProc(ULONG msg, MPARAM mp1, MPARAM mp2) { switch (msg) {case WM_INITDLG: { MRESULT ret = IntrospectBase::DlgProc(msg, mp1, mp2); SetTitle(Title); if (Configuration.SourceServer) { ComboBox(+GetCtrl(CB_SERVER)).Text(Configuration.SourceServer); PostMsg(UM_CONNECT, 0, 0); } if (Configuration.Source) PMRASSERT(WinSetDlgItemText(GetHwnd(), CB_SINKSRC, Configuration.Source)); if (Configuration.SourcePort) PMRASSERT(WinSetDlgItemText(GetHwnd(), CB_PORT, Configuration.SourcePort)); // Init rate spin button { SpinButton sb(GetCtrl(SB_RATE)); sb.SetArray(SamplingRates, sizeof SamplingRates/sizeof *SamplingRates); size_t pos; if ( !binary_search<const char,const int>(Configuration.SourceRate, pos, &SamplingRates[0], sizeof SamplingRates/sizeof *SamplingRates, &SamplingRateCmp) && ( pos == sizeof SamplingRates/sizeof *SamplingRates || (pos && 2*Configuration.SourceRate < atoi(SamplingRates[pos]) + atoi(SamplingRates[pos-1])) )) --pos; sb.Value(pos); } WinCheckButton(GetHwnd(), Configuration.SourceChannels == 1 ? RB_MONO : RB_STEREO, TRUE); return ret; } case WM_COMMAND: DEBUGLOG(("LoadWizard::DlgProc:WM_COMMAND(%i,%i, %p)\n", SHORT1FROMMP(mp1), SHORT2FROMMP(mp1), mp2)); switch (SHORT1FROMMP(mp1)) {case DID_OK: { Configuration.SourceServer = WinQueryDlgItemXText(GetHwnd(), CB_SERVER); const xstring& source = WinQueryDlgItemXText(GetHwnd(), CB_SINKSRC); Configuration.Source = source.length() && !source.startsWithI("default") ? source : xstring(); const xstring& port = WinQueryDlgItemXText(GetHwnd(), CB_PORT); Configuration.SourcePort = port.length() && !port.startsWithI("default") ? port : xstring(); Configuration.SourceRate = atoi(SamplingRates[SpinButton(GetCtrl(SB_RATE)).Value()]); Configuration.SourceChannels = WinQueryButtonCheckstate(GetHwnd(), RB_MONO) ? 1 : 2; } break; } break; case UM_DISCOVER_SERVER: { DEBUGLOG(("LoadWizard::DlgProc:UM_DISCOVER_SERVER\n")); try { Context.GetServerInfo(ServerInfoOp); Sources.clear(); Context.GetSourceInfo(SourceInfoOp); } catch (const PAException& ex) { WinSetDlgItemText(GetHwnd(), ST_STATUS, ex.GetMessage()); } return 0; } case UM_UPDATE_SERVER: { int error = LONGFROMMP(mp1); DEBUGLOG(("LoadWizard::DlgProc:UM_UPDATE_SERVER %i\n", error)); if (error) { WinSetDlgItemText(GetHwnd(), ST_STATUS, PAConnectException(Context.GetContext(), error).GetMessage()); return 0; } WinSetDlgItemText(GetHwnd(), ST_STATUS, "Success"); ComboBox cb(GetCtrl(CB_SINKSRC)); // save old value const xstring& oldsink = cb.Text(); // delete old list cb.DeleteAll(); SelectedSource = -1; // insert new list and restore old value if reasonable. xstring def; def.sprintf("default (%s)", Server.default_sink_name.cdata()); cb.InsertItem(def); if (Sources.size() != 0) { int defsink = -1; for (unsigned i = 0; i < Sources.size(); ++i) { PASourceInfo& source = *Sources[i]; cb.InsertItem(source.name); if (SelectedSource < 0 && source.name.compareToI(oldsink) == 0) SelectedSource = i; if (defsink < 0 && source.name.compareToI(Server.default_sink_name) == 0) defsink = i; } cb.Select(SelectedSource+1); if (SelectedSource < 0) SelectedSource = defsink; } } case UM_UPDATE_PORT: { DEBUGLOG(("LoadWizard::DlgProc:UM_UPDATE_PORT %i\n", SelectedSource)); ComboBox cb(GetCtrl(CB_PORT)); // save old value const xstring& oldport = cb.Text(); // delete old list cb.DeleteAll(); // insert new list and restore old value if reasonable. xstring def; int selected = -1; if ((unsigned)SelectedSource < Sources.size()) { PASourceInfo& source = *Sources[SelectedSource]; if (source.active_port) def.sprintf("default (%s)", source.active_port->name.cdata()); for (unsigned i = 0; i < source.ports.size(); ++i) { PAPortInfo& port = source.ports[i]; cb.InsertItem(port.name); if (selected < 0 && port.name.compareToI(oldport) == 0) selected = i; } } cb.InsertItem(def ? def.cdata() : "default", 0); cb.Select(selected+1); return 0; } } return IntrospectBase::DlgProc(msg, mp1, mp2); }
static MRESULT EXPENTRY pm_keyset(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { static int set1 = TRUE; static int id = 0; switch (msg) { case WM_INITDLG: { int j1, j2; resources_get_int("JoyDevice1", &j1); resources_get_int("JoyDevice2", &j2); WinSendMsg(hwnd, WM_KPROCESS, (void*)!!((j1 | j2) & JOYDEV_KEYSET1), (void*)!!((j1 | j2) & JOYDEV_KEYSET2)); } break; case WM_CONTROL: { int ctrl = SHORT1FROMMP(mp1); switch (ctrl) { case RB_SET1: case RB_SET2: if (!(ctrl == RB_SET1 && set1) && !(ctrl == RB_SET2 && !set1)) { set1 = !set1; WinSendMsg(hwnd, WM_KENABLECTRL, 0, 0); WinSendMsg(hwnd, WM_KFILLSPB, 0, 0); } break; case SPB_N: case SPB_NE: case SPB_E: case SPB_SE: case SPB_S: case SPB_SW: case SPB_W: case SPB_NW: case SPB_FIRE: if (SHORT2FROMMP(mp1) == SPBN_SETFOCUS) { id = ctrl; } break; } break; } case WM_KPROCESS: if (((int)mp1 ^ (int)mp2) & 1) { set1 = (int)mp1; } WinCheckButton(hwnd, set1 ? RB_SET1 : RB_SET2, 1); WinEnableControl(hwnd, RB_SET1, (ULONG)mp1); WinEnableControl(hwnd, RB_SET2, (ULONG)mp2); WinSendMsg(hwnd, WM_KENABLECTRL, (void*)(!mp1 && !mp2), NULL); WinSendMsg(hwnd, WM_KFILLSPB, 0, 0); break; case WM_TRANSLATEACCEL: if (id >= SPB_N && id <= SPB_FIRE) { // // Returning FALSE and using WM_CHAR doesn't work // for all keys - I don't know why // SetKeyVal(hwnd, id, set1, CHAR4FROMMP(((QMSG*)mp1)->mp1)); return FALSE; } break; case WM_SETKEY: { ULONG state1 = mp1 ? 1 : 0; ULONG state2 = mp2 ? 1 : 0; WinEnableControl(hwnd, RB_SET1, state1); WinEnableControl(hwnd, RB_SET2, state2); WinSendMsg(hwnd, WM_KPROCESS, (void*)state1, (void*)state2); } break; case WM_KENABLECTRL: WinEnableControl(hwnd, SPB_N, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_E, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_S, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_W, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_NE, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_SE, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_SW, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_NW, mp1 ? 0 : 1); WinEnableControl(hwnd, SPB_FIRE, mp1 ? 0 : 1); return FALSE; case WM_KFILLSPB: UpdateKeyVal(hwnd, SPB_N, set1); UpdateKeyVal(hwnd, SPB_E, set1); UpdateKeyVal(hwnd, SPB_S, set1); UpdateKeyVal(hwnd, SPB_W, set1); UpdateKeyVal(hwnd, SPB_NE, set1); UpdateKeyVal(hwnd, SPB_SE, set1); UpdateKeyVal(hwnd, SPB_SW, set1); UpdateKeyVal(hwnd, SPB_NW, set1); UpdateKeyVal(hwnd, SPB_FIRE, set1); return FALSE; } return WinDefDlgProc (hwnd, msg, mp1, mp2); }
static MRESULT EXPENTRY pm_joystick(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { switch (msg) { case WM_INITDLG: { int joy1, joy2; // // disable controls of non existing joysticks // remark: I think this cannot change while runtime // if (!(number_joysticks & JOYDEV_HW1)) { WinEnableControl(hwnd, CB_JOY11, 0); WinEnableControl(hwnd, CB_JOY12, 0); } if (!(number_joysticks&JOYDEV_HW2)) { WinEnableControl(hwnd, CB_JOY21, 0); WinEnableControl(hwnd, CB_JOY22, 0); } if (number_joysticks == 0) { WinEnableControl(hwnd, ID_CALIBRATE, 0); } if (machine_class == VICE_MACHINE_VIC20) { WinEnableControl(hwnd, CB_JOY12, 0); WinEnableControl(hwnd, CB_JOY22, 0); WinEnableControl(hwnd, CB_NUMJOY2, 0); WinEnableControl(hwnd, CB_KS1JOY2, 0); WinEnableControl(hwnd, CB_KS2JOY2, 0); WinEnableControl(hwnd, ID_SWAP, 0); } resources_get_int("JoyDevice1", &joy1); resources_get_int("JoyDevice2", &joy2); WinSendMsg(hwnd, WM_SETCBS, (void*)joy1, (void*)joy2); } break; case WM_DESTROY: case WM_CLOSE: { if (WinIsWindowVisible(hwndCalibrate)) { WinSendMsg(hwndCalibrate, WM_CLOSE, 0, 0); } if (WinIsWindowVisible(hwndKeyset)) { WinSendMsg(hwndKeyset, WM_CLOSE, 0, 0); } } break; case WM_COMMAND: switch(LONGFROMMP(mp1)) { case DID_CLOSE: { if (WinIsWindowVisible(hwndCalibrate)) { WinSendMsg(hwndCalibrate, WM_CLOSE, 0, 0); } if (WinIsWindowVisible(hwndKeyset)) { WinSendMsg(hwndKeyset, WM_CLOSE, 0, 0); } } break; case ID_SWAP: { int joy1, joy2; resources_get_int("JoyDevice1", &joy1); resources_get_int("JoyDevice2", &joy2); resources_set_int("JoyDevice1", joy2); resources_set_int("JoyDevice2", joy1); WinSendMsg(hwnd, WM_SETCBS, (void*)joy2, (void*)joy1); } return FALSE; case ID_CALIBRATE: calibrate_dialog(hwnd); return FALSE; case ID_KEYSET: keyset_dialog(hwnd); return FALSE;; } break; case WM_CONTROL: { int button =SHORT1FROMMP(mp1); int state = WinQueryButtonCheckstate(hwnd, button); int port = button & JOY_PORT1; int joya, joyb; resources_get_int(port ? "JoyDevice1" : "JoyDevice2", &joya); resources_get_int(port ? "JoyDevice2" : "JoyDevice1", &joyb); if (state) { joya |= button & JOYDEV_ALL; } else { joya &= ~(button & JOYDEV_ALL); } resources_set_int(port ? "JoyDevice1" : "JoyDevice2", joya); WinSendMsg(hwnd, WM_SETDLGS, (void*)(port ? joya : joyb), (void*)(port ? joyb : joya)); } break; case WM_SETDLGS: { int joy1 = (int)mp1; int joy2 = (int)mp2; int joys = joy1 | joy2; if (WinIsWindowVisible(hwndCalibrate)) { WinSendMsg(hwndCalibrate, WM_SETJOY, (MPARAM)(joys & JOYDEV_HW1), (MPARAM)(joys & JOYDEV_HW2)); } if (WinIsWindowVisible(hwndKeyset)) { WinSendMsg(hwndKeyset, WM_SETKEY, (MPARAM)(joys&JOYDEV_KEYSET1), (MPARAM)(joys&JOYDEV_KEYSET2)); } } break; case WM_SETCBS: WinCheckButton(hwnd, CB_JOY11, (JOYDEV_HW1 & (int)mp1) ? 1 : 0); WinCheckButton(hwnd, CB_JOY12, (JOYDEV_HW1 & (int)mp2) ? 1 : 0); WinCheckButton(hwnd, CB_JOY21, (JOYDEV_HW2 & (int)mp1) ? 1 : 0); WinCheckButton(hwnd, CB_JOY22, (JOYDEV_HW2 & (int)mp2) ? 1 : 0); WinCheckButton(hwnd, CB_NUMJOY1, (JOYDEV_NUMPAD & (int)mp1) ? 1 : 0); WinCheckButton(hwnd, CB_NUMJOY2, (JOYDEV_NUMPAD & (int)mp2) ? 1 : 0); WinCheckButton(hwnd, CB_KS1JOY1, (JOYDEV_KEYSET1 & (int)mp1) ? 1 : 0); WinCheckButton(hwnd, CB_KS1JOY2, (JOYDEV_KEYSET1 & (int)mp2) ? 1 : 0); WinCheckButton(hwnd, CB_KS2JOY1, (JOYDEV_KEYSET2 & (int)mp1) ? 1 : 0); WinCheckButton(hwnd, CB_KS2JOY2, (JOYDEV_KEYSET2 & (int)mp2) ? 1 : 0); break; } return WinDefDlgProc (hwnd, msg, mp1, mp2); }
/* This procedure handles the filename options page */ MRESULT EXPENTRY fileNameOptionDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { CWDataFolder* thisPtr; ULONG ulFlags; switch(msg) { case WM_INITDLG : WinSetWindowULong(hwnd, QWL_USER,(ULONG)PVOIDFROMMP(mp2));//Save object ptr. thisPtr=(CWDataFolder*)PVOIDFROMMP(mp2); if(!somIsObj(thisPtr)) return (MRESULT) TRUE; if(thisPtr->cwQueryMkisofsFlags()&IDMK_ALLOW32CHARS) { WinCheckButton(hwnd,IDRB_32CHARNAMES,1); WinCheckButton(hwnd,IDRB_DOSNAMES,0); } else { WinCheckButton(hwnd,IDRB_32CHARNAMES,0); WinCheckButton(hwnd,IDRB_DOSNAMES,1); } /* TRANS.TBL files */ if(thisPtr->cwQueryMkisofsFlags() & IDMK_TRANSTABLE) WinCheckButton(hwnd,IDCB_TRANSTABLE,1); else WinCheckButton(hwnd,IDCB_TRANSTABLE,0); if(((CWDataFolder*)PVOIDFROMMP(mp2))->cwQueryMkisofsFlags()&IDMK_JOLIET) WinCheckButton(hwnd,IDCB_JOLIET,1); WinShowWindow(WinWindowFromID(hwnd,IDCB_DEEPDIRECTORIES),FALSE); /* Move default buttons on Warp 4 */ cwMoveNotebookButtonsWarp4(hwnd, IDPB_FILENAMEHELP, 20); return (MRESULT) TRUE; /* case WM_HELP: thisPtr=(CWAudioFolder*) WinQueryWindowULong(WinWindowFromID(hwnd,IDPB_CDRECORDBROWSE),QWL_USER); if(!thisPtr) break; switch(WinQueryWindowUShort(WinQueryFocus(HWND_DESKTOP),QWS_ID)) { case IDEF_CDRECORDOPTIONS: return (MRESULT)thisPtr->wpDisplayHelp(IDEF_CDRECORDOPTIONS,AFHELPLIBRARY); case IDPB_WIDERRUFEN: return (MRESULT)thisPtr->wpDisplayHelp(IDPB_WIDERRUFEN,AFHELPLIBRARY); case IDPB_CDRECORDBROWSE: return (MRESULT)thisPtr->wpDisplayHelp(IDPB_CDRECORDBROWSE,AFHELPLIBRARY); case IDEF_CDRECORDPATH: return (MRESULT)thisPtr->wpDisplayHelp(IDEF_CDRECORDPATH,AFHELPLIBRARY); default: break; } return (MRESULT)thisPtr->wpDisplayHelp(IDDLG_CDRECORDSETUP,AFHELPLIBRARY); break;*/ /* This prevents switching the notebook page behind the open folder */ case WM_WINDOWPOSCHANGED: { MRESULT mr; if(WinQueryFocus(HWND_DESKTOP)!= WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT)) { mp2=MPFROMLONG(LONGFROMMP(mp2)|0x80000);/*AWP_ACTIVATE 0x00080000L*/ mr=WinDefDlgProc(hwnd, msg, mp1, mp2); return mr; } break; } case WM_FOCUSCHANGE: { if(!SHORT1FROMMP(mp2)) { if(HWNDFROMMP(mp1)==hwnd) { MRESULT mr; mr=WinDefDlgProc(hwnd, msg, mp1, mp2); WinSendMsg(WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT), WM_SETFOCUS, MPFROMHWND(hwnd), (MPARAM)TRUE); return mr; } } break; } #if 0 case WM_WINDOWPOSCHANGED: { /* This prevents switching the notebook page behind the open folder */ if(!(WinQueryWindowUShort(WinQueryWindow(hwnd, QW_PARENT), QWS_FLAGS) & FF_ACTIVE)) mp2=MPFROMLONG(0x80000); break; } #endif case WM_DESTROY: /* The notebook closes and gets destroyed */ /* Set focus to desktop to prevent PM freeze */ WinSetFocus(HWND_DESKTOP, HWND_DESKTOP); /* Let the WPS save the new instance data */ // thisPtr=(CWDataFolder*) WinQueryWindowULong(WinWindowFromID(hwnd,IDPB_FILENAMEUNDO),QWL_USER); thisPtr=(CWDataFolder*) WinQueryWindowULong(hwnd,QWL_USER); if(somIsObj(thisPtr)) { ulFlags=0; if(WinQueryButtonCheckstate(hwnd,IDCB_JOLIET) &1 ) ulFlags|=IDMK_JOLIET; if(WinQueryButtonCheckstate(hwnd,IDRB_32CHARNAMES) &1 ) ulFlags|=IDMK_ALLOW32CHARS; /* TRANS.TBL files */ if(WinQueryButtonCheckstate(hwnd,IDCB_TRANSTABLE) &1 ) ulFlags|=IDMK_TRANSTABLE; thisPtr->cwSetMkisofsFlags(ulFlags, IDMK_ALLOW32CHARS|IDMK_JOLIET| IDMK_TRANSTABLE); thisPtr->wpSaveImmediate(); } /* Setup is done */ return (MRESULT) TRUE; case WM_COMMAND: switch(SHORT1FROMMP(mp1)) { case IDPB_FILENAMEUNDO: /* User pressed the UNDO button */ //thisPtr=(CWDataFolder*) WinQueryWindowULong(WinWindowFromID(hwnd,IDPB_FILENAMEUNDO),QWL_USER); thisPtr=(CWDataFolder*) WinQueryWindowULong(hwnd,QWL_USER); if(somIsObj(thisPtr)) { ulFlags=thisPtr->cwQueryMkisofsFlags(); if(ulFlags&IDMK_ALLOW32CHARS) { WinCheckButton(hwnd,IDRB_32CHARNAMES,1); WinCheckButton(hwnd,IDRB_DOSNAMES,0); } else { WinCheckButton(hwnd,IDRB_32CHARNAMES,0); WinCheckButton(hwnd,IDRB_DOSNAMES,1); } if(ulFlags&IDMK_TRANSTABLE) WinCheckButton(hwnd,IDCB_TRANSTABLE,1); else WinCheckButton(hwnd,IDCB_TRANSTABLE,0); if(ulFlags&IDMK_JOLIET) WinCheckButton(hwnd,IDCB_JOLIET,1); else WinCheckButton(hwnd,IDCB_JOLIET,0); } break; default: break; } return (MRESULT) TRUE; default: break; } return WinDefDlgProc(hwnd, msg, mp1, mp2); }
static MRESULT EXPENTRY pm_calibrate(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { static int joy1 = TRUE; switch (msg) { case WM_INITDLG: { int j1, j2; resources_get_int("JoyDevice1", &j1); resources_get_int("JoyDevice2", &j2); WinSendMsg(hwnd, WM_PROCESS, (void*)!!((j1 | j2) & JOYDEV_HW1), (void*)!!((j1 | j2) & JOYDEV_HW2)); } break; case WM_COMMAND: { int cmd = LONGFROMMP(mp1); switch (cmd) { case ID_START: case ID_RESET: case ID_STOP: if (joy1) { set_joyA_autoCal(NULL, (void*)(cmd != ID_STOP)); } else { set_joyB_autoCal(NULL, (void*)(cmd != ID_STOP)); } WinSendMsg(hwnd, WM_ENABLECTRL, 0, (void*)(cmd != ID_STOP)); WinSendMsg(hwnd, WM_FILLSPB, 0, 0); return FALSE; } break; } case WM_CONTROL: { int ctrl = SHORT1FROMMP(mp1); switch (ctrl) { case RB_JOY1: case RB_JOY2: if (!(ctrl == RB_JOY1 && joy1) && !(ctrl == RB_JOY2 && !joy1)) { joy1 = !joy1; WinSendMsg(hwnd, WM_ENABLECTRL, 0, (void*)(get_joy_autoCal(joy1 ? 0 : 1))); WinSendMsg(hwnd, WM_FILLSPB, 0, 0); } break; case SPB_UP: case SPB_DOWN: case SPB_LEFT: case SPB_RIGHT: if (SHORT2FROMMP(mp1) == SPBN_ENDSPIN) { const ULONG val = WinGetSpinVal((HWND)mp2); resources_set_int(ctrl == SPB_UP ? (joy1 ? "joyAup" : "joyBup") : ctrl == SPB_DOWN ? (joy1 ? "joyAdown" : "joyBdown") : ctrl == SPB_LEFT ? (joy1 ? "joyAleft" : "joyBleft") : (joy1 ? "joyAright" : "joyBright"), val); } break; } break; } case WM_PROCESS: if (((int)mp1 ^ (int)mp2) & 1) { joy1 = (int)mp1; } WinCheckButton(hwnd, joy1?RB_JOY1:RB_JOY2, 1); WinEnableControl(hwnd, RB_JOY1, (ULONG)mp1); WinEnableControl(hwnd, RB_JOY2, (ULONG)mp2); WinSendMsg(hwnd, WM_ENABLECTRL, (void*)(!mp1 && !mp2), (void*)get_joy_autoCal(joy1 ? 0 : 1)); WinSendMsg(hwnd, WM_FILLSPB, 0, 0); break; case WM_SETJOY: { ULONG state1 = mp1 ? 1 : 0; ULONG state2 = mp2 ? 1 : 0; WinEnableControl(hwnd, RB_JOY1, state1); WinEnableControl(hwnd, RB_JOY2, state2); WinSendMsg(hwnd, WM_PROCESS, (void*)state1, (void*)state2); } break; case WM_ENABLECTRL: WinEnableControl(hwnd, ID_START, mp1 ? FALSE : !mp2); WinEnableControl(hwnd, ID_STOP, mp1 ? FALSE : !!mp2); WinEnableControl(hwnd, ID_RESET, mp1 ? FALSE : !!mp2); WinEnableControl(hwnd, SPB_UP, mp1 ? FALSE : !mp2); WinEnableControl(hwnd, SPB_DOWN, mp1 ? FALSE : !mp2); WinEnableControl(hwnd, SPB_LEFT, mp1 ? FALSE : !mp2); WinEnableControl(hwnd, SPB_RIGHT, mp1 ? FALSE : !mp2); return FALSE; case WM_FILLSPB: { int val; resources_get_int(joy1 ? "JoyAup" : "JoyBup", &val); WinSetDlgSpinVal(hwnd, SPB_UP, val); resources_get_int(joy1 ? "JoyAdown" : "JoyBdown", &val); WinSetDlgSpinVal(hwnd, SPB_DOWN, val); resources_get_int(joy1 ? "JoyAleft" : "JoyBleft", &val); WinSetDlgSpinVal(hwnd, SPB_LEFT, val); resources_get_int(joy1 ? "JoyAright" : "JoyBright", &val); WinSetDlgSpinVal(hwnd, SPB_RIGHT, val); } return FALSE; } return WinDefDlgProc (hwnd, msg, mp1, mp2); }
MRESULT EXPENTRY Dlg_UserPage (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) { switch( msg ) { case WM_INITDLG: { WinSendMsg(WinWindowFromID(hwnd,USER_LOOP),EM_SETTEXTLIMIT,MPFROM2SHORT(4,TRUE),MPFROM2SHORT(0,TRUE)); WinSendMsg(WinWindowFromID(hwnd,USER_WAIT),EM_SETTEXTLIMIT,MPFROM2SHORT(4,TRUE),MPFROM2SHORT(0,TRUE)); String number; number = p_config->getUserLoopTimes(); WinSetWindowText(WinWindowFromID(hwnd,USER_LOOP),number.asCharStar()); number = (int)p_config->getUserLoopDelay(); WinSetWindowText(WinWindowFromID(hwnd,USER_WAIT),number.asCharStar()); if (p_config->getUserAutoStart()) WinCheckButton(hwnd,USER_AUTO,(unsigned short)TRUE); else WinCheckButton(hwnd,USER_AUTO,(unsigned short)FALSE); if (p_config->getUserShowAllFiles()) { WinCheckButton(hwnd,USER_SMALLTREE,(unsigned short)FALSE); WinCheckButton(hwnd,USER_BIGTREE,(unsigned short)TRUE); } else { WinCheckButton(hwnd,USER_SMALLTREE,(unsigned short)TRUE); WinCheckButton(hwnd,USER_BIGTREE,(unsigned short)FALSE); } if (p_config->getUserSmallIcons()) WinCheckButton(hwnd,USER_ICONS,(unsigned short)TRUE); else WinCheckButton(hwnd,USER_ICONS,(unsigned short)FALSE); } break; //---------------------------------- case WM_CLOSE: { unsigned short previous = WinCheckButton(hwnd,USER_AUTO,(unsigned short)TRUE); p_config->setUserAutoStart(previous); previous = WinCheckButton(hwnd,USER_BIGTREE,(unsigned short)TRUE); p_config->setUserShowAllFiles(previous); previous = WinCheckButton(hwnd,USER_ICONS,(unsigned short)TRUE); p_config->setUserSmallIcons(previous); char *buffer = new char[1024]; WinQueryWindowText(WinWindowFromID(hwnd,USER_LOOP),1023,buffer); p_config->setUserLoopTimes(atoi(buffer)); WinQueryWindowText(WinWindowFromID(hwnd,USER_WAIT),1023,buffer); p_config->setUserLoopDelay(atoi(buffer)); delete[] buffer; } return 0; // 06 Mar 01 SHL case WM_CONTROL: switch(SHORT2FROMMP(mp1)) { case EN_CHANGE: { char *number_str = new char[1024]; switch (SHORT1FROMMP(mp1)) { case USER_LOOP: WinQueryWindowText(WinWindowFromID(hwnd,USER_LOOP),1023,number_str); if (makeDigitsOnly(number_str)) WinSetWindowText(WinWindowFromID(hwnd,USER_LOOP),number_str); break; case USER_WAIT: WinQueryWindowText(WinWindowFromID(hwnd,USER_WAIT),1023,number_str); if (makeDigitsOnly(number_str)) WinSetWindowText(WinWindowFromID(hwnd,USER_WAIT),number_str); break; } delete[] number_str; } } //---------------------------------- case WM_COMMAND: switch( SHORT1FROMMP( mp1 ) ) { case PB_DEFAULT: // The default pushbutton has been pressed // The entries should be reset to their default values { WinCheckButton(hwnd,USER_AUTO,(unsigned short)FALSE); WinCheckButton(hwnd,USER_SMALLTREE,(unsigned short)FALSE); WinCheckButton(hwnd,USER_BIGTREE,(unsigned short)TRUE); WinCheckButton(hwnd,USER_ICONS,(unsigned short)TRUE); WinSetWindowText(WinWindowFromID(hwnd,USER_LOOP),"0"); WinSetWindowText(WinWindowFromID(hwnd,USER_WAIT),"0"); } break; //---------------------------------- } return 0; //---------------------------------- case WM_VALIDATE: { /* // get status of check box WinEnableWindowUpdate(WinWindowFromID(hwnd,USER_AUTO),FALSE); unsigned short previous = WinCheckButton(hwnd,USER_AUTO,(unsigned short)TRUE); WinCheckButton(hwnd,USER_AUTO,previous); WinEnableWindowUpdate(WinWindowFromID(hwnd,USER_AUTO),TRUE); // check log filename is available & writeable if being used char *buffer=new char[1024]; WinQueryWindowText(WinWindowFromID(hwnd,LOG_PATH),1023,buffer); lrSpaceTrim(buffer); delete[] buffer; */ } return (MPARAM) 1; // !WinQueryButtonCheckstate( hwnd, CKB_VALIDATIONERROR ); }//switch( msg ) return WinDefDlgProc( hwnd, msg, mp1, mp2 ); }// Dlg_NbkpPage Dialog Procedure
void UpdateControls( HWND hwndDlg ) { int i; char szFromUl[ 9 ]; HWND hwndLB; hwndLB = WinWindowFromID( hwndDlg, LB_CONTROL ); WinSendMsg( hwndLB, LM_SELECTITEM, MPFROMSHORT( LIT_NONE ), MPFROMLONG( FALSE ) ); for( i = 0; i < cControlTypes; i++ ) if( dlgInfo.fsControl & dcControl[ i ].iItem ) WinSendMsg( hwndLB, LM_SELECTITEM, MPFROMSHORT( i ), MPFROMLONG( TRUE ) ); hwndLB = WinWindowFromID( hwndDlg, LB_SUPPORTEDOPS ); WinSendMsg( hwndLB, LM_SELECTITEM, MPFROMSHORT( LIT_NONE ), MPFROMLONG( FALSE ) ); for( i = 0; i < cSupportedOps; i++ ) if( dlgInfo.fsSupportedOps & dcSupportedOp[ i ].iItem ) WinSendMsg( hwndLB, LM_SELECTITEM, MPFROMSHORT( i ), MPFROMLONG( TRUE ) ); for( i = 0; i < cOperations; i++ ) if( dlgInfo.usOperation == dcOperation[ i ].iItem ) { WinSetDlgItemText( hwndDlg, CB_OPERATION, dcOperation[ i ].szItem ); break; } if( i == cOperations ) WinSetDlgItemText( hwndDlg, CB_OPERATION, _ultoa( (ULONG)dlgInfo.usOperation, szFromUl, 16 ) ); if( dlgInfo.ulItemID ) WinSetDlgItemText( hwndDlg, EF_ITEMID, _ultoa( dlgInfo.ulItemID, szFromUl, 16 ) ); else WinSetDlgItemText( hwndDlg, EF_ITEMID, "" ); WinSetDlgItemText( hwndDlg, CB_TYPE, dlgInfo.szType ); for( i = 0; i < cTypes; i++ ) { if( !stricmp( ntsType[ i ].szString, dlgInfo.szType ) ) WinSetDlgItemText( hwndDlg, CB_TYPE, ntsType[ i ].szName ); } WinSetDlgItemText( hwndDlg, EF_CNR_NAME, dlgInfo.szContainerName ); WinSetDlgItemText( hwndDlg, EF_SOURCE_NAME, dlgInfo.szSourceName ); WinSetDlgItemText( hwndDlg, EF_TARGET_NAME, dlgInfo.szTargetName ); WinCheckButton( hwndDlg, CHK_OVERRIDE_ID, dlgInfo.fUseDlgItemID ); WinCheckButton( hwndDlg, CHK_OVERRIDE_HSTRS, dlgInfo.fUseDlgDragNames ); WinEnableControl( hwndDlg, EF_ITEMID, dlgInfo.fUseDlgItemID ); WinEnableControl( hwndDlg, ST_ITEMID, dlgInfo.fUseDlgItemID ); WinEnableControl( hwndDlg, EF_CNR_NAME, dlgInfo.fUseDlgDragNames ); WinEnableControl( hwndDlg, EF_SOURCE_NAME, dlgInfo.fUseDlgDragNames ); WinEnableControl( hwndDlg, EF_TARGET_NAME, dlgInfo.fUseDlgDragNames ); WinEnableControl( hwndDlg, ST_CNR_NAME, dlgInfo.fUseDlgDragNames ); WinEnableControl( hwndDlg, ST_SOURCE_NAME, dlgInfo.fUseDlgDragNames ); WinEnableControl( hwndDlg, ST_TARGET_NAME, dlgInfo.fUseDlgDragNames ); }
//A Dlg procedure if the plugin has selectable settings. MRESULT EXPENTRY CBZPluginSetupDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { short sControlId; PLUGINSHARE *pPluginData; HOBJECT hObject; switch (msg) { case WM_INITDLG: { short sInsertItem;/*to insert in ListBox*/ CHAR *szLineStyles [] = {"dotted","short-dashed","dash-dot", "double-dotted","long-dashed","dash-double-dot", "solid","invisible","alternate pels" }; if ((pPluginData = (PLUGINSHARE *) mp2) == NULL) { //Error message.. WinDismissDlg(hwnd, DID_ERROR); return (MRFROMLONG(FALSE)); } WinSetWindowPtr(hwnd, QWL_USER, pPluginData); // store window words WinSetPresParam(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(pPluginData->lActiveLineColor), (PVOID) & (pPluginData->lActiveLineColor)); WinSetPresParam(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(pPluginData->lActiveShadowColor), (PVOID) & (pPluginData->lActiveShadowColor)); WinSetPresParam(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(pPluginData->lInactiveLineColor), (PVOID) & (pPluginData->lInactiveLineColor)); WinSetPresParam(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(pPluginData->lInactiveShadowColor), (PVOID) & (pPluginData->lInactiveShadowColor)); if (pPluginData->bActiveEnabled) { WinCheckButton(hwnd, CBID_ACTIVEENABLED, TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), TRUE); } else { WinCheckButton(hwnd, CBID_ACTIVEENABLED, FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), FALSE); } if (pPluginData->bInactiveEnabled) { WinCheckButton(hwnd, CBID_INACTIVEENABLED, TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), TRUE); } else { WinCheckButton(hwnd, CBID_INACTIVEENABLED, FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), FALSE); } /*there are 9 line styles*/ for (sInsertItem=0; sInsertItem < 9; sInsertItem++) { WinSendDlgItemMsg (hwnd, LBID_LINESTYLE, LM_INSERTITEM, MPFROMSHORT (LIT_END), szLineStyles [sInsertItem]); } WinSendDlgItemMsg (hwnd, LBID_LINESTYLE, LM_SELECTITEM, MPFROMSHORT(pPluginData->lLineStyle-1), MPFROMSHORT(TRUE)); } break; case WM_COMMAND: { sControlId = COMMANDMSG(&msg)->cmd; switch (sControlId) { case PBID_ACTIVELINECOLOR: case PBID_ACTIVESHADOWCOLOR: case PBID_INACTIVELINECOLOR: case PBID_INACTIVESHADOWCOLOR: { // Open the colorpalette hObject=WinQueryObject("<WP_HIRESCLRPAL>"); if((hObject=WinQueryObject("<WP_HIRESCLRPAL>"))!=NULLHANDLE) { WinOpenObject(hObject, OPEN_DEFAULT ,TRUE); } else {//Error, can't open the palette /* Show an error msg. */ WinMessageBox(HWND_DESKTOP, hwnd, "Can't open color palette", "Gradient plugin", 12345, /* Window ID */ MB_OK | MB_MOVEABLE | MB_ICONEXCLAMATION | MB_DEFBUTTON1); /* Style */ } /* long lColor; if (sControlId == PBID_ACTIVELINECOLOR) { if (CBZGetColor(hwnd, &lColor)) { WinSetPresParam(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(lColor), (PVOID) &lColor ); } } else if (sControlId == PBID_ACTIVESHADOWCOLOR) { if (CBZGetColor(hwnd, &lColor)) { WinSetPresParam(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(lColor), (PVOID) &lColor ); } } else if (sControlId == PBID_INACTIVELINECOLOR) { if (CBZGetColor(hwnd, &lColor)) { WinSetPresParam(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(lColor), (PVOID) &lColor ); } } else if (sControlId == PBID_INACTIVESHADOWCOLOR) { if (CBZGetColor(hwnd, &lColor)) { WinSetPresParam(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), PP_BACKGROUNDCOLOR, (ULONG) sizeof(lColor), (PVOID) &lColor ); } }*/ } break; case PBID_OK: { ULONG attrFound; if ((pPluginData = (PLUGINSHARE *) WinQueryWindowPtr(hwnd, QWL_USER)) == NULL) { //error message here. break; } WinQueryPresParam(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), PP_BACKGROUNDCOLOR, 0, &attrFound, sizeof(attrFound), &(pPluginData->lActiveLineColor), QPF_PURERGBCOLOR); WinQueryPresParam(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), PP_BACKGROUNDCOLOR, 0, &attrFound, sizeof(attrFound), &(pPluginData->lActiveShadowColor), QPF_PURERGBCOLOR); WinQueryPresParam(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), PP_BACKGROUNDCOLOR, 0, &attrFound, sizeof(attrFound), &(pPluginData->lInactiveLineColor), QPF_PURERGBCOLOR); WinQueryPresParam(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), PP_BACKGROUNDCOLOR, 0, &attrFound, sizeof(attrFound), &(pPluginData->lInactiveShadowColor), QPF_PURERGBCOLOR); if ( WinQueryButtonCheckstate(hwnd, CBID_ACTIVEENABLED) ) pPluginData->bActiveEnabled = TRUE; else pPluginData->bActiveEnabled = FALSE; if ( WinQueryButtonCheckstate(hwnd, CBID_INACTIVEENABLED) ) pPluginData->bInactiveEnabled = TRUE; else pPluginData->bInactiveEnabled = FALSE; pPluginData->lLineStyle = 1 + (LONG) WinSendDlgItemMsg (hwnd, LBID_LINESTYLE, LM_QUERYSELECTION, (MPARAM) 0, NULL); //update! WinDismissDlg(hwnd, PBID_OK); } break; case PBID_CANCEL: { //don't update shared Memory! WinDismissDlg(hwnd, PBID_CANCEL); } break; } return ((MPARAM) 0); } break; case WM_CONTROL: { switch (SHORT1FROMMP(mp1)) { case CBID_ACTIVEENABLED: { // if Enabled if (!WinQueryButtonCheckstate(hwnd, CBID_ACTIVEENABLED)) { // check button WinCheckButton(hwnd, CBID_ACTIVEENABLED, TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), TRUE); } else { // uncheck button WinCheckButton(hwnd, CBID_ACTIVEENABLED, FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVELINECOLOR), FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_ACTIVESHADOWCOLOR), FALSE); } } break; case CBID_INACTIVEENABLED: { // if Enabled if (!WinQueryButtonCheckstate(hwnd, CBID_INACTIVEENABLED)) { // check button WinCheckButton(hwnd, CBID_INACTIVEENABLED, TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), TRUE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), TRUE); } else { // uncheck button WinCheckButton(hwnd, CBID_INACTIVEENABLED, FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVELINECOLOR), FALSE); WinEnableWindow(WinWindowFromID(hwnd, PBID_INACTIVESHADOWCOLOR), FALSE); } } break; } return ((MRESULT) 0); } break; } return (WinDefDlgProc(hwnd, msg, mp1, mp2)); }
/* This function enables the controls on the CD-type page according to the single-/multisession choice. */ static void enableCDTypeCntrls(HWND hwnd, ULONG ulFlags) { if(ulFlags&IDCDT_MULTISESSION) { /* Multisession selected */ _showTrackCntrls(hwnd, FALSE); _showBootCDCntrls(hwnd, FALSE); _showSingleSessionCntrls(hwnd, FALSE); /* Show multisession controls */ _showMultiSessionCntrls(hwnd, TRUE); WinCheckButton(hwnd,IDRB_MULTISESSION,1); //thisPtr->cwEnableMultiSessionCntrls(hwnd,TRUE); } else if(ulFlags&IDCDT_BOOTCD) { /* Boot-CD selected */ WinCheckButton(hwnd,IDRB_BOOTCD,1); _showTrackCntrls(hwnd, FALSE); _showMultiSessionCntrls(hwnd, FALSE); _showSingleSessionCntrls(hwnd, FALSE); _showBootCDCntrls(hwnd, TRUE); } else if(ulFlags&IDCDT_USERDEFINED) {// Userdefined selected. Disable the multisession stuff WinCheckButton(hwnd,IDRB_USERDEFINED,1); _showBootCDCntrls(hwnd, FALSE); _showMultiSessionCntrls(hwnd, FALSE); _showSingleSessionCntrls(hwnd, FALSE); /* Show tracktype controls */ _showTrackCntrls(hwnd, TRUE); } else{// singlesession selected. Disable the multisession stuff WinCheckButton(hwnd,IDRB_SINGLESESSION,1); _showBootCDCntrls(hwnd, FALSE); _showMultiSessionCntrls(hwnd, FALSE); /* Hide tracktype controls */ _showTrackCntrls(hwnd, FALSE); _showSingleSessionCntrls(hwnd, TRUE); } /* Check tracktype button */ if(ulFlags&IDCDT_TRACKMODE2) WinCheckButton(hwnd,IDRB_TRACKMODE2,1); else if(ulFlags&IDCDT_TRACKXA1) WinCheckButton(hwnd,IDRB_TRACKXA1,1); else if(ulFlags&IDCDT_TRACKXA2) WinCheckButton(hwnd,IDRB_TRACKXA2,1); else if(ulFlags&IDCDT_TRACKCDI) WinCheckButton(hwnd,IDRB_TRACKCDI,1); else WinCheckButton(hwnd,IDRB_TRACKDATA,1); /* Default */ /* Fixdisk checkbutton */ if(ulFlags&IDCDT_FIXDISK) WinCheckButton(hwnd,IDCB_FIXDISK,1); else WinCheckButton(hwnd,IDCB_FIXDISK,0); }
MRESULT EXPENTRY O_CONFIGDlgProc(HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2) { PO_CONFIGFORMINFO pO_CONFIGFormInfo=(PO_CONFIGFORMINFO) WinQueryWindowULong(hwndDlg, QWL_USER); HWND hwndFrame = hwndDlg; /* ##START Form.37 Top of window procedure */ /* ##END Top of window procedure */ switch (msg) { /* Form event Opened WM_INITDLG */ case WM_INITDLG : if (mp2==0) mp2 = (MPARAM) malloc(sizeof(O_CONFIGFORMINFO)); HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); pO_CONFIGFormInfo=(PO_CONFIGFORMINFO) WinQueryWindowULong(hwndDlg, QWL_USER); WinAssociateHelpInstance(pMainFormInfo->hwndHelpInstance, hwndFrame); { /* ##START Form.1 */ /* Event Opened - Form STICKY2\O_CONFIG */ CHAR aTextValue[255]="text"; LONG anIntegerValue=0; ULONG anUnsignedValue=0; c_cas = c_car = c_pop = c_aus = c_beep = c_mini = c_clr = 0; WinCheckButton(hwndDlg, SEND_CONFIG, CheckYes(gAfterSend)); WinCheckButton(hwndDlg, REPLY_CONFIG, CheckYes(gAfterReply)); WinCheckButton(hwndDlg, BACKGROUND_CONFIG, CheckYes(gPUS)); WinCheckButton(hwndDlg, SURE_CONFIG, CheckYes(gSure)); WinCheckButton(hwndDlg, MINI_CONFIG, CheckYes(gStickyIcon)); WinCheckButton(hwndDlg, BEEP_CONFIG, CheckYes(gBeep)); if (CheckNo(gBeep)) { WinEnableControl(hwndDlg, 1006, FALSE); WinEnableControl(hwndDlg, 1007, FALSE); WinEnableControl(hwndDlg, FREQUENCY_CONFIG, FALSE); WinEnableControl(hwndDlg, DURATION_CONFIG, FALSE); } /* end if */ /* Set range (numeric style) FREQUENCY_CONFIG Spin Button */ WinSendDlgItemMsg(hwndDlg, FREQUENCY_CONFIG, SPBM_SETLIMITS, MPFROMLONG(5000), /* Upper limit */ MPFROMLONG(10)); /* Lower limit */ WinSendDlgItemMsg(hwndDlg, DURATION_CONFIG, SPBM_SETLIMITS, MPFROMLONG(1000), /* Upper limit */ MPFROMLONG(10)); /* Lower limit */ WinSendDlgItemMsg(hwndDlg, FREQUENCY_CONFIG, SPBM_SETCURRENTVALUE, MPFROMLONG(atol(gFreq)), /* Value within range */ 0); WinSendDlgItemMsg(hwndDlg, DURATION_CONFIG, SPBM_SETCURRENTVALUE, MPFROMLONG(atol(gDur)), /* Value within range */ 0); /* Set range without update CLEAR_CONFIG Spin Button */ WinSendDlgItemMsg(hwndDlg, CLEAR_CONFIG, SPBM_OVERRIDESETLIMITS, MPFROMLONG(120), /* Upper limit */ MPFROMLONG(0)); /* Lower limit */ /* Set item value (numeric style) CLEAR_CONFIG Spin Button */ WinSendDlgItemMsg(hwndDlg, CLEAR_CONFIG, SPBM_SETCURRENTVALUE, MPFROMLONG(atol(gClearAuto)), /* Value within range */ 0); /* ##END */ } break; /* Form event Closed WM_CLOSE */ case WM_CLOSE : { /* ##START Form.2 */ /* Event Closed - Form STICKY2\O_CONFIG */ CHAR aTextValue[255]="text"; LONG anIntegerValue=0; ULONG anUnsignedValue=0; MsgLog("Closing O_CONFIG"); if (c_mini) { SWP swp; anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,MINI_CONFIG); strcpy(gStickyIcon, anUnsignedValue ? gYes : gNo); PutString(S_StickyIcon, gStickyIcon); WinQueryWindowPos(gHwndFrame, &swp); if (swp.fl & SWP_RESTORE) { MsgLog("O_CONFIG - RESTORE"); WinPostMsg(gHwndFrame, WM_USER_RESTORE, 0, 0); } } /* end if */ if (c_cas) { anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,SEND_CONFIG); strcpy(gAfterSend, anUnsignedValue ? gYes : gNo); PutString(S_CloseAfterSend, gAfterSend); } /* end if */ if (c_car) { anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,REPLY_CONFIG); strcpy(gAfterReply, anUnsignedValue ? gYes: gNo ); PutString(S_CloseAfterReply, gAfterReply); } /* end if */ if (c_pop) { anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,BACKGROUND_CONFIG); strcpy(gPUS, anUnsignedValue ? gYes: gNo ); PutString(S_PopUpSticky, gPUS); } /* end if */ if (c_aus) { anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,SURE_CONFIG); strcpy(gSure, anUnsignedValue ? gYes : gNo ); PutString(S_AreYouSure, gSure ); } /* end if */ if (c_beep) { anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,BEEP_CONFIG); PutString(S_Beep, anUnsignedValue ? gYes: gNo ); strcpy(gBeep, anUnsignedValue ? gYes : gNo); } /* end if */ /* Get item value (numeric style) FREQUENCY_CONFIG Spin Button */ WinSendDlgItemMsg(hwndDlg, FREQUENCY_CONFIG, SPBM_QUERYVALUE, MPFROMP(&anUnsignedValue), /* Buffer for value */ MPFROM2SHORT(0,SPBQ_ALWAYSUPDATE)); if (atol(gFreq) != anUnsignedValue) { sprintf(gFreq, "%d", anUnsignedValue); PutString(S_Frequency, gFreq); } /* end if */ /* Get item value (numeric style) DURATION_CONFIG Spin Button */ WinSendDlgItemMsg(hwndDlg, DURATION_CONFIG, SPBM_QUERYVALUE, MPFROMP(&anUnsignedValue), /* Buffer for value */ MPFROM2SHORT(0,SPBQ_ALWAYSUPDATE)); if (atol(gDur) != anUnsignedValue) { sprintf(gDur, "%d", anUnsignedValue); PutString(S_Duration, gDur); } /* end if */ /* Get item value (numeric style) DURATION_CONFIG Spin Button */ WinSendDlgItemMsg(hwndDlg, CLEAR_CONFIG, SPBM_QUERYVALUE, MPFROMP(&anUnsignedValue), /* Buffer for value */ MPFROM2SHORT(0,SPBQ_ALWAYSUPDATE)); if (atol(gClearAuto) != anUnsignedValue) { sprintf(gClearAuto, "%d", anUnsignedValue); PutString(S_ClearAuto, gClearAuto); } /* end if */ /* ##END */ } HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); break; /* Form event Destroyed WM_DESTROY */ case WM_DESTROY : /* ##START Form.3 */ /* ##END */ /* Remove help instance */ WinAssociateHelpInstance((HWND) 0, hwndFrame); HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); break; case WM_COMMAND : switch (SHORT1FROMMP(mp1)) { } /* end switch */ break; case WM_CONTROL : switch (SHORT1FROMMP(mp1)) { /* Check Box SEND_CONFIG Event Handlers */ case SEND_CONFIG: switch (SHORT2FROMMP(mp1)) { /* Clicked/Selected */ case BN_CLICKED: { /* ##START 1000.0 */ /* Event Clicked/Selected - Close window after Send SEND_CONFIG */ c_cas = 1; /* ##END */ } break; } /* end switch */ break; /* Check Box REPLY_CONFIG Event Handlers */ case REPLY_CONFIG: switch (SHORT2FROMMP(mp1)) { /* Clicked/Selected */ case BN_CLICKED: { /* ##START 1001.0 */ /* Event Clicked/Selected - Close Window after Reply REPLY_CONFIG */ c_car = 1; /* ##END */ } break; } /* end switch */ break; /* Check Box BACKGROUND_CONFIG Event Handlers */ case BACKGROUND_CONFIG: switch (SHORT2FROMMP(mp1)) { /* Clicked/Selected */ case BN_CLICKED: { /* ##START 1002.0 */ /* Event Clicked/Selected - Popup Sticky on Receive BACKGROUND_CONFIG */ c_pop = 1; /* ##END */ } break; } /* end switch */ break; /* Check Box BEEP_CONFIG Event Handlers */ case BEEP_CONFIG: switch (SHORT2FROMMP(mp1)) { /* Clicked/Selected */ case BN_CLICKED: { /* ##START 1003.0 */ /* Event Clicked/Selected - Beep BEEP_CONFIG */ ULONG anUnsignedValue; c_beep = 1; /* Is button selected? BEEP_CONFIG Check Box */ anUnsignedValue=(ULONG)WinQueryButtonCheckstate(hwndDlg,BEEP_CONFIG); WinEnableControl(hwndDlg, 1006, anUnsignedValue); WinEnableControl(hwndDlg, 1007, anUnsignedValue); WinEnableControl(hwndDlg, FREQUENCY_CONFIG, anUnsignedValue); WinEnableControl(hwndDlg, DURATION_CONFIG, anUnsignedValue); /* ##END */ } break; } /* end switch */ break; /* Check Box SURE_CONFIG Event Handlers */ case SURE_CONFIG: switch (SHORT2FROMMP(mp1)) { /* Clicked/Selected */ case BN_CLICKED: { /* ##START 1009.0 */ /* Event Clicked/Selected - Are You Sure Prompts SURE_CONFIG */ c_aus = 1; /* ##END */ } break; } /* end switch */ break; /* Check Box MINI_CONFIG Event Handlers */ case MINI_CONFIG: switch (SHORT2FROMMP(mp1)) { /* Clicked/Selected */ case BN_CLICKED: { /* ##START 1010.0 */ /* Event Clicked/Selected - Mini ICON when shrunk MINI_CONFIG */ CHAR aTextValue[255]="text"; LONG anIntegerValue=0; ULONG anUnsignedValue=0; c_mini = 1; /* ##END */ } break; } /* end switch */ break; } /* end switch */ break; /* ##START Form.38 User defined messages */ /* ##END User defined messages */ default : HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); return WinDefDlgProc(hwndDlg,msg,mp1,mp2); } /* end switch for main msg dispatch */ return (MRESULT)FALSE; } /* end dialog procedure */
//A Dlg procedure if the plugin has selectable settings. MRESULT EXPENTRY CBZPluginSetupDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { short sControlId; PLUGINSHARE *pPluginData; FILEDLG filedlg; HWND hwndDlg; switch (msg) { case WM_INITDLG: { if ((pPluginData = (PLUGINSHARE *) mp2) == NULL) { //Error msg.. WinDismissDlg(hwnd, DID_ERROR); return (MRFROMLONG(FALSE)); } WinSetWindowPtr(hwnd, QWL_USER, pPluginData); // store window words WinSendMsg(WinWindowFromID(hwnd, EFID_IMAGE), EM_SETTEXTLIMIT, (MPARAM) CCHMAXPATH, (MPARAM) 0); WinSetWindowText(WinWindowFromID(hwnd, EFID_IMAGE), pPluginData->szImageFile); /* This is temprary. At the moment only all or no frame control may be drawn */ WinCheckButton(hwnd, CBID_CLOSEENABLED, TRUE); WinCheckButton(hwnd, CBID_MINIMIZEENABLED, TRUE); WinCheckButton(hwnd, CBID_MAXIMIZEENABLED, TRUE); WinCheckButton(hwnd, CBID_RESTOREENABLED, TRUE); WinCheckButton(hwnd, CBID_HIDEENABLED, TRUE); WinEnableWindow(WinWindowFromID(hwnd,CBID_CLOSEENABLED ), FALSE); WinEnableWindow(WinWindowFromID(hwnd, CBID_MINIMIZEENABLED), FALSE); WinEnableWindow(WinWindowFromID(hwnd, CBID_MAXIMIZEENABLED), FALSE); WinEnableWindow(WinWindowFromID(hwnd, CBID_RESTOREENABLED), FALSE); WinEnableWindow(WinWindowFromID(hwnd, CBID_HIDEENABLED), FALSE); } break; case WM_COMMAND: { sControlId = COMMANDMSG(&msg)->cmd; switch (sControlId) { case PBID_IMAGE: { //popup file change dialog! memset(&filedlg, 0, sizeof(FILEDLG)); // init filedlg struct filedlg.cbSize = sizeof(FILEDLG); filedlg.fl = FDS_OPEN_DIALOG; filedlg.pszTitle = "Choose an image"; strcpy(filedlg.szFullFile, "*.*"); if ((hwndDlg = WinFileDlg(HWND_DESKTOP, hwnd, &filedlg)) == NULLHANDLE) { return (FALSE); } if (filedlg.lReturn != DID_OK) // selected one { break; } WinSetWindowText(WinWindowFromID(hwnd, EFID_IMAGE), filedlg.szFullFile); } break; case PBID_OK: { if ((pPluginData = (PLUGINSHARE *) WinQueryWindowPtr(hwnd, QWL_USER)) == NULL) { //error message.. break; } WinQueryWindowText(WinWindowFromID(hwnd, EFID_IMAGE), CCHMAXPATH, pPluginData->szImageFile); //update! WinDismissDlg(hwnd, PBID_OK); } break; case PBID_CANCEL: { //don't update shared Memory! WinDismissDlg(hwnd, PBID_CANCEL); } break; } return ((MPARAM) 0); } break; case WM_CONTROL: { switch (SHORT1FROMMP(mp1)) { } return ((MRESULT) 0); } break; } return (WinDefDlgProc(hwnd, msg, mp1, mp2)); }
MRESULT EXPENTRY SETTINGSDlgProc(HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2) { HWND hwndFrame = hwndDlg; /* ##START Form.37 Top of window procedure */ /* Code sections - Top of window procedure */ /* ##END Top of window procedure */ switch (msg) { /* Form event Opened WM_INITDLG */ case WM_INITDLG : HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); { /* ##START Form.1 */ /* Form events - Opened */ { ULONG dtHeight, dtWidth, lHeight, lWidth; SWP swp; dtHeight = WinQuerySysValue(HWND_DESKTOP,SV_CYSCREEN); dtWidth = WinQuerySysValue(HWND_DESKTOP,SV_CXSCREEN); WinQueryWindowPos(hwndDlg, (PSWP) &swp); lWidth = (dtWidth/2) - (swp.cx/2); lHeight = (dtHeight/2) - (swp.cy/2); WinSetWindowPos(hwndDlg, HWND_TOP, lWidth, lHeight, 0, 0, SWP_MOVE | SWP_SHOW | SWP_ACTIVATE); } queryNCSet(); if( pgmData[38] == 1 ) WinCheckButton(hwndDlg, 1024, 1); WinSetDlgItemText(hwndDlg, 1004, mailServer); WinSetDlgItemText(hwndDlg, 1005, userName); WinSetDlgItemText(hwndDlg, 1006, passWord); WinSetDlgItemText(hwndDlg, 1012, mailServer2); WinSetDlgItemText(hwndDlg, 1013, userName2); WinSetDlgItemText(hwndDlg, 1016, passWord2); WinSetDlgItemText(hwndDlg, 1007, nickName); WinSetDlgItemText(hwndDlg, 1017, rtema); WinSetDlgItemText(hwndDlg, 1018, rtname); /* ##END */ } break; /* Form event Closed WM_CLOSE */ case WM_CLOSE : /* ##START Form.2 */ /* ##END */ HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); break; case WM_COMMAND : switch (SHORT1FROMMP(mp1)) { /* Button 1019 Clicked/Selected */ case 1019: { /* ##START 1019.0 */ /* Event Clicked/selected - ~OK 1019 */ WinQueryDlgItemText(hwndDlg, 1004, CCHMAXPATH, mailServer); WinQueryDlgItemText(hwndDlg, 1005, CCHMAXPATH, userName); WinQueryDlgItemText(hwndDlg, 1006, CCHMAXPATH, passWord); WinQueryDlgItemText(hwndDlg, 1012, CCHMAXPATH, mailServer2); WinQueryDlgItemText(hwndDlg, 1013, CCHMAXPATH, userName2); WinQueryDlgItemText(hwndDlg, 1016, CCHMAXPATH, passWord2); WinQueryDlgItemText(hwndDlg, 1007, CCHMAXPATH, nickName); WinQueryDlgItemText(hwndDlg, 1017, CCHMAXPATH, rtema); WinQueryDlgItemText(hwndDlg, 1018, CCHMAXPATH, rtname); if( WinQueryButtonCheckstate(hwndDlg,1024) ) pgmData[38] = 1; else pgmData[38] = 0; // bugem(hwndDlg); saveNCSet(); makeTBar(); WinPostMsg(hwndDlg, WM_CLOSE, 0, 0); /* ##END */ } break; /* Button 1020 Clicked/Selected */ case 1020: { /* ##START 1020.0 */ /* Event Clicked/selected - ~Cancel 1020 */ WinPostMsg(hwndDlg, WM_CLOSE, 0, 0); /* ##END */ } break; } /* end switch */ break; /* ##START Form.38 User defined messages */ /* Event Code sections, User defined messages */ /* ##END User defined messages */ default : HandleMessage(hwndFrame, hwndDlg, msg, mp1, mp2); return WinDefDlgProc(hwndDlg,msg,mp1,mp2); } /* end switch for main msg dispatch */ return (MRESULT)FALSE; } /* end dialog procedure */
MRESULT EXPENTRY CDToolsDlgProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 ) { HAB hab; char chrLoadError[CCHMAXPATH]; STARTDATA startData={0}; PSZ pszTitle="CDRecord/2"; APIRET rc; PID pid; ULONG ulSessionID=0; char chrParams[CCHMAXPATH]; char chrParams2[20]; switch( msg ) { case WM_INITDLG: { WinCheckButton(hwnd,RBID_FAST,TRUE); WinCheckButton(hwnd,RBID_LOADDISK,TRUE); WinCheckButton(hwnd,CBID_DUMMY,TRUE); WinCheckButton(hwnd,CBID_FIXDUMMY,TRUE); } return (MRESULT) TRUE; case WM_DESTROY: break; case WM_CLOSE: if(WinMessageBox( HWND_DESKTOP, hwnd, "Do you really want to quit?", "Question", 0UL, MB_OKCANCEL | MB_ICONQUESTION )==MBID_OK) WinPostMsg(hwnd,WM_QUIT,(MPARAM)0,(MPARAM)0); return 0; case WM_COMMAND: { memset(&startData,0,sizeof(startData)); startData.Length=sizeof(startData); startData.Related=SSF_RELATED_INDEPENDENT; startData.FgBg=SSF_FGBG_FORE; startData.TraceOpt=SSF_TRACEOPT_NONE; startData.PgmTitle=pszTitle; startData.PgmName=chrCDRecord; /* 13.Apr.2000: changed to SSF_INHERTOPT_PARENT so modified environment by a skript is inherited */ startData.InheritOpt=SSF_INHERTOPT_PARENT; startData.SessionType=SSF_TYPE_WINDOWABLEVIO; startData.PgmControl=SSF_CONTROL_VISIBLE|SSF_CONTROL_MAXIMIZE|SSF_CONTROL_NOAUTOCLOSE; startData.InitXPos=30; startData.InitYPos=30; startData.InitXSize=500; startData.InitYSize=400; startData.ObjectBuffer=chrLoadError; startData.ObjectBuffLen=(ULONG)sizeof(chrLoadError); switch( SHORT1FROMMP( mp1 ) ) { case PBID_BLANK: if(!WinQueryButtonCheckstate(hwnd,CBID_DUMMY)) { if(WinMessageBox( HWND_DESKTOP, hwnd, "Do you really want to perform a real write?", "Dummy is unchecked!", 0UL, MB_OKCANCEL | MB_ICONEXCLAMATION )==MBID_CANCEL)break; sprintf(chrParams2,"%s",""); } else sprintf(chrParams2,"%s","-dummy"); if(WinQueryButtonCheckstate(hwnd,RBID_FAST)) sprintf(chrParams,"%s %s %s",chrCDROptions,chrParams2,"-blank=fast -eject"); if(WinQueryButtonCheckstate(hwnd,RBID_ALL)) sprintf(chrParams,"%s %s %s",chrCDROptions,chrParams2,"-blank=all -eject"); if(WinQueryButtonCheckstate(hwnd,RBID_LASTSESSION)) sprintf(chrParams,"%s %s %s",chrCDROptions,chrParams2,"-blank=session -eject"); if(WinQueryButtonCheckstate(hwnd,RBID_UNCLOSE)) sprintf(chrParams,"%s %s %s",chrCDROptions,chrParams2,"-blank=unclose -eject"); startData.PgmInputs=chrParams; rc=DosStartSession(&startData,&ulSessionID,&pid); break; case PBID_FIX: if(!WinQueryButtonCheckstate(hwnd,CBID_FIXDUMMY)) { if(WinMessageBox( HWND_DESKTOP, hwnd, "Do you really want to perform a real write?", "Dummy is unchecked!", 0UL, MB_OKCANCEL | MB_ICONEXCLAMATION )==MBID_CANCEL)break; sprintf(chrParams,"%s %s",chrCDROptions," -fix"); } else sprintf(chrParams,"%s %s",chrCDROptions,"-dummy -fix"); startData.PgmInputs=chrParams; rc=DosStartSession(&startData,&ulSessionID,&pid); break; case PBID_MISC: if(WinQueryButtonCheckstate(hwnd,RBID_UNLOADDISK)) sprintf(chrParams,"%s %s",chrCDROptions,"-eject"); else if(WinQueryButtonCheckstate(hwnd,RBID_LOADDISK)) sprintf(chrParams,"%s %s",chrCDROptions,"-load"); else if(WinQueryButtonCheckstate(hwnd,RBID_RESETDEVICE)) sprintf(chrParams,"%s %s",chrCDROptions,"-reset"); else if(WinQueryButtonCheckstate(hwnd,RBID_SHOWTOC)) sprintf(chrParams,"%s %s",chrCDROptions,"-toc"); else if(WinQueryButtonCheckstate(hwnd,RBID_SHOWATIP)) sprintf(chrParams,"%s %s",chrCDROptions,"-atip"); startData.PgmInputs=chrParams; rc=DosStartSession(&startData,&ulSessionID,&pid); break; case PBID_EXIT: WinPostMsg(hwnd,WM_CLOSE,(MPARAM)0,(MPARAM)0); break; case PBID_SETTINGS: if( WinDlgBox( HWND_DESKTOP, hwnd, CDSettingsDlgProc, NULLHANDLE,DLGID_SETUP, 0 ) == DID_ERROR ) { WinMessageBox( HWND_DESKTOP, HWND_DESKTOP, "Warning! Cannot open Settings dialog!", "", 0UL, MB_OK | MB_ICONEXCLAMATION ); } break; default: break; } } return (MRESULT) TRUE; break; } return( WinDefDlgProc( hwnd, msg, mp1, mp2 ) ); }
MRESULT EXPENTRY specialOptionDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) { CWDataFolder* thisPtr; ULONG ulFlags; LONG lSpinValue; static HWND hwndStatus; int a; char chrCD[4]; char text[CCHMAXPATH]; char title[CCHMAXPATH]; char text2[40]; ULONG rc; THISPTR thisPtrStruct; switch(msg) { case WM_INITDLG : WinSetWindowULong(hwnd, QWL_USER,(ULONG)PVOIDFROMMP(mp2));//Save object ptr. thisPtr=(CWDataFolder*)PVOIDFROMMP(mp2); if(somIsObj(thisPtr)) { ulFlags=((CWDataFolder*)PVOIDFROMMP(mp2))->cwQueryMkisofsFlags(); if(ulFlags & IDMK_SHADOWSINROOTONLY) { WinCheckButton(hwnd,IDRB_SHADOWSINROOTONLY,1); enableArchiveCntrls(hwnd, FALSE); } else { WinCheckButton(hwnd,IDRB_FOLLOWALLSHADOWS,1); enableArchiveCntrls(hwnd, TRUE); } /* Use archive bit */ if(ulFlags & IDMK_USEARCHIVEBIT) WinCheckButton(hwnd, IDCB_USEARCHIVEBIT, 1); else WinCheckButton(hwnd, IDCB_USEARCHIVEBIT, 0); /* Reset archive bit */ if(ulFlags & IDMK_RESETARCHIVEBIT) WinCheckButton(hwnd, IDCB_RESETARCHIVEBIT,1); else WinCheckButton(hwnd, IDCB_RESETARCHIVEBIT, 0); } /* Move default buttons on Warp 4 */ cwMoveNotebookButtonsWarp4(hwnd, IDPB_SPECIALHELP, 20); return (MRESULT) TRUE; /* This prevents switching the notebook page behind the open folder */ case WM_WINDOWPOSCHANGED: { MRESULT mr; if(WinQueryFocus(HWND_DESKTOP)!= WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT)) { mp2=MPFROMLONG(LONGFROMMP(mp2)|0x80000);/*AWP_ACTIVATE 0x00080000L*/ mr=WinDefDlgProc(hwnd, msg, mp1, mp2); return mr; } break; } case WM_FOCUSCHANGE: { if(!SHORT1FROMMP(mp2)) { if(HWNDFROMMP(mp1)==hwnd) { MRESULT mr; mr=WinDefDlgProc(hwnd, msg, mp1, mp2); WinSendMsg(WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT), WM_SETFOCUS, MPFROMHWND(hwnd), (MPARAM)TRUE); return mr; } } break; } case WM_DESTROY: /* The notebook closes and gets destroyed */ /* Set focus to desktop to prevent PM freeze */ WinSetFocus(HWND_DESKTOP, HWND_DESKTOP); /* Let the WPS save the new instance data */ // thisPtr=(CWDataFolder*) WinQueryWindowULong(WinWindowFromID(hwnd,IDPB_SPECIALUNDO),QWL_USER); thisPtr=(CWDataFolder*) WinQueryWindowULong(hwnd,QWL_USER); if(somIsObj(thisPtr)) { ulFlags=thisPtr->cwQueryMkisofsFlags(); if(WinQueryButtonCheckstate(hwnd,IDRB_SHADOWSINROOTONLY) & 1) { ulFlags|=IDMK_SHADOWSINROOTONLY; } else ulFlags&=~IDMK_SHADOWSINROOTONLY; /* Use archive bit */ if(WinQueryButtonCheckstate(hwnd, IDCB_USEARCHIVEBIT) & 1) { ulFlags|=IDMK_USEARCHIVEBIT; } else ulFlags&=~IDMK_USEARCHIVEBIT; /* Reset archive bit */ if(WinQueryButtonCheckstate(hwnd, IDCB_RESETARCHIVEBIT) & 1) { ulFlags|=IDMK_RESETARCHIVEBIT; } else ulFlags&=~IDMK_RESETARCHIVEBIT; thisPtr->cwSetMkisofsFlags(ulFlags,MK_ALLFLAGS); thisPtr->wpSaveImmediate(); } /* Setup is done */ return (MRESULT) FALSE; case WM_CONTROL: switch(SHORT1FROMMP(mp1)) { case IDRB_SHADOWSINROOTONLY: enableArchiveCntrls(hwnd, FALSE); break; case IDRB_FOLLOWALLSHADOWS: enableArchiveCntrls(hwnd, TRUE); break; default: break; } break; case WM_COMMAND: //thisPtr=(CWDataFolder*) WinQueryWindowULong(WinWindowFromID(hwnd,IDPB_SPECIALUNDO),QWL_USER); thisPtr=(CWDataFolder*) WinQueryWindowULong(hwnd,QWL_USER); if(!somIsObj(thisPtr)) return (MRESULT) TRUE; switch(SHORT1FROMMP(mp1)) { case IDPB_SPECIALUNDO: /* User pressed the UNDO button */ ulFlags=thisPtr->cwQueryMkisofsFlags(); if(ulFlags & IDMK_SHADOWSINROOTONLY) WinCheckButton(hwnd,IDRB_SHADOWSINROOTONLY,1); else WinCheckButton(hwnd, IDRB_FOLLOWALLSHADOWS,1); /* Use archive bit */ if(ulFlags & IDMK_USEARCHIVEBIT) WinCheckButton(hwnd, IDCB_USEARCHIVEBIT, 1); else WinCheckButton(hwnd, IDCB_USEARCHIVEBIT, 0); /* Reset archive bit */ if(ulFlags & IDMK_RESETARCHIVEBIT) WinCheckButton(hwnd, IDCB_RESETARCHIVEBIT,1); else WinCheckButton(hwnd, IDCB_RESETARCHIVEBIT, 0); break; case IDPB_SPECIALHELP: thisPtr->wpDisplayHelp(IDHLP_DATAFOLDERSPECIAL,AFHELPLIBRARY); break; case IDPB_RESETNOW: /* Text: "" Title: "" */ rc=messageBox( text, IDSTRD_RESETARCHIVEBITCONFIRM , sizeof(text), title, IDSTRD_RESETARCHIVEBITTITLE, sizeof(title), hDataResource, HWND_DESKTOP, MB_YESNO | MB_ICONQUESTION | MB_MOVEABLE | MB_DEFBUTTON2); if(rc==MBID_YES) DosBeep(5000,1000); break; default: break; } return (MRESULT) TRUE; default: break; } return WinDefDlgProc(hwnd, msg, mp1, mp2); }