home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright © 1991-1995 by TopSoft Inc. All rights reserved.
-
- You may distribute this file under the terms of the TopSoft
- Artistic License, accompanying this package.
-
- This file was developed by George (ty) Tempel in connection with TopSoft, Inc..
- See the Modification History for more details.
-
- Product
- About Box
-
- FILE
- ABResource.h
-
- NAME
- ABResource.h, part of the ABox project source code,
- responsible for handling the AboutBox resource (element) class stuff.
-
- DESCRIPTION
- This file contains defines for the about box modules.
-
- DEVELOPED BY
- George (ty) Tempel netromancr@aol.com
- All code in this file, and its associated header file was
- Created by George (ty) Tempel in connection with the TopSoft, Inc.
- "FilterTop" application development, except where noted.
-
- CARETAKER - George (ty) Tempel <netromancr@aol.com>
- Please consult this person for any changes or suggestions to this file.
-
- MODIFICATION HISTORY
-
- dd mmm yy - xxx - patchxx: description of patch
- 9 June 94 - ty - Initial Version Created
- 20-july-94 - ty - initial version released
- 23-may-95 - ty - changes for compatibility with the CodeWarrior CW6
- release and the associated Universal Headers from Apple:
- most methods that returned references now have "Ref" at
- the end of their methods names to prevent possible collisions
- with datatypes and classes of the same name (older versions
- of the compiler didn't have a problem with this).
-
- */
-
- /*===========================================================================*/
-
- /*========== Exclusion Macros ============*/
-
- #pragma once
-
- #ifndef _ABResource_
- #define _ABResource_
-
-
- /*============ Header Files ==============*/
-
- #include "ABLinkedList.h"
- #include "ABObject.h"
-
- /*=========== External Linkage ===========*/
-
- /*================ Macros ================*/
-
- /*============== Constants ===============*/
-
- // NOTE: be sure to have trigraphs ON in TC! trigraphs are always on in C++!
- //
- // these define's describe the various resource types that are used
- // for slides in the about box. A slide usually will contain at least
- // one of these resources.
- #define kABbadResourceType ((ResType)'\?\?\?\?')
-
-
- #define kABResourceResType 'Rsrc'
- #define kABResourceResTypeSize (sizeof(ResType))
-
- #define kABResourceResID 'Rsid'
- #define kABResourceResIDSize (sizeof(short))
-
- #define kABResourceHandle 'Rhdl'
- #define kABResourceHandleSize (sizeof(Handle))
-
-
- /*================ Enums =================*/
-
- /*=============== Structs ================*/
-
- /*=============== Typedefs ===============*/
-
- /*=========== Class Definitions ==========*/
-
- #define kABResourceSuperProperty ABObject
- class ABResource : public ABLink, public ABObject
- {
- friend class ABLinkedList;
-
- public:
- ABResource(void);
- virtual ~ABResource(void);
-
- virtual OSErr GetProperty (ABProperty prop, void *ptr, long *ptrSize);
- virtual OSErr SetProperty (ABProperty prop, void *ptr, long ptrSize);
-
- virtual OSErr Stop(void);
- virtual OSErr InitializeResource(void);
- virtual Boolean CheckFile(FSSpecPtr fssptr);
-
- Boolean HasResourceHandleRef(void) const { return this->mResHandle != NULL; }
- Boolean DoesntHaveResourceHandleRef(void) const { return ! this->HasResourceHandleRef(); }
-
- protected:
-
- ResType mResType;
- short mResID;
- Handle mResHandle;
- //Rect itemRect;
-
- OSErr ReleaseResource(void);
-
- ResType& ResourceTypeRef(void) const { return this->mResType; }
- short& ResID(void) const { return this->mResID; }
- Handle& ResourceHandleRef(void) const { return this->mResHandle; }
-
- private:
- };
-
-
-
-
- /*========== Function Prototypes =========*/
-
-
-
-
- #endif // _ABResource_
-
-