Sources/MSToken.h

#pragma once
 
#include <AppleEvents.h>
#include <AEObjects.h>
#include <AERegistry.h>
 
#include <Processes.h>
#include <Menus.h>
 
#define     pText           'TEXT'
 
//  Text Properties
        
#define     pLength         'leng'
#define     pOffset         'ofse'
#define     pResults        'MRes'
        
//  Window Properties - See the Registry for Details
        
#define     pPageSetup      'PSET' // One of ours - Not in registry
#define     pGXPageSetup    'TFGX' // One of ours - Not in registry
//#define       pShowBorders    'PBOR' // Another of ours
                
#define     typeTPrint      'TPNT' // A raw TPrint record - also one of ours
#define     typeTGXPrint    'TPGX' // A raw flattened GX Job - also one of ours
                        
//  Error Codes
        
#define kAEGenericErr       -1799   // ???
 
//  Private AEObject definitions
 
#define typeMyAppl          'BAPP' // sig of my private token type for the app              - AppToken
#define typeMyWndw          'BWIN' // sig of my private token type for windows              - windowToken
#define typeMyDocument      'BDOC' // sig of my private token type for windows              - documentToken
#define typeMyText          'BTXT' // sig of my private token type for text                 - textToken
#define typeMyTextProp      'BPRP' // sig of my private token type for text properties      - TextPropToken
#define typeMyWindowProp    'WPRP' // sig of my private token type for window properties    - WindowPropToken
#define typeMyDocumentProp  'DPRP' // sig of my private token type for window properties    - DocumentPropToken
#define typeMyApplProp      'APRP' // sig of my private token type for appl properties      - AppPropToken
 
#define typeMyMenu          'MTKN' // sig of my private token type for menus                - menuToken
#define typeMyMenuItem      'ITKN' // sig of my private token type for menus                - menuItemToken
#define typeMyMenuProp      'MPRP' // sig of my private token type for menu properties      - menuPropToken
#define typeMyMenuItemProp  'IPRP' // sig of my private token type for menu item properties - menuItemPropToken
 
 
 
// These are entirely private to our app - used only when resolving the object specifier
    
typedef ProcessSerialNumber AppToken;
    
struct AppPropToken
{
    AppToken tokenAppToken;
    DescType tokenProperty;
};
typedef struct AppPropToken AppPropToken;
 
 
struct WindowToken
{
    WindowPtr   tokenWindow;
};
typedef struct WindowToken WindowToken;
    
struct WindowPropToken
{
    WindowToken tokenWindowToken;
    DescType    tokenProperty;
};
typedef struct WindowPropToken WindowPropToken;
 
 
struct TextToken
{
    WindowPtr tokenWindow;
    short     tokenOffset;
    short     tokenLength;
};
typedef struct TextToken TextToken;
 
struct TextPropToken
{
    TextToken tokenTextToken;
    DescType  tokenProperty;
};
typedef struct TextPropToken TextPropToken;             
 
 
struct MenuToken
{
    MenuHandle tokenMenu;
    short      tokenID;
};
typedef struct MenuToken MenuToken;
 
struct MenuPropToken
{
    MenuToken  token;
    DescType   tokenProperty;
};
typedef struct MenuPropToken MenuPropToken;
 
 
struct MenuItemToken
{
    MenuToken  tokenMenuToken;
    short      tokenItem;
};
typedef struct MenuItemToken MenuItemToken;
 
struct MenuItemPropToken
{
    MenuItemToken  token;
    DescType       tokenProperty;
};
typedef struct MenuItemPropToken MenuItemPropToken;