|
|
1.1 ! root 1: /* ! 2: * Unfortunately, we have to have individual #imports here because ! 3: * ProjectBuilder generates a Draw_main.m which does NOT import our ! 4: * precompiled header. ! 5: */ ! 6: ! 7: #import <dpsclient/event.h> ! 8: #import <appkit/Application.h> ! 9: ! 10: @class Matrix, View, Panel, TextField, NXColorPanel, SavePanel, MenuCell; ! 11: @class GridView, DrawDocument, DrawPageLayout; ! 12: ! 13: @interface DrawApp : Application ! 14: { ! 15: Matrix *tools; /* the Tool Palette matrix */ ! 16: id currentGraphic; /* the factory object used to create things */ ! 17: View *savePanelAccessory; /* the SavePanel Draw/PS/TIFF view */ ! 18: Matrix *spamatrix; /* the matrix in the savePanelAccessory view */ ! 19: Panel *infoPanel; /* the Info... panel */ ! 20: TextField *version; /* the version field in the Info... panel */ ! 21: GridView *gridInspector; /* the shared modal panel to inspect grids */ ! 22: NXColorPanel *inspectorPanel; /* the shared inspector panel */ ! 23: BOOL cursorPushed; /* whether we've temporarily changed the ! 24: cursor to NXArrow because the user held ! 25: down the Control key */ ! 26: BOOL haveOpenedDocument; /* whether we have opened a document */ ! 27: } ! 28: ! 29: /* Public methods */ ! 30: ! 31: + initialize; ! 32: + new; ! 33: ! 34: - currentGraphic; ! 35: - (DrawDocument *)currentDocument; ! 36: - (const char *)currentDirectory; ! 37: - startEditMode; ! 38: - endEditMode; ! 39: ! 40: /* Shared panels */ ! 41: ! 42: - (SavePanel *)saveToPanel:sender; ! 43: - (SavePanel *)saveAsPanel:sender; ! 44: - (GridView *)gridInspector; ! 45: - (Panel *)inspectorPanel; ! 46: - (DrawPageLayout *)pageLayout; ! 47: - orderFrontInspectorPanel:sender; ! 48: ! 49: /* Target/Action methods */ ! 50: ! 51: - info:sender; ! 52: - new:sender; ! 53: - open:sender; ! 54: - terminate:sender; ! 55: ! 56: /* Application delegate methods */ ! 57: ! 58: - appDidInit:(Application *)sender; ! 59: - (int)app:sender openFile:(const char *)path type:(const char *)type; ! 60: - (BOOL)appAcceptsAnotherFile:(Application *)sender; ! 61: ! 62: /* Listener/Speaker methods */ ! 63: ! 64: - (int)msgDirectory:(const char **)fullPath ok:(int *)flag; ! 65: - (int)msgVersion:(const char **)aString ok:(int *)flag; ! 66: - (int)msgFile:(const char **)fullPath ok:(int *)flag; ! 67: - (int)msgPrint:(const char *)fullPath ok:(int *)flag; ! 68: - (int)msgSelection:(const char **)bytes length:(int *)len asType:(const char *)aType ok:(int *)flag; ! 69: - (int)msgCopyAsType:(const char *)aType ok:(int *)flag; ! 70: - (int)msgCutAsType:(const char *)aType ok:(int *)flag; ! 71: - (int)msgPaste:(int *)flag; ! 72: ! 73: /* Global cursor setting methods */ ! 74: ! 75: - cursor; ! 76: - sendEvent:(NXEvent *)event; ! 77: ! 78: /* Menu updating method */ ! 79: ! 80: - (BOOL)menuItemUpdate:(MenuCell *)menuCell; ! 81: - (BOOL)validateCommand:(MenuCell *)menuCell; ! 82: ! 83: /* Target/Action method which sets the currentGraphic instance variable */ ! 84: ! 85: - setCurrentGraphic:sender; ! 86: ! 87: @end ! 88:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.