home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-16 | 9.1 KB | 320 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWSemObj.h
- // Release Version: $ ODF 1 $
- //
- // Copyright: © 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWSCPTBL_H
- #define FWSCPTBL_H
-
- #ifndef _ODTYPES_
- #include <ODTypes.h>
- #endif
-
- #ifndef FWCMD_H
- #include "FWCmd.h"
- #endif
-
- #ifndef FWTCOLL_H
- #include "FWTColl.h"
- #endif
-
- //========================================================================================
- // forward declarations
- //========================================================================================
-
- class FW_CDesc;
- class FW_CAppleEvent;
- class FW_CPart;
- class FW_CFrame;
- class FW_CElementIterator;
-
- //========================================================================================
- // class FW_MScriptable
- //========================================================================================
-
- class FW_MScriptable
- {
- public:
- FW_DECLARE_CLASS
- FW_DECLARE_AUTO(FW_MScriptable)
-
- public:
- FW_MScriptable();
- virtual ~FW_MScriptable();
-
-
- virtual ODDescType GetObjectClass() const;
-
- virtual ODDescType GetSpecifierForm() const;
-
- virtual ODDescType GetTokenType() const;
-
- // ----- Reference Counting Protocol -----
-
- virtual long AcquireScriptable() { return 0; }
- virtual long ReleaseScriptable() { return 0; }
-
- // ----- Event Handling -----
-
- void HandleSemanticEvent(Environment* ev,
- FW_CPart* part,
- AEKeyword eventClass,
- AEKeyword eventID,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoSemanticEvent(Environment* ev,
- FW_CPart* part,
- AEKeyword eventClass,
- AEKeyword eventID,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- // ----- Core Suite -----
-
- virtual void DoAEClone(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEClose(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAECountElements(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
-
- virtual void DoAECreateElement(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEDelete(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEDoObjectsExist(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEGetClassInfo(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
-
- virtual void DoAEGetData(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEGetDataSize(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent&,
- FW_CAppleEvent& reply);
-
- virtual void DoAEGetEventInfo(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEMove(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
-
- virtual void DoAEOpen(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAEPrint(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAESave(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- virtual void DoAESetData(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event,
- FW_CAppleEvent& reply);
-
- // ----- Relationship Descriptors -----
-
- virtual FW_CFrame* GetFrame(Environment* ev, FW_CPart* part) const;
-
- // ----- Object Resolution -----
-
- virtual FW_Boolean CompareScriptableObjects(Environment* ev,
- FW_CPart* part,
- ODDescType operation,
- const FW_CDesc& other) const;
-
- virtual FW_MScriptable* GetContainingObject(Environment* ev,
- FW_CPart* part) const;
-
- virtual FW_Boolean GetContainedObject(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass,
- ODDescType form,
- const FW_CDesc& selectionData,
- FW_CDesc& containedObjectToken);
-
- virtual FW_MScriptable* GetElementByAbsolutePosition(Environment* ev,
- FW_CPart* part,
- ODDescType desiredType,
- const FW_CDesc& selectionData);
-
- // ----- Element Access -----
-
- virtual long CountElements(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass);
-
- virtual FW_MScriptable* GetElementByIndex(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass,
- long index);
-
- virtual FW_MScriptable* GetFirstElement(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass);
-
- virtual FW_MScriptable* GetMiddleElement(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass);
-
- virtual FW_MScriptable* GetLastElement(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass);
-
- virtual FW_MScriptable* GetAnyElement(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass);
-
- virtual FW_MScriptable* GetAllElements(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass);
-
- virtual FW_MScriptable* GetElementByName(Environment* ev,
- FW_CPart* part,
- ODDescType elementType,
- const FW_CString& desiredName);
-
- virtual FW_MScriptable* GetAdjacentObject(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass,
- ODDescType relativePosition) const;
-
- virtual FW_MScriptable* GetElementsWithinRange(Environment* ev,
- FW_CPart* part,
- ODDescType desiredClass,
- FW_MScriptable* startObject,
- FW_MScriptable* stopObject) const;
-
- virtual FW_CElementIterator* NewElementIterator(Environment* ev,
- FW_CPart* part,
- ODDescType elementType) const;
-
- // ----- Object Specifier Creation -----
-
- virtual void BuildObjectSpecifier(Environment* ev,
- FW_CPart* part,
- const FW_CFrame* frame,
- FW_CDesc& specifier,
- ODDescType preferredForm) const;
-
- void GetObjectSpecifier(Environment* ev,
- FW_CPart* part,
- FW_CDesc& specifier) const;
-
- void GetPropertySpecifier(Environment* ev,
- FW_CPart* part,
- ODDescType whichProperty,
- FW_CDesc& specifier);
-
- // ----- Property Access -----
-
- virtual FW_Boolean HasProperty(ODDescType whichProperty) const;
-
-
- virtual void GetPropertyInfo(Environment* ev,
- FW_CPart* part,
- FW_Boolean& canUndo,
- FW_Boolean& causesChange) const;
-
- virtual FW_Boolean GetProperty(Environment* ev,
- FW_CPart* part,
- FW_CDesc& propertyValue,
- ODDescType whichProperty,
- ODDescType desiredType = typeWildCard) const;
-
- virtual void SetProperty(Environment* ev,
- FW_CPart* part,
- FW_CDesc& propertyValue,
- ODDescType whichProperty);
-
-
- virtual void RestoreProperty(Environment* ev,
- FW_CPart* part,
- FW_CDesc& propertyValue,
- ODDescType whichProperty);
-
- virtual void SetProperties(Environment* ev,
- FW_CPart* part,
- const FW_CDesc& contents);
-
- void SetProperties(Environment* ev,
- FW_CPart* part,
- const FW_CAppleEvent& event);
-
- virtual void GetUndoStrings(Environment* ev,
- FW_CPart* part,
- ODDescType whichProperty,
- FW_CString& undoString,
- FW_CString& redoString) const;
-
- void AddDependent(FW_MScriptable* dependent);
- void RemoveDependent(FW_MScriptable* dependent);
-
- virtual void HandlePrimaryDeleted(FW_MScriptable* primary);
-
- private:
-
- FW_TOrderedCollection<FW_MScriptable>* fDependents;
- };
-
- //========================================================================================
- // class FW_CElementIterator
- //========================================================================================
-
- class FW_CElementIterator
- {
- public:
- FW_DECLARE_AUTO(FW_CElementIterator)
-
- FW_CElementIterator();
- ~FW_CElementIterator();
-
- virtual FW_MScriptable* First() = 0;
- virtual FW_MScriptable* Next() = 0;
- virtual FW_Boolean IsNotComplete() = 0;
- };
-
- #endif // FWSCPTBL_H
-