Source/SVEditGlobals.h

/*
    File:       SVEditGlobals.h
 
    Contains:   
 
    Written by: Original version by Jon Lansdell and Nigel Humphreys.
                            3.1 updates by Greg Sutton. 
 
    Copyright:  Copyright ©1995-1999 by Apple Computer, Inc., All Rights Reserved.
 
                You may incorporate this Apple sample source code into your program(s) without
                restriction. This Apple sample source code has been provided "AS IS" and the
                responsibility for its operation is yours. You are not permitted to redistribute
                this Apple sample source code as "Apple sample source code" after having made
                changes. If you're going to re-distribute the source, we require that you make
                it clear in the source that the code was descended from Apple sample source
                code, but that you've made changes.
 
    Change History (most recent first):
                7/19/1999   Karl Groethe    Updated for Metrowerks Codewarror Pro 2.1
                11/1/95     DS              Made Changes for GX Printing.
                10/12/95    CW              Added gHasDragManager flag, gDragTrackingHandlerUPP and
                                            gDragReceiveHandlerUPP Drag Manager UPPs (all globals).
    
     
*/
 
#ifndef __SVEDITGLOBALS__
#define __SVEDITGLOBALS__
 
#include <Types.h>
#include <Quickdraw.h>
#include <Menus.h>
#include <Editions.h>
#include <Printing.h>
#include <Drag.h>
#include <GXPrinting.h>
 
#define  SVEditAppSig 'SVED'
 
#define  WindowID     128
#define  ErrorAlert   256
#define  AdviseAlert  257
 
 
#define     kRevertDialog               1002
//#define       kStdOkItemIndex         1
//#define       kStdCancelItemIndex     2
 
 
#define     kSaveDontsaveDialog         1003
//#define       kStdOkItemIndex         1
//#define       kStdCancelItemIndex     2
#define         kDontSaveItemIndex      3
 
 
#define     kMiscStrings                1000
#define         kQuittingIndex          1
#define         kClosingindex           2
 
/*
    Menu Resource IDs
*/
  
#define  appleID    128
#define  fileID     129
#define  editID     130
#define  mfontID    131
#define  sizeID     132
#define  styleID    133
  
#define  kLastID    styleID
 
/*
    Items in Apple Menu
*/
  
#define  aboutItem  1
  
/*
    Items in File Menu
*/
  
#define  fmNew               1
#define  fmOpen              2
#define  fmClose             4
#define  fmSave              5
#define  fmSaveAs            6
#define  fmRevert            7
#define  fmPageSetUp         9
#define  fmPrint             10
#define  fmPrintOne          11
#define  fmQuit              13
 
#define fmNoGXPrint 10
#define fmNoGXQuit  12
  
/*
    Items in Edit Menu
*/
#define  undoCommand             1
#define  cutCommand              3
#define  copyCommand             4
#define  pasteCommand            5
#define  clearCommand            6
#define  selectAllCommand        7
 
/*
    Items in Style Menu
*/
 
#define  cPlain             1
#define  cBold              2
#define  cItalic            3
#define  cUnderline         4
#define  cOutline           5
#define  cShadow            6
#define  cCondense          7
#define  cExtend            8
 
/*
    Entry of Menu in myMenus
*/
#define  appleM         0
#define  fileM          1
#define  editM          2
#define  fontM          3
#define  sizeM          4
#define  styleM         5
#define  kLastMenu      5
 
/*
    Save Changes Dialog Items
*/
  
#define  aaSave             1
#define  aaDiscard          2
#define  aaCancel           3
 
#define  kOSEvent              app4Evt      /*event used by MultiFinder*/
#define  kSuspendResumeMessage       1      /*high byte of suspend/resume event message*/
#define  kResumeMask                 1      /*bit of message field for resume vs. suspend*/
#define  kMouseMovedMessage       0xFA      /*high byte of mouse-moved event message*/
#define  kNoEvents                   0      /*no events mask*/
  
 
#define kMaxPages 1000                      /* Assumes pages > 32 pixels high */
 
 
struct DocRec {
  TEHandle         theText;
  ControlHandle    vScrollBar;
  ControlHandle    hScrollBar;
  WindowPtr        theWindow;
  Boolean          dirty;
  short            refNum;
  short            theFont;
  short            theSize;
  Style            theStyle;
  Str255           theFileName;
  FSSpec           theFSSpec;
  short            lastID;      /*the last sectionID*/
  THPrint          thePrintSetup;
  Boolean          everSaved;
  gxJob            documentJob; /* Job for document. */
};
 
typedef struct DocRec DocRec;
typedef DocRec *DPtr;
 
typedef short PageEndsArray[kMaxPages];
 
struct HeaderRec {
  Str255    theFont;
  short     theSize;
  Style     theStyle;
  short     theLength;
  short     lastID;
};
 
typedef struct HeaderRec HeaderRec;
typedef HeaderRec *HPtr, **HHandle;
 
#ifndef __COMPGLOBALS__
 
extern short      gWCount;
extern short      gNewDocCount;
extern MenuHandle myMenus[kLastMenu+1];
extern short      gFontMItem;
extern Boolean    gQuitting;
extern Cursor     editCursor;
extern Cursor     waitCursor;
extern Boolean    gInBackground;
  
  /*now for the environment variables set up by Gestalt*/
  
extern Boolean    gGestaltAvailable;
extern Boolean    gAppleEventsImplemented;
extern Boolean    gAliasManagerImplemented;
extern Boolean    gEditionManagerImplemented;
extern Boolean    gOutlineFontsImplemented;
extern Boolean    gRecordingImplemented;
extern Boolean    gHasDragManager;
extern Boolean    gGXIsPresent;
 
extern ControlActionUPP         gHScrollActionUPP;
extern ControlActionUPP         gVScrollActionUPP;
extern UserItemUPP              gDefaultButtonUPP;
extern DragTrackingHandlerUPP   gDragTrackingHandlerUPP;
extern DragReceiveHandlerUPP    gDragReceiveHandlerUPP;
 
#endif
 
OSErr GXPrintingEventOverride(EventRecord *anEvent, Boolean filterEvent);
 
#endif