ftp.nice.ch/pub/next/developer/objc/appkit/RemoteCommand.1.s.tar.gz#/RemoteCommand1/execServer.subproj/ExecScrollText.h

This is ExecScrollText.h in view mode; [Download] [Up]

// -------------------------------------------------------------------------------------
// ExecScrollText.h
// -------------------------------------------------------------------------------------
// Permission is granted to freely redistribute this source code, and to use fragments
// of this code in your own applications if you find them to be useful.  This class,
// along with the source code, come with no warranty of any kind, and the user assumes
// all responsibility for its use.
// -------------------------------------------------------------------------------------
#import <objc/Object.h>

// --------------------------------------------------------------------------------
// formatted text size limit for 'textPrintf'
#define         textStringSIZE          2048    // actual size cannot be known

// --------------------------------------------------------------------------------
// method name synonyms
#define         setAutoLF               setAutoLineFeed

// --------------------------------------------------------------------------------
// errors passed by 'commandDidComplete:withError:' via 'runCommand:...'
// Note: these codes may be shared by the running command which executes an exit(#)
#define			RUNCMD_STOPPED			-1		// command stopped/aborted
#define			RUNCMD_SUCCESS			0		// executed/completed successfully
#define			RUNCMD_EXEC				255		// cannot execute execl shell

// -------------------------------------------------------------------------------------
// structures used internal to ScrollText

/* text attributes */
typedef struct textAttr_s {
	id					fontId;
	int					colorMode;		// 0=none, 1=gray, 2=color
	NXColor				color;			// contains only gray if mode=1
} textAttr_t;

// --------------------------------------------------------------------------------
@interface ExecScrollText : Object
#ifdef RemoteClient_PROTOCOL
	<RemoteClient>
#endif
{

	id					delegate;					// delegate for ExecServer support

	id					scrollView;					// scroll view object
	id					textView;					// text view object
	
	textAttr_t			runAttr;					// newly added text attributes
  
	BOOL				wasEditable;				// scrollView was editable
	BOOL				autoLf;						// auto linefeed mode

	int					cmdChild;					// command execution
	int					inputDescriptor;			// input pipe

}

// --------------------------------------------------------------------------------
+ newExecScrollText:anObject;
//  Creates a new ExecScrollText object to handle text scrolling.  anObject must be
//  a ScrollView object which has a Text content view.  This is compatible
//  with the outlet provided by the text scroll view object in Interface Builder.
//
// --------------------------------------------------------------------------------
- setDelegate:aDelegate;
//  Currently used for ExecServer support.  Returns self.
//
// --------------------------------------------------------------------------------
- setAutoLineFeed:(BOOL)mode;
//  Sets the autoLineFeed options.  If set to YES, then a newLine will be sent
//  after each string written to the scroll text.  The default is NO. 
//
// --------------------------------------------------------------------------------
- docView;
//  Returns the ScrollView docView.
//
// --------------------------------------------------------------------------------
- scrollView;
//  Returns the ScrollView id.
//
// --------------------------------------------------------------------------------
- setTextAttributeFont:fontId;
- setTextAttributeGray:(float)aGray;
- setTextAttributeColor:(NXColor)aColor;
//  Set RTF font/gray run attributes for newly added text.
//
// --------------------------------------------------------------------------------
- setTabStops:(float*)tabArray count:(int)c;
- setTab:(float)tabSize count:(int)c;
//  Set default tabs stops.  'setTabStops:count:' set the default tabs to those
//  specified in the array 'tabArray'. 'setTab:count:' sets the default tabs to 
//  multiples of 'tabSize'.  Both return self.
//
// --------------------------------------------------------------------------------
- clearScrollText;
//  This clears the contents of the Text ScrollView.  Returns self.
//
// --------------------------------------------------------------------------------
- (int)textPrint:(const char*)buffer;
- (int)textPrintf:(const char*)fmt args:(va_list)args;
- (int)textPrintf:(const char*)fmt, ...;
//  Appends the specified formated string to the contents of the ScrollView.
//
// --------------------------------------------------------------------------------
- runCommand:(const char*)command;
- terminateCommand;
- killCommand;
//  Allows running a command shell and using the scrollable text view to place the
//  output.  The delegate is sent the message commandDidComplete:withError: when
//  the command has completed execution.
//
// --------------------------------------------------------------------------------
- (void)commandOutput:(const char*)buffer len:(int)len;
- (void)commandDidCompleteWithError:(int)errorCode;
//  Provides support for ExecServer.
//
// --------------------------------------------------------------------------------

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.