ftp.nice.ch/pub/next/tools/pasteboard/Pasteboard.N.b.tar.gz#/Pasteboard/API/Headers/Controller.h

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

#import <appkit/appkit.h>
#import <dpsclient/dpsNeXT.h>


// Check delay when calling timed entry
#define PB_CHECKDELAY 1.0

// This is only used for the HEX Viewer indicating that the Hex-Viewer
// can handle any type of PB-content
#define PB_HANDLEANY "Any Pasteboard content"

// Extension for loadable PBInspector Modules
#define PB_EXTENSION ".pbio"
#define PB_LEXTENSION strlen(PB_EXTENSION)

@interface Controller:Object
{
@private
    // Maximum value for progress View
    int maxValue;
    // outlet counter for pasteboard change count 
    id            pbChangeCountField;
    // Matrix with buttons describing contents
    id            pbContents;
    // the ScrollView
    id            itemView;
    // TextField outlet describing the contents type
    id            itemType;
    // Button for default (hex) viewer
    id            hexButton;
    // Timed entry to check pasteboard 
    DPSTimedEntry myTimer;
    // Last change count when Pasteboard was visited
    int           pbChangeCount;
    // the cuurent Pasteboard
    id            pb;
    // the differnt pasteboards available
    id            generalPb, fontPb, rulerPb, findPb, dragPb;
    // ModuleList 
    id            modulelist;
    // Previous viewer
    id            previous;
    // progress panel support
    id            progress, progressPanel, progressTitle;

}

// ============================================================================
// PRIVATE METHODS
// ============================================================================
- changePasteboard:sender;
- checkPasteboard;
- findHandlerFor:(const char *)type;
- loadViewModulesFrom:(const char *)dirname;
- installViewer:viewer forType:(const char *)theType;
- identify:sender;
- setHex:sender;
- appDidInit:sender;
- appWillTerminate:sender;
- saveTo:(const char *)filename;
- loadFrom:(const char *)filename;
- pasteboardChangedOwner:sender;

// ============================================================================
// PUBLIC METHODS
// ============================================================================

// get the selected Pasteboard. This is the Pasteboard the viewer
// will retrieve data from
- getPb;

// Progress Panel for operations that take a bit longer
// init a progress panel with panel-title "title". "x" holds the maximum steps
// your process will take. E.g. If you load five different files init it with "5"
- initProgressPanel:(const char*)title max:(int)x;

// change the Info-line in the progress Panel E.g. show filename which is currently
// loaded
- setProgressInfo:(const char *)info;

// move the progess display. E.g. if you load five files you will call this method
// with values "1" - "5" for each file loaded.
- progressStep:(int)n;

// make the progress Panel disappear
- removeProgressPanel;

// Pasteboard data access
// get data for type "type" into "data". "datasize" returns the number of bytes
// read to "data"
- provideData:(char **)data length:(int *)datasize forType:(const char *)type;

// call this method after provideData with the values returned from provideData
- releaseData:(char *)data length:(int)datasize;

// read contents from pasteboard for type "theType" into the Stream "theStream" 
- provideStream:(NXStream **)theStream forType:(const char *)theType;

// call this method after provideStream to free memory 
- releaseStream:(NXStream *)theStream;

@end










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