InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CScript Class Referenceabstract
Inheritance diagram for CScript:
CPMUnknown< IScript >IScriptIScriptLabelIPMUnknownBscShpScriptCdlChartScriptCProxyScriptCusDtLnkScriptPstLstScriptBscMEScriptCdlStockScriptPrefsScriptSnpRunnableScript

Public Member Functions

 CScript (IPMUnknown *boss)
 
virtual ScriptID GetObjectType (const RequestContext &context) const =0
 
virtual bool16 IsObjectType (const ScriptID &type, const RequestContext &context) const
 
virtual bool16 IsObjectType (const ScriptElementID &type, const RequestContext &context) const
 
virtual const ObjectScriptElementGetObjectInfo (const RequestContext &context) const
 
virtual void SetObjectType (const ScriptID &type, const RequestContext &context)
 
virtual IDataBaseGetDataBase (const RequestContext &context) const
 
virtual ScriptObject GetScriptObject (const RequestContext &context) const
 
virtual IPMUnknownQueryParent (const PMIID &iid, const RequestContext &context) const =0
 
virtual bool16 HasBeenDeleted (const RequestContext &context)
 
virtual bool16 IsEqual (const IScript *script, const RequestContext &context) const
 
virtual void RegisterClientObject (ScriptClientObject *clientObject)
 
virtual void UnregisterClientObject (ScriptClientObject *clientObject)
 
virtual void NotifyClientObjectsToReleaseMe ()
 
virtual void SetTag (const ScriptLabelValue &string)
 
virtual ScriptLabelValue GetTag () const
 
virtual void SetTag (const ScriptLabelKey &key, const ScriptLabelValue &value)
 
virtual ScriptLabelValue GetTag (const ScriptLabelKey &key) const
 
virtual void SetTags (const ScriptLabelKeyValueList &labels)
 
virtual ScriptLabelKeyValueList GetTags () const
 
virtual void ClearTags ()
 
virtual void ReadWrite (IPMStream *s, ImplementationID prop)
 
- Public Member Functions inherited from CPMUnknown< IScript >
IPMUnknownQueryInterface (PMIID interfaceID) const
 
void AddRef () const
 
void Release () const
 
void PreDirty (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue)
 
void PreDirtyNoMessage (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue)
 
 CPMUnknown (const CPMUnknown &)=delete
 
CPMUnknownoperator= (const CPMUnknown &)=delete
 

Additional Inherited Members

- Public Types inherited from IScript
enum  { kDefaultIID = IID_ISCRIPT }
 
- Static Public Attributes inherited from IScriptLabel
static ScriptLabelKey kDefaultScriptLabelKey
 
- Protected Member Functions inherited from CPMUnknown< IScript >
 CPMUnknown (IPMUnknown *boss)
 
- Protected Attributes inherited from CPMUnknown< IScript >
HelperInterface fHelperInterface
 

Member Function Documentation

virtual void CScript::ClearTags ()
virtual

Clear all of the user-definable labels

Implements IScriptLabel.

virtual IDataBase* CScript::GetDataBase (const RequestContextcontext) const
virtual

A safe way to determine the appropriate database for this object. Most implementations can simply inherit and use the default implementation { return ::GetDataBase( this ) ; } but some script bosses are non-persistent, and should therefore override this method.

Implements IScript.

Reimplemented in SnpRunnableScript, and CProxyScript.

virtual const ObjectScriptElement* CScript::GetObjectInfo (const RequestContextcontext) const
virtual

Return the object's script info

Implements IScript.

virtual ScriptID CScript::GetObjectType (const RequestContextcontext) const
pure virtual

Return the object's type

Implements IScript.

Implemented in BscShpScript, CdlChartScript, PstLstScript, CusDtLnkScript, and CProxyScript.

virtual ScriptObject CScript::GetScriptObject (const RequestContextcontext) const
virtual

Return specifier information for this object

Implements IScript.

Reimplemented in SnpRunnableScript, CProxyScript, and PrefsScript.

virtual ScriptLabelValue CScript::GetTag () const
virtual

Get the default label property

Implements IScriptLabel.

virtual ScriptLabelValue CScript::GetTag (const ScriptLabelKeykey) const
virtual

Get a user-definable label

Parameters
keyis the key
Returns
is the value

Implements IScriptLabel.

virtual ScriptLabelKeyValueList CScript::GetTags () const
virtual

Get the list of all the user-definable labels

Implements IScriptLabel.

virtual bool16 CScript::HasBeenDeleted (const RequestContextcontext)
virtual

Return kTrue if the underlying object that this script object represents has been deleted

Implements IScript.

Reimplemented in CProxyScript, and CdlStockScript.

virtual bool16 CScript::IsEqual (const IScriptscript,
const RequestContextcontext 
) const
virtual

Return kTrue if the passed in object is (or represents) the same object

Implements IScript.

Reimplemented in CProxyScript.

virtual bool16 CScript::IsObjectType (const ScriptIDtype,
const RequestContextcontext 
) const
virtual

Return kTrue if this object is or is based on this type

Implements IScript.

virtual void CScript::NotifyClientObjectsToReleaseMe ()
virtual

Notify all registered client objects to release any references they're holding on my boss.

Implements IScript.

virtual IPMUnknown* CScript::QueryParent (const PMIIDiid,
const RequestContextcontext 
) const
pure virtual

Return the parent of this object in the script hierarchy

Implements IScript.

Implemented in BscShpScript, CdlChartScript, PstLstScript, CProxyScript, and CusDtLnkScript.

virtual void CScript::ReadWrite (IPMStreams,
ImplementationID prop 
)
virtual

This is a persistent implementation to support the tag property

virtual void CScript::RegisterClientObject (ScriptClientObjectclientObject)
virtual

Register a scripting client object. Calls ScriptClientObject::AddRef(). Does nothing if the client object passed in is nil.

Parameters
clientObjectis the scripting client object. Must NOT be an interface on this boss.

Implements IScript.

virtual void CScript::SetObjectType (const ScriptIDtype,
const RequestContextcontext 
)
virtual

Most objects know what type they are. But when supporting generic objects, there are cases where 1) the object can be interpreted as different types and/or 2) it is expensive to constantly figure out what type the object is, so we provide a way for the object to be told what type it is. This base class does NOT support this feature, so a subclass that wants it must (i.e., by storing the current object type as private data).

Implements IScript.

Reimplemented in BscShpScript, CdlChartScript, and CProxyScript.

virtual void CScript::SetTag (const ScriptLabelValuestring)
virtual

Set the default label property

Parameters
stringis the label to set

Implements IScriptLabel.

virtual void CScript::SetTag (const ScriptLabelKeykey,
const ScriptLabelValuevalue 
)
virtual

Set a user-definable label

Parameters
keyis the key
valueis the value

Implements IScriptLabel.

Reimplemented in CProxyScript.

virtual void CScript::SetTags (const ScriptLabelKeyValueListlabels)
virtual

Set a list of user-definable labels

Implements IScriptLabel.

virtual void CScript::UnregisterClientObject (ScriptClientObjectclientObject)
virtual

Unregister a scripting client object. Calls ScriptClientObject::Release(). Does nothing if the client object passed in is nil or was not previously passed to RegisterClientObject() on this IScript.

Parameters
clientObjectis the scripting client object

Implements IScript.