home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / drdialog / drsaide.rxl < prev    next >
Encoding:
Text File  |  1994-01-17  |  2.6 KB  |  72 lines

  1. /* REXX Procedures for use with DrDialog's DrsAide: */
  2. /* Written by: David C. Morrill                     */
  3. /* Date: 12/20/93                                   */
  4. /* (c) Copyright IBM Corporation 1993               */
  5.  
  6. _DrsAideInit_: PROCEDURE
  7. /* Usage: rc = _DrsAideInit( hwnd, iniFile [, dialog] [, bitmap] ) */
  8. IF RxFuncQuery( 'SysLoadFuncs' ) THEN DO
  9.    CALL RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  10.    CALL SysLoadFuncs
  11.    END
  12. PARSE ARG hwnd, iniFile, dialog, bitmap
  13. IF hwnd = '-I' THEN DO
  14.    IF bitmap <> '' THEN DO
  15.       apps = SysIni( iniFile, 'DrsAide', 'Apps' )
  16.       IF apps = 'ERROR:' THEN apps = ''
  17.       PARSE SOURCE . . resFile
  18.       col = pos( ' 'resFile'(', apps )
  19.       IF col <> 0 THEN DO
  20.          col2 = pos( ')', apps, col + length( resFile ) + 2 )
  21.          apps = left( apps, col - 1 ) || substr( apps, col2 + 1 )
  22.          END
  23.       CALL SysIni iniFile, 'DrsAide', 'Apps', apps,
  24.            translate( resFile, '01'X, ' ' )'('translate( bitmap, '01'X, ' ' )')'
  25.       CALL RxMessageBox resFile 'added to DrsAide', 'DrsAide', 'OK', 'NONE'
  26.       END
  27.    ELSE CALL RxMessageBox resFile 'has no bitmap', 'DrsAide', 'CANCEL', 'NONE'
  28.    EXIT
  29.    END
  30. IF left( hwnd, 2 ) <> '-H' THEN RETURN 0
  31. CALL DrDialog 'Init', hwnd
  32. IF dialog = '' THEN DO
  33.    CALL Dialogs
  34.    dialog = dialogs.1
  35.    DROP dialogs
  36.    END
  37. CALL OpenFor dialog
  38. RETURN 1
  39.  
  40. _DrsAideDialogInit_: PROCEDURE EXPOSE x. y. dx. dy.
  41. /* Usage is: CALL _DrsAideDialogInit hwnd, iniFile */
  42. PARSE ARG hwnd, iniFile
  43. IF left( hwnd, 2 ) = '-H' THEN DO
  44.    dialog = Dialog()
  45.    CALL DrDialog 'Owner', dialog
  46.    PARSE VALUE SysIni( iniFile, _DrsAideIniApp_(), 'Pos' ) WITH x.dialog y.dialog dx.dialog dy.dialog
  47.    IF x.dialog <> 'ERROR:' THEN CALL Position x.dialog y.dialog dx.dialog dy.dialog
  48.    END
  49. CALL Show
  50.  
  51. _DrsAideDialogExit_: PROCEDURE EXPOSE x. y. dx. dy.
  52. /* Usage in: CALL _DrsAideDialogExit_ hwnd, iniFile */
  53. PARSE ARG hwnd, iniFile
  54. IF left( hwnd, 2 ) = '-H' THEN DO
  55.    PARSE VALUE Position() WITH newX newY newDX newDY
  56.    dialog = Dialog()
  57.    IF (newx  <> x.dialog)  | (newY  <> y.dialog) |,
  58.       (newDX <> dx.dialog) | (newDY <> dy.dialog) THEN
  59.       CALL SysIni iniFile, _DrsAideIniApp_(), 'Pos', newX newY newDX newDY
  60.    END
  61.  
  62. _DrsAideIniApp_: PROCEDURE
  63. /* Usage is: iniApp = _DrsAideIniApp_() */
  64. /* Returns .INI file application key of the form: file:dialog */
  65.    PARSE SOURCE . . iniApp
  66.    col = lastpos( '\', iniApp )
  67.    IF col = 0 THEN col = lastpos( ':', iniApp )
  68.    iniApp = translate( substr( iniApp, col + 1 ) )
  69.    col    = lastpos( '.', iniApp )
  70.    IF col <> 0 THEN iniApp = left( iniApp, col - 1 )
  71.    RETURN iniApp':'Dialog()
  72.