ftp.nice.ch/pub/next/science/mathematics/HippoDraw.2.0.s.tar.gz#/HippoDraw/Hippo.bproj/Draw.subproj/DrawApp.h

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

/*
 * Unfortunately, we have to have individual #imports here because
 * ProjectBuilder generates a Draw_main.m which does NOT import our
 * precompiled header.
 */

#import <dpsclient/event.h>
#import <appkit/Application.h>

@class Box, Matrix, View, Panel, TextField, NXColorPanel, SavePanel, MenuCell;
@class GridView, DrawDocument, DrawPageLayout;

@interface DrawApp : Object
{
    Box *contentBox;		/* Box surounding GUI objects */
    id tools;			/* the Tool Palette matrix */
    id currentGraphic;		/* the factory object used to create things */
    View *savePanelAccessory;	/* the SavePanel Draw/PS/TIFF view */
    Matrix *spamatrix;		/* the matrix in the savePanelAccessory view */
    Panel *infoPanel;		/* the Info... panel */
    TextField *version;		/* the version field in the Info... panel */
    GridView *gridInspector;	/* the shared modal panel to inspect grids */
    Panel *inspectorPanel; 	/* the shared inspector panel */
    BOOL cursorPushed;		/* whether we've temporarily changed the
				   cursor to NXArrow because the user held
				   down the Control key */
    BOOL haveOpenedDocument;	/* whether we have opened a document */
}

/* Public methods */

+ initialize;
- init;

- currentGraphic;
- (DrawDocument *)currentDocument;
- (const char *)currentDirectory;
- startEditMode;
- endEditMode;

/* Shared panels */

- (SavePanel *)saveToPanel:sender;
- (SavePanel *)saveAsPanel:sender;
- (GridView *)gridInspector;
- (Panel *)inspectorPanel;
- (Box *)contentBox;
- (DrawPageLayout *)pageLayout;
- orderFrontInspectorPanel:sender;

/* Target/Action methods */

- info:sender;
- new:sender;
- open:sender;
- terminate:sender;

/* Application delegate methods */

- appDidInit:(Application *)sender;
- (int)app:sender openFile:(const char *)path type:(const char *)type;
- (BOOL)appAcceptsAnotherFile:(Application *)sender;

/* Listener/Speaker methods */

- (int)msgDirectory:(const char **)fullPath ok:(int *)flag;
- (int)msgVersion:(const char **)aString ok:(int *)flag;
- (int)msgFile:(const char **)fullPath ok:(int *)flag;
- (int)msgPrint:(const char *)fullPath ok:(int *)flag;
- (int)msgSelection:(const char **)bytes length:(int *)len asType:(const char *)aType ok:(int *)flag;
- (int)msgCopyAsType:(const char *)aType ok:(int *)flag;
- (int)msgCutAsType:(const char *)aType ok:(int *)flag;
- (int)msgPaste:(int *)flag;

/* Global cursor setting methods */

- cursor;
- sendEvent:(NXEvent *)event;

/* Menu updating method */

- (BOOL)menuItemUpdate:(MenuCell *)menuCell;
- (BOOL)validateCommand:(MenuCell *)menuCell;

/* Target/Action method which sets the currentGraphic instance variable */

- setCurrentGraphic:sender;

/* Added to support HippoDraw since DrawApp is not subclass of
 * Application */
- orderFrontTools:sender;
- setHaveOpenedDocument:(BOOL)flag;
@end

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