home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Examples / AppKit / Draw / DrawApp.h < prev    next >
Text File  |  1992-07-17  |  3KB  |  89 lines

  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. RWMatrix *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.  
  89.