home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / xdme_1.84_src.lha / XDME / Src / Kalle / rep_cmd.c next >
Encoding:
C/C++ Source or Header  |  1994-12-22  |  4.7 KB  |  165 lines

  1. #include "defs.h"
  2. #include "replace.h"
  3.  
  4. /*DEFHELP #cmd misc REQREPLACE - display replace requester ((c) 1994 by Karl Lukas) */
  5.  
  6. DEFUSERCMD("reqreplace", 0, 0, void, do_reqreplace, (void),)
  7. {
  8.    int replace = 0;
  9.    extern UBYTE Fstr[], Rstr[];
  10.  
  11.    strcpy (SearchPattern, Fstr);
  12.    strcpy (ReplacePattern, Rstr);
  13.  
  14.    if (! OpenReplaceWindow(Ep->win->WScreen))
  15.    {
  16.       if (HandleReplaceIDCMP())
  17.       {
  18.      replace = 1;
  19.       }
  20.       else
  21. DEFMESSAGE( __operation_cancelled, "Operation cancelled" )
  22.      title(__operation_cancelled);
  23.       CloseReplaceWindow();
  24.    }
  25.    else
  26. DEFMESSAGE( _REP_cant_open_rep_req, "%s:\nUnable to open replace requester" )
  27.       error (_REP_cant_open_rep_req, av[0]);
  28.  
  29.    if (replace)
  30.    {
  31.       strcpy(Fstr, SearchPattern);
  32.       strcpy(Rstr, ReplacePattern);
  33.  
  34.       do_command("nextr");
  35.    }
  36. }
  37.  
  38. // the following entries ar from "replace.c"
  39. DEFMESSAGE( ___ok, "_OK" )
  40. DEFMESSAGE( ___cancel, "_Cancel" )
  41. DEFMESSAGE( _REP_wintitle, "Replace text" )
  42. DEFMESSAGE( _REP_findlabel,    "   Find" )
  43. DEFMESSAGE( _REP_replacelabel, "Replace" )
  44.  
  45.  
  46. #if 0
  47.  
  48. setmacro kappa 1 (down insline col \$arg1)
  49.  
  50. newwindow newfile repreq.c
  51.  
  52. top find `int SetupScreen'       unblock bstart down match bend bdelete
  53. top find `void CloseDownScreen'  unblock bstart down match bend bdelete
  54.  
  55. top find `int OpenReplaceWindow' findr void (struct Screen *Scr) goto +8
  56.    kappa 9 (if (! (VisualInfo = GetVisualInfo( Scr, TAG_DONE ))))
  57.    kappa 9 (        return( 2L );)
  58.    kappa 1
  59.    kappa 9 (ReplaceLeft = Scr->MouseX - 290;)
  60.    kappa 9 (if (ReplaceLeft < 0) ReplaceLeft = 0;)
  61.    kappa 9 (ReplaceTop = Scr->MouseY - 42 - offy - 7;)
  62.    kappa 9 (if (ReplaceTop < 0) ReplaceTop = 0;)
  63.    kappa 1
  64.  
  65. top find `int OpenReplaceWindow' down match 3 up
  66.    kappa 9 (GT_SetGadgetAttrs(ReplaceGadgets[GD_search], ReplaceWnd, NULL,)
  67.    kappa 9 (        GTST_String, SearchPattern, TAG_DONE);)
  68.    kappa 9 (GT_SetGadgetAttrs(ReplaceGadgets[GD_replace], ReplaceWnd, NULL,)
  69.    kappa 9 (        GTST_String, ReplacePattern, TAG_DONE);)
  70.    kappa 9 (RefreshGList(ReplaceGList, ReplaceWnd, NULL, Replace_CNT + 1);)
  71.    kappa 9 (        ActivateGadget(ReplaceGadgets[GD_search], ReplaceWnd, NULL);)
  72.  
  73. top find `void CloseReplaceWindow' down match up
  74.    kappa 9 (if ( VisualInfo ) {)
  75.    kappa 9 (        FreeVisualInfo( VisualInfo );)
  76.    kappa 9 (        VisualInfo = NULL;)
  77.    kappa 9 (})
  78.  
  79. top find `int HandleReplaceIDCMP' 3 down deline
  80.    kappa 9 (BOOL cancelled = FALSE;)
  81.    kappa 9 (char *strptr;)
  82.    kappa 1
  83.    kappa 9 (while (running))
  84.    kappa 9 ({)
  85.    kappa 9 (        Wait(1L << ReplaceWnd->UserPort->mp_SigBit);)
  86.  
  87.    ping 1
  88.    unblock find {
  89.        2 down 3 deline 2 up
  90.        block match block
  91.        insline (GT_ReplyIMsg ( m );) down
  92.  
  93.    kappa 9 (})
  94.    kappa 9 (if (! cancelled))
  95.    kappa 9 ({)
  96.    kappa 9 (    strptr = (char *)GetString(ReplaceGadgets[GD_search]);)
  97.    kappa 9 (    if (strptr))
  98.    kappa 9 (        strcpy(SearchPattern, strptr);)
  99.    kappa 9 (    strptr = (char *)GetString(ReplaceGadgets[GD_replace]);)
  100.    kappa 9 (    if (strptr))
  101.    kappa 9 (        strcpy(ReplacePattern, strptr);)
  102.    kappa 9 (})
  103.    kappa 9 (return(! cancelled);)
  104.    down deline
  105.  
  106.    indent b .8
  107.    pong 1
  108.    findr ReplaceMsg. m->
  109.  
  110.    pong 1
  111.    find IDCMP_CLOSEWINDOW: down deline up
  112.    kappa 41 (cancelled = TRUE;)
  113.    kappa 41 (running   = FALSE;)
  114.  
  115.    pong 1
  116.    find IDCMP_VANILLAKEY: down deline up
  117.    kappa 41 (switch (m->Code))
  118.    kappa 41 ({)
  119.    kappa 41 (    case 'O':)
  120.    kappa 41 (    case 'o':)
  121.    kappa 41 (         running   = FALSE;)
  122.    kappa 41 (         break;)
  123.    kappa 41 (    case 'C':)
  124.    kappa 41 (    case 'c':)
  125.    kappa 41 (         cancelled = TRUE;)
  126.    kappa 41 (         running   = FALSE;)
  127.    kappa 41 (         break;)
  128.    kappa 41 (    default:;)
  129.    kappa 41 (})
  130.  
  131.    pong 1
  132.    find IDCMP_GADGETUP: down 2 deline up
  133.    kappa 41 (gad = (struct Gadget *)m->IAddress;)
  134.    kappa 41 (switch(gad->GadgetID))
  135.    kappa 41 ({)
  136.    kappa 41 (    case GD_ok:)
  137.    kappa 41 (         done = TRUE;)
  138.    kappa 41 (         break;)
  139.    kappa 41 (    case GD_cancel:)
  140.    kappa 41 (         cancelled = TRUE;)
  141.    kappa 41 (         done = TRUE;)
  142.    kappa 41 (         break;)
  143.    kappa 41 (    case GD_search:)
  144.    kappa 41 (         ActivateGadget(ReplaceGadgets[GD_replace], ReplaceWnd, NULL);)
  145.    kappa 41 (         break;)
  146.    kappa 41 (    case GD_replace:)
  147.    kappa 41 (         strptr = (char *)GetString(ReplaceGadgets[GD_search]);)
  148.    kappa 41 (         /* If Code is 9 the gadget was deactivated with the TAB key */)
  149.    kappa 41 (         if ((strlen(strptr) > 0) && (m->Code != 9)))
  150.    kappa 41 (            done = TRUE;)
  151.    kappa 41 (         else)
  152.    kappa 41 (         ActivateGadget(ReplaceGadgets[GD_search], ReplaceWnd, NULL);)
  153.    kappa 41 (      break;)
  154.    kappa 41 (    default:;)
  155.    kappa 41 (})
  156.  
  157.  
  158.  
  159.  
  160.    saveold
  161.  
  162.    kappa  (
  163.  
  164. #endif
  165.