home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / text_dtp / editor / turbotext / rexx / getkin.ttx < prev    next >
Text File  |  1995-07-10  |  2KB  |  94 lines

  1.  
  2. /** $VER: GetKin.ttx 2.0 (9.1.94)
  3.  **
  4.  ** This macro loads a document that is related by name to whatever the
  5.  ** current document is.  For example, if you are editing a ".c" file,
  6.  ** you can load the ".h" file that goes with it, or vice versa.  Windows
  7.  ** are sized to 1/2 screen, with one on the top and one on the bottom, to
  8.  ** allow you to look at both of the documents easily.
  9.  **
  10.  ** To add your own relations, just add new pairs below and increment
  11.  ** the "NumRelations" variable.  Relations are included for C, C++, ASM and
  12.  ** Modula-2.
  13.  **
  14.  ** Written by Chris Bailey
  15.  ** Modified by Martin Taillefer
  16.  **/
  17.  
  18.  
  19. OPTIONS RESULTS
  20.  
  21.  
  22.   NumRelations = 7
  23.  
  24.   /* for C */
  25.   Relations.0.0 = ".h"
  26.   Relations.0.1 = ".c"
  27.  
  28.   /* for C++ */
  29.   Relations.1.0 = ".h"
  30.   Relations.1.1 = ".cpp"
  31.  
  32.   /* for C++ */
  33.   Relations.2.0 = ".h"
  34.   Relations.2.1 = ".cc"
  35.  
  36.   /* for C++ */
  37.   Relations.3.0 = ".h"
  38.   Relations.3.1 = ".cxx"
  39.  
  40.   /* for ASM */
  41.   Relations.4.0 = ".i"
  42.   Relations.4.1 = ".asm"
  43.  
  44.   /* for ASM */
  45.   Relations.5.0 = ".i"
  46.   Relations.5.1 = ".a"
  47.  
  48.   /* for Modula-2 */
  49.   Relations.6.0 = ".def"
  50.   Relations.6.1 = ".mod"
  51.  
  52.  
  53.   GetFilePath
  54.   filename = RESULT
  55.  
  56.   i = 0
  57.   DO i = 0 TO NumRelations-1
  58.     idx = index(filename,Relations.i.0)
  59.     IF idx ~= 0 THEN DO
  60.       newname = delstr(filename,idx,length(Relations.i.0)) || Relations.i.1
  61.       CALL NewDoc(newname)
  62.       RETURN
  63.     END
  64.  
  65.     idx = index(filename,Relations.i.1)
  66.     IF idx ~= 0 THEN DO
  67.       newname = delstr(filename,idx,LENGTH(Relations.i.1)) || Relations.i.0
  68.       CALL NewDoc(newname)
  69.       RETURN
  70.     END
  71.   END
  72.  
  73.   SetStatusBar "No kin file for " || filename
  74.   RETURN
  75. /* end of Main() */
  76.  
  77.  
  78. NewDoc:
  79. PARSE ARG name
  80.   /* NewDoc does the following :
  81.    *   - Sizes the current window to 1/2 screen and moves it to the top
  82.    *   - Opens a new edit window with the named document
  83.    *   - Sizes the new window to 1/2 screen and moves it to the bottom
  84.    */
  85.  
  86.   GetScreenInfo
  87.   PARSE VAR RESULT dummy dummy screenWidth screenHeight .
  88.   windowHeight = (screenHeight - 2) / 2
  89.  
  90.   MoveSizeWindow 0 2 screenWidth windowHeight
  91.  
  92.   windowSpec = "0/"||(2+windowHeight)||"/"||screenWidth||"/"||(windowHeight + (screenHeight - (windowHeight*2 + 2)))
  93.   OpenDoc WINDOW windowSpec name
  94.