Example #1
0
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)); }
}
Example #3
0
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);
}
Example #4
0
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");
}
Example #8
0
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;
}
Example #13
0
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);
}
Example #16
0
//==========================================================================
// 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);
}
Example #17
0
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);
}
Example #18
0
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);
}
Example #19
0
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);
}
Example #21
0
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 );
}
Example #24
0
//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);

}
Example #26
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 */
Example #27
0
//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));
}
Example #28
0
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); 
}