home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Amiga / Workbench / Commodites / PMV1.2.lha / pickmousev1.2 / PMV1.2.E < prev    next >
Text File  |  1998-03-18  |  17KB  |  591 lines

  1. OPT OSVERSION=37
  2. OPT PREPROCESS
  3.  
  4. MODULE 'intuition/intuition',
  5.         'gadtools','libraries/gadtools',
  6.         'intuition/gadgetclass','intuition/screens',
  7.         'graphics/gfxbase','graphics/text','graphics/rastport',
  8.         'exec/lists','exec/nodes','exec/ports','utility/tagitem',
  9.         'diskfont','exec','graphics/view','graphics/rastport',
  10.         'intuition/intuition','intuition/screens','iff',
  11.         'intuition/intuitionbase','reqtools','libraries/reqtools',
  12.         'asl','libraries/asl'
  13.  
  14. DEF screen:PTR TO screen,visual=NIL,
  15.     rp:PTR TO rastport,winfont:textattr,
  16.     scrfont:PTR TO textattr,checkquit=FALSE,
  17.     offx,offy,strinfo:PTR TO stringinfo,
  18.     txt[256]:STRING,which=0,fontx,fonty,
  19.     class,code,iadd:PTR TO gadget,project0_window=NIL:PTR TO window,
  20.     project0_glist=NIL,project0_font=NIL,
  21.     commstring:PTR TO gadget,
  22.     loadcommand,
  23.     cornerlines,
  24.     save,cancel,mcode,saven,
  25.     ibase:PTR TO intuitionbase,win:PTR TO window,x,y,z,
  26.     s0[120]:STRING,s1[120]:STRING,s2[120]:STRING,
  27.     s3[120]:STRING,s4[120]:STRING,s5[120]:STRING,
  28.     s6[120]:STRING,s7[120]:STRING,
  29.     quit=0,cfile,value,read,co=0,taglist[32]:ARRAY OF LONG,
  30.     len,buf[120]:STRING,num:LONG,actwind,ver[32]:STRING,actscreen,
  31.     sa[120]:STRING,
  32.     ttt[256]:STRING,req:PTR TO filerequester,tt1[256]:ARRAY OF CHAR
  33.  
  34.  
  35. ENUM    ER_NONE,
  36.         ER_SCREEN,
  37.         ER_VISUAL,
  38.         ER_CONTEXT,
  39.         ER_MENUS,
  40.         ER_GADGET,
  41.         ER_WINDOW,
  42.         ER_NOGT,
  43.         ER_NODF,
  44.         ER_FONT,
  45.         ER_NOUTIL,
  46.         ER_NOCFG,
  47.         ER_NORQ
  48.  
  49. CONST   GA_COMMSTRING=0,
  50.         GA_LOADCOMMAND=1,
  51.         GA_CORNERLINES=2,
  52.         GA_SAVE=3,
  53.         GA_CANCEL=4
  54.  
  55. PROC computefont(width,height)
  56.  
  57.    DEF msg:PTR TO mn
  58.    DEF tf:PTR TO textfont
  59.    DEF nde:PTR TO ln
  60.    DEF gfx:PTR TO gfxbase
  61.  
  62.    Forbid()
  63.    gfx:=gfxbase
  64.    tf:=gfx.defaultfont
  65.    msg:=tf.mn
  66.    nde:=msg.ln
  67.    winfont.name:=nde.name
  68.    winfont.ysize:=fonty:=tf.ysize
  69.    winfont.style:=tf.style
  70.    winfont.flags:=tf.flags
  71.    fontx:=tf.xsize
  72.    Permit()
  73.    IF (width<>0 AND height<>0)
  74.       IF ((cx(width)+offx+screen.wborright)>screen.width) OR ((cy(height)+offy+screen.wborbottom)>screen.height)
  75.           winfont.name:='topaz.font'
  76.           winfont.ysize:=8
  77.           fontx:=fonty:=winfont.ysize
  78.        ENDIF
  79.     ENDIF
  80. ENDPROC
  81.  
  82. PROC cx(value)
  83.    RETURN ((fontx*value)+4/8)
  84. ENDPROC
  85.  
  86. PROC cy(value)
  87.    RETURN ((fonty*value)+4/8)
  88. ENDPROC
  89.  
  90.  
  91. PROC openlibs() HANDLE
  92.    IF (gadtoolsbase:=OpenLibrary('gadtools.library',37))=NIL THEN Raise(ER_NOGT)
  93.    IF (diskfontbase:=OpenLibrary('diskfont.library',37))=NIL THEN Raise(ER_NODF)
  94.    IF (reqtoolsbase:=OpenLibrary('reqtools.library',37))=NIL THEN Raise(ER_NORQ)
  95.    Raise(ER_NONE)
  96. EXCEPT
  97.    RETURN exception
  98. ENDPROC
  99.  
  100. PROC closelibs()
  101.    IF gadtoolsbase THEN CloseLibrary(gadtoolsbase)
  102.    IF diskfontbase THEN CloseLibrary(diskfontbase)
  103.    IF reqtoolsbase THEN CloseLibrary(reqtoolsbase)
  104. ENDPROC
  105.  
  106.  
  107. PROC setupscreen() HANDLE
  108.  
  109.    DEF font
  110.  
  111.    winfont:=scrfont:=['topaz.font',8,0,1]:textattr
  112.    IF (font:=OpenDiskFont(winfont))=NIL THEN Raise(ER_FONT)
  113.    IF (screen:=LockPubScreen('Workbench'))=NIL THEN Raise(ER_SCREEN)
  114.    IF (visual:=GetVisualInfoA(screen,NIL))=NIL THEN Raise(ER_VISUAL)
  115.    rp:=screen.rastport
  116.    offx:=screen.wborleft
  117.    offy:=screen.wbortop+rp.txheight+1
  118.    IF font THEN CloseFont(font)
  119.    computefont(NIL,NIL)
  120.    Raise(ER_NONE)
  121. EXCEPT
  122.    RETURN exception
  123. ENDPROC
  124.  
  125. PROC setdownscreen()
  126.    IF visual THEN FreeVisualInfo(visual)
  127.    IF screen THEN UnlockPubScreen(NIL,screen)
  128. ENDPROC
  129.  
  130. PROC init_project0_wnd() HANDLE
  131.  
  132.    computefont(327,43)
  133.    IF (project0_glist:=CreateContext({project0_glist}))=NIL THEN Raise(ER_CONTEXT)
  134.    IF (commstring:=CreateGadgetA(STRING_KIND,project0_glist,[offx+cx(3),offy+cy(15),cx(269),cy(13),'',winfont,0,0,visual,0]:newgadget,[GTST_MAXCHARS,256,TAG_DONE]))=NIL THEN Raise(ER_GADGET)
  135.    IF (loadcommand:=CreateGadgetA(BUTTON_KIND,commstring,[offx+cx(275),offy+cy(15),cx(50),cy(13),'Load',winfont,1,16,visual,NIL]:newgadget,[TAG_DONE]))=NIL THEN Raise(ER_GADGET)
  136.    IF (cornerlines:=CreateGadgetA(CYCLE_KIND,loadcommand,[offx+cx(3),offy+cy(1),cx(322),cy(13),'Corner & Lines',winfont,2,1,visual,NIL]:newgadget,[GTCY_LABELS,['Left upper corner','Right upper corner','Right down corner','Left down corner','Left middle line','Right middle line','Info','Help',NIL],TAG_DONE]))=NIL THEN Raise(ER_GADGET)
  137.    IF (save:=CreateGadgetA(BUTTON_KIND,cornerlines,[offx+cx(3),offy+cy(29),cx(158),cy(13),'Save + Hide',winfont,3,16,visual,NIL]:newgadget,[TAG_DONE]))=NIL THEN Raise(ER_GADGET)
  138.    IF (cancel:=CreateGadgetA(BUTTON_KIND,save,[offx+cx(164),offy+cy(29),cx(161),cy(13),'Cancel',winfont,4,16,visual,NIL]:newgadget,[TAG_DONE]))=NIL THEN Raise(ER_GADGET)
  139.    Raise(ER_NONE)
  140. EXCEPT
  141.    RETURN exception
  142. ENDPROC
  143.  
  144. PROC w4m_project0_wnd()
  145.    DEF id, n:PTR TO menuitem
  146.    Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s0,TAG_DONE])
  147.    REPEAT
  148.         wait4message(project0_window)
  149.         SELECT class
  150.            CASE IDCMP_GADGETUP
  151.               id:=iadd.gadgetid
  152.               handle_project0_gadgets(id)
  153.            CASE IDCMP_CLOSEWINDOW
  154.               checkquit:=TRUE
  155.        ENDSELECT
  156.    UNTIL checkquit=TRUE
  157. ENDPROC
  158.  
  159. PROC open_project0_wnd() HANDLE
  160.    DEF wl=145, wt=96, ww=327, wh=43
  161.  
  162.    computefont(ww,wh)
  163.    IF (wl+ww+offx+screen.wborright)>screen.width THEN wl:=screen.width-ww
  164.    IF (wt+wh+offy+screen.wborbottom)>screen.height THEN  wt:=screen.height-wh
  165.    IF (project0_font:=OpenDiskFont(winfont))=NIL THEN Raise(ER_FONT)
  166.    IF (project0_window:=OpenWindowTagList(NIL,
  167.                       [WA_LEFT,wl,
  168.                        WA_TOP,wt,
  169.                        WA_WIDTH,offx+screen.wborright+cx(ww),
  170.                        WA_HEIGHT,offy+screen.wborbottom+cy(wh),
  171.                        WA_IDCMP,IDCMP_GADGETUP+IDCMP_CLOSEWINDOW,
  172.                        WA_FLAGS,WFLG_DEPTHGADGET+WFLG_DRAGBAR+WFLG_CLOSEGADGET+WFLG_NEWLOOKMENUS,
  173.                        WA_GADGETS,project0_glist,
  174.                        WA_TITLE,'PickMouse V1.2: settings...',
  175.                        WA_SCREENTITLE,'Settings of PickMouse V1.2',
  176.                        TAG_DONE]))=NIL THEN Raise(ER_WINDOW)
  177.    Raise(ER_NONE)
  178. EXCEPT
  179.    RETURN exception
  180. ENDPROC
  181.  
  182. PROC close_project0_wnd()
  183.   IF project0_window THEN CloseWindow(project0_window)
  184.   IF project0_glist THEN FreeGadgets(project0_glist)
  185.   IF project0_font THEN CloseFont(project0_font)
  186. ENDPROC
  187.  
  188. PROC wait4message(win:PTR TO window)
  189.    DEF mes:PTR TO intuimessage
  190.    REPEAT
  191.       class:=0
  192.       IF mes:=Gt_GetIMsg(win.userport)
  193.          class:=mes.class
  194.          code:=mes.code
  195.          iadd:=mes.iaddress
  196.          Gt_ReplyIMsg(mes)
  197.       ELSE
  198.          WaitPort(win.userport)
  199.       ENDIF
  200.    UNTIL class
  201. ENDPROC
  202.  
  203. PROC main() HANDLE
  204.  
  205.      pm()
  206.  
  207.  
  208. EXCEPT
  209.  
  210.     SELECT exception
  211.     CASE ER_NOCFG;       WriteF('Could not open config file!\n')
  212.  
  213.     ENDSELECT
  214.  
  215. ENDPROC
  216.  
  217.  
  218. PROC okno() HANDLE
  219.  
  220.    DEF err
  221.  
  222.    IF (err:=setupscreen())<>ER_NONE THEN Raise(err)
  223.    IF (err:=init_project0_wnd())<>ER_NONE THEN Raise(err)
  224.    IF (err:=open_project0_wnd())<>ER_NONE THEN Raise(err)
  225.    w4m_project0_wnd()
  226.    Raise(ER_NONE)
  227. EXCEPT
  228.    close_project0_wnd()
  229.    setdownscreen()
  230.    SELECT exception
  231.       CASE ER_SCREEN;     WriteF('Could not lock screen!\n')
  232.       CASE ER_VISUAL;     WriteF('Could not get visual!\n')
  233.       CASE ER_CONTEXT;    WriteF('Could not get context!\n')
  234.       CASE ER_MENUS;      WriteF('Could not create menus!\n')
  235.       CASE ER_GADGET;     WriteF('Could not create gadget!\n')
  236.       CASE ER_WINDOW;     WriteF('Could not open window!\n')
  237.       CASE ER_FONT;       WriteF('Could not open font!\n')
  238.    ENDSELECT
  239.  
  240. ENDPROC
  241.  
  242.  
  243. PROC    pm() HANDLE
  244.  
  245. DEF     err
  246.  
  247.         ver:='$VER: PickMouse V1.2 āŒ 1998 by MIKESOFTWARE!'
  248.         IF readconfig()=FALSE
  249.         s7:='REQS'
  250.         s6:='20'
  251.         s0:='Init me, please!'
  252.         s1:='Init me, please!'
  253.         s2:='Init me, please!'
  254.         s3:='Init me, please!'
  255.         s4:='Init me, please!'
  256.         s5:='Init me, please!'
  257.         ENDIF
  258.  
  259.         IF (err:=openlibs())<>ER_NONE THEN Raise(err)
  260.  
  261.         ibase:=intuitionbase
  262.             REPEAT
  263.                 x:=ibase.mousex
  264.                 y:=ibase.mousey
  265.                 z:=Mouse()
  266.             SELECT z
  267.                 CASE 2
  268.                   IF x<=1
  269.                     IF y<=1
  270.                     StrCopy(sa,s0,ALL)
  271.                     IF okokno(co)=TRUE
  272.                     Execute(s0,0,0)
  273.                     ENDIF
  274.                     REPEAT;UNTIL Mouse()=0
  275.                     ELSEIF y>=510
  276.  
  277.                     StrCopy(sa,s3,ALL)
  278.                     IF okokno(co)=TRUE
  279.                     Execute(s3,0,0)
  280.                     ENDIF
  281.                     REPEAT;UNTIL Mouse()=0
  282.                     ELSE
  283.  
  284.                     StrCopy(sa,s4,ALL)
  285.                     IF okokno(co)=TRUE
  286.                     Execute(s4,0,0)
  287.                     ENDIF
  288.                     REPEAT;UNTIL Mouse()=0
  289.                     ENDIF
  290.                   ELSEIF x>=639
  291.                     IF y<=1
  292.  
  293.                     StrCopy(sa,s1,ALL)
  294.                     IF okokno(co)=TRUE
  295.                     Execute(s1,0,0)
  296.                     ENDIF
  297.                     REPEAT;UNTIL Mouse()=0
  298.                     ELSEIF y>=510
  299.  
  300.                     StrCopy(sa,s2,ALL)
  301.                     IF okokno(co)=TRUE
  302.                     Execute(s2,0,0)
  303.                     ENDIF
  304.                     REPEAT;UNTIL Mouse()=0
  305.                     ELSE
  306.  
  307.                     StrCopy(sa,s5,ALL)
  308.                     IF okokno(co)=TRUE
  309.                     Execute(s5,0,0)
  310.                     ENDIF
  311.                     REPEAT;UNTIL Mouse()=0
  312.                     ENDIF
  313.                   ELSE
  314.                   IF y>=510
  315.                   doconfig()
  316.                   ENDIF
  317.                     REPEAT;UNTIL Mouse()=0
  318.                   ENDIF
  319.  
  320.  
  321.                 CASE 3
  322.                 actscreen:=ibase.activescreen
  323.                 taglist:=[RT_SCREEN,actscreen,RTEZ_REQTITLE,'Question from PM V1.2:',RT_UNDERSCORE,TRUE,0]
  324.                 IF (RtEZRequestA('     Really quit?     ','YES|NO',0,0,taglist))=1
  325.                 quit:=TRUE
  326.                 ELSE
  327.                 quit:=FALSE
  328.                 ENDIF
  329.  
  330.                 ENDSELECT
  331.                 value,read:=Val(s6,read=NIL)
  332.                 Delay(value)
  333.         UNTIL quit=TRUE
  334.         informace()
  335.  
  336.  
  337.  
  338. EXCEPT
  339.         closelibs()
  340.         SELECT exception
  341.         CASE ER_NODF;       WriteF('Could not open diskfont.library v37+!\n')
  342.         CASE ER_NOGT;       WriteF('Could not open gadtools.library v37+!\n')
  343.         CASE ER_NORQ;       WriteF('Could not open reqtools.library v37+!\n')
  344.         ENDSELECT
  345.  
  346.  
  347. ENDPROC
  348.  
  349.  
  350. PROC    readconfig()
  351.  
  352. DEF     err
  353.  
  354.         IF cfile:=Open('s:pm.cfg',OLDFILE)
  355.         ReadStr(cfile,s0)
  356.         ReadStr(cfile,s1)
  357.         ReadStr(cfile,s2)
  358.         ReadStr(cfile,s3)
  359.         ReadStr(cfile,s4)
  360.         ReadStr(cfile,s5)
  361.         ReadStr(cfile,s6)
  362.         ReadStr(cfile,s7)
  363.         Close(cfile)
  364.         err:=-1
  365.         ELSE
  366.         err:=0
  367.         ENDIF
  368.  
  369. ENDPROC err
  370.  
  371. PROC    okokno(co)
  372. DEF     st[256]:STRING,i
  373.  
  374.         IF StrCmp(s7,'REQS',4)=TRUE
  375.             actscreen:=ibase.activescreen
  376.             taglist:=[RT_SCREEN,actscreen,RTEZ_REQTITLE,'Execute',RT_UNDERSCORE,TRUE,0]
  377.             len:=0
  378.             IF StrLen(sa)<=0
  379.                 RtEZRequestA('Sorry, command not installed!','Hmmm...',0,0,taglist)
  380.             ELSE
  381.             FOR i:=0 TO 256 DO st[i]:=0
  382.             StrCopy(st,sa,ALL)
  383.             StringF(st,'Execute \q\s\q ?',st)
  384.             IF RtEZRequestA(st,'Yes|No',0,0,taglist)=1 THEN co:=TRUE ELSE co:=FALSE
  385.         ENDIF
  386.         ELSE
  387.         co:=TRUE
  388.         ENDIF
  389.  
  390. ENDPROC co
  391.  
  392. PROC    doconfig()
  393.         okno()
  394.         saveconfig()
  395.  
  396. ENDPROC
  397.  
  398.  
  399. PROC    saveconfig()
  400.         IF saven=1
  401.         DeleteFile('s:pm.cfg')
  402.         IF cfile:=Open('s:pm.cfg',NEWFILE)
  403.         len:=StrLen(s0)
  404.         Write(cfile,s0,len)
  405.         Write(cfile,'\n',1)
  406.         len:=StrLen(s1)
  407.         Write(cfile,s1,len)
  408.         Write(cfile,'\n',1)
  409.         len:=StrLen(s2)
  410.         Write(cfile,s2,len)
  411.         Write(cfile,'\n',1)
  412.         len:=StrLen(s3)
  413.         Write(cfile,s3,len)
  414.         Write(cfile,'\n',1)
  415.         len:=StrLen(s4)
  416.         Write(cfile,s4,len)
  417.         Write(cfile,'\n',1)
  418.         len:=StrLen(s5)
  419.         Write(cfile,s5,len)
  420.         Write(cfile,'\n',1)
  421.  
  422. back:
  423.         IF RtGetLongA({num},'Enter delay:',0,taglist)<>0
  424.         StringF(s6,'\d\n',num)
  425.         Write(cfile,s6,StrLen(s6))
  426.         ELSE
  427.         JUMP back
  428.         ENDIF
  429.  
  430.       IF RtEZRequestA('REQS?','Yes|No',0,0,taglist)=1 THEN Write(cfile,'REQS\n',5) ELSE Write(cfile,'NOREQS\n',7)
  431.       Close(cfile)
  432.       ENDIF
  433.         ENDIF
  434.         readconfig()
  435. ENDPROC
  436.  
  437.  
  438. PROC handle_project0_gadgets(id)
  439.  
  440. DEF i
  441.  
  442.    SELECT id
  443.       CASE GA_COMMSTRING
  444.       checkquit:=FALSE
  445.       strinfo:=commstring.specialinfo
  446.       txt:=strinfo.buffer
  447.       SELECT mcode
  448.       CASE 0
  449.       AstrCopy(s0,txt,ALL)
  450.       CASE 1
  451.       AstrCopy(s1,txt,ALL)
  452.       CASE 2
  453.       AstrCopy(s2,txt,ALL)
  454.       CASE 3
  455.       AstrCopy(s3,txt,ALL)
  456.       CASE 4
  457.       AstrCopy(s4,txt,ALL)
  458.       CASE 5
  459.       AstrCopy(s5,txt,ALL)
  460.       ENDSELECT
  461.  
  462.  
  463.       CASE GA_LOADCOMMAND
  464.       getfile()
  465.       checkquit:=FALSE
  466.       SELECT mcode
  467.       CASE 0
  468.       AstrCopy(s0,ttt,ALL)
  469.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s0,TAG_DONE])
  470.       CASE 1
  471.       AstrCopy(s1,ttt,ALL)
  472.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s1,TAG_DONE])
  473.       CASE 2
  474.       AstrCopy(s2,ttt,ALL)
  475.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s2,TAG_DONE])
  476.       CASE 3
  477.       AstrCopy(s3,ttt,ALL)
  478.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s3,TAG_DONE])
  479.       CASE 4
  480.       AstrCopy(s4,ttt,ALL)
  481.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s4,TAG_DONE])
  482.       CASE 5
  483.       AstrCopy(s5,ttt,ALL)
  484.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s5,TAG_DONE])
  485.       ENDSELECT
  486.  
  487.       CASE GA_CORNERLINES
  488.       checkquit:=FALSE
  489.       mcode:=code
  490.       SELECT mcode
  491.       CASE 0
  492.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s0,TAG_DONE])
  493.       CASE 1
  494.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s1,TAG_DONE])
  495.       CASE 2
  496.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s2,TAG_DONE])
  497.       CASE 3
  498.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s3,TAG_DONE])
  499.       CASE 4
  500.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s4,TAG_DONE])
  501.       CASE 5
  502.       Gt_SetGadgetAttrsA(commstring,project0_window,0,[GTST_STRING,s5,TAG_DONE])
  503.       CASE 6
  504.       informace()
  505.       CASE 7
  506.       help()
  507.       ENDSELECT
  508.  
  509.       CASE GA_SAVE
  510.       saven:=1
  511.       checkquit:=TRUE
  512.  
  513.       CASE GA_CANCEL
  514.       saven:=0
  515.       checkquit:=TRUE
  516.    ENDSELECT
  517. ENDPROC
  518.  
  519. PROC getfile()
  520. DEF i
  521.  
  522.     FOR i:=0 TO 256 DO ttt[i]:=0
  523.   IF aslbase:=OpenLibrary('asl.library',37)
  524.     IF req:=AllocFileRequest()
  525.       IF RequestFile(req)
  526.       tt1:=req.drawer
  527.       len:=StrLen(tt1)
  528.       IF tt1[len-1]=$3a THEN StringF(ttt,'\s\s',req.drawer,req.file) ELSE StringF(ttt,'\s/\s',req.drawer,req.file)
  529.       ELSE
  530.         WriteF('Error?\n')
  531.       ENDIF
  532.       FreeFileRequest(req)
  533.     ELSE
  534.       WriteF('Could not open filerequester!\n')
  535.     ENDIF
  536.     CloseLibrary(aslbase)
  537.   ELSE
  538.     WriteF('Could not open asl.library!\n')
  539.   ENDIF
  540.  
  541. ENDPROC ttt
  542.  
  543. PROC    informace()
  544.  
  545.         reqinfo('PickMouse V1.2 (18.3.1998) - Freeware:\n\nāŒ 1998 by MIKESOFT!\n\n'+
  546.                 'Contacts: mikesoft@hotmail.com\n\n'+
  547.                 'Thanks to: Nico Francois for Reqtools!\n'+
  548.                 '--------------------------------------\n'+
  549.                 'My address:\n'+
  550.                 '===========\n\n'+
  551.                 'Milan Kajnar, dipl.tech.\n'+
  552.                 'Manesova 978, Jesenik 790 01, (CZ)\n'+
  553.                 '----------------------------------\n','OK',0)
  554.  
  555. ENDPROC
  556.  
  557. PROC help()
  558.  
  559.     reqinfo('HELP PAGE of PickMouse V1.2:\n'+
  560.             '----------------------------\n'+
  561.             '\n'+
  562.             'This  small  utility is launcher of your\n'+
  563.             'prefered   programs   in  all  types  of\n'+
  564.             'screens.\n'+
  565.             'For  launching of your programs are used\n'+
  566.             'all  corners on screen + middles of left\n'+
  567.             '& right border.\n'+
  568.             'See:\n'+
  569.             '           1                        2\n'+
  570.             '\n'+
  571.             '           5                        6\n'+
  572.             '\n'+
  573.             '           4          CFG           3\n'+
  574.             '\n'+
  575.             'It is very easy, just move mouse to some\n'+
  576.             'numbered  place  and  pick  right  mouse\n'+
  577.             'button. CFG is configuration...\n'+
  578.             'Do you want quit - just use both mouse!\n'+
  579.             'That is all!\n'+
  580.             '                      Bye!\n'+
  581.             '                                MIKE','OK',0)
  582. ENDPROC
  583.  
  584. PROC reqinfo(body,gadgets,args)
  585.             actwind:=ibase.activewindow
  586. ENDPROC EasyRequestArgs(actwind,[20,0,'Info request:',body,gadgets],0,args)
  587.  
  588.  
  589.  
  590.  
  591.