home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Palettes / MiscShell / MiscShell.subproj / MiscShell.h < prev    next >
Encoding:
Text File  |  1995-04-12  |  2.2 KB  |  107 lines

  1. // Copyright (C) 1995 Steve Hayman
  2. // Use is governed by the MiscKit license
  3.  
  4. #import <appkit/appkit.h>
  5. #import <misckit/misckit.h>
  6.  
  7. /*
  8.  * $Header: /SAHayman/LocalDeveloper/Source/MiscKit/Palettes/MiscShell/MiscShell.subproj/RCS/MiscShell.h,v 1.2 94/08/04 17:39:34 shayman Exp Locker: shayman $
  9.  * $Log:    MiscShell.h,v $
  10.  * Revision 1.2  94/08/04  17:39:34  shayman
  11.  * Fiddling with string values
  12.  * 
  13.  */
  14.  
  15. @interface MiscShell : Object  
  16. {
  17.     id standardOutput;
  18.     id standardError;
  19.     id standardInput;
  20.  
  21.     id v1;
  22.     id v2;
  23.     id v3;
  24.     id v4;
  25.     
  26.  
  27.     // Things you *can't* hook up in Interface Builder
  28.     id _target;
  29.     SEL action;
  30.     MiscString *script;
  31.  
  32.     MiscSubprocess *process;
  33.     
  34.     MiscString *currentLine;
  35.     MiscString *fullOutput;
  36.     BOOL currentLineIsComplete;
  37.     BOOL executionInProgress;
  38.     BOOL runToCompletion;
  39.     
  40.     MiscString *execArg0, *execArg1, *execArg2;
  41.     MiscStringArray *lines;
  42.     char delimiter;
  43.     
  44.     BOOL sortWhenColumnsMove;
  45.     MiscString *customDelimiters;
  46.     
  47.     List *linesBrokenIntoFields;
  48.  
  49. }
  50.  
  51. - init;
  52. - initWithCommand:(const char *)command;
  53. - free;
  54.  
  55.  
  56. - read: (NXTypedStream *)stream;
  57. - write: (NXTypedStream *)stream;
  58.  
  59.  
  60. // Control-style Target-action stuff  (shayman)
  61. - target;
  62. - setTarget:aTarget;
  63. - (SEL)action;
  64. - setAction:(SEL)anAction;
  65. - (const char *)stringValue;
  66. - (double) doubleValue;
  67. - (float) floatValue;
  68. - (int) intValue;
  69.  
  70. - (MiscString *)script;
  71. - setScript:(MiscString *)script;
  72.  
  73. - (BOOL) runToCompletion;
  74. - setRunToCompletion:(BOOL)c;
  75. - (int) sortWhenColumnsMove;
  76. - setSortWhenColumnsMove:(int)c;
  77.  
  78. - (char)delimiter;
  79. - setDelimiter:(char)c;
  80. - (MiscString *)customDelimiters;
  81. - setCustomDelimiters:(MiscString *)d;
  82.  
  83. - setExecArgs:(const char *)a1:(const char *)a2:(const char *)a3;
  84.  
  85. // Messages that might arrive from various Control objects
  86.  
  87. - executeScript:sender;
  88. - executeFromStringValue:sender;
  89. - executeFromTitle:sender;
  90. - executeFromAltTitle:sender;
  91. - pause:sender;
  92. - resume:sender;
  93. - terminate:sender;
  94.  
  95. - takeStdinFrom:sender;
  96. - writeToStdin:(const char *)str;
  97.  
  98.  
  99. // Methods that return particular lines
  100. - (MiscStringArray *)lines;
  101. - (MiscString *)line:(int)n;
  102. - (MiscString *)line:(int)n field:(int)f;
  103. - (int)lineCount;
  104. - (int) fieldsInLine:(int)n;
  105.  
  106.  
  107. @end