InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ILinkInfoProvider Class Referenceabstract

#include <ILinkInfoProvider.h>

Inheritance diagram for ILinkInfoProvider:
IPMUnknownCPMUnknown< ILinkInfoProvider >CLinkInfoProviderCusDtLnkLinkInfoProvider

Public Types

enum  { kDefaultIID = IID_ILINKINFOPROVIDER }
 

Public Member Functions

virtual PMString GetInfoDescriptionString () const =0
 
virtual PMRsrcID GetInfoDescriptionIcon () const =0
 
virtual PMString GetUpdatedInfoForLink (const ILink *link, const ILinkResource *linkResource, bool shortForm) const =0
 
virtual PMRsrcID GetUpdatedIconForLink (const ILink *link, const ILinkResource *linkResource) const =0
 
virtual bool16 IsLinkInfoDynamic () const =0
 
virtual bool16 CanDoSingleClickAction (const ILink *link, const ILinkResource *linkResource) const =0
 
virtual void DoSingleClickAction (const ILink *link, const ILinkResource *linkResource)=0
 
virtual bool16 CanDoDoubleClickAction (const ILink *link, const ILinkResource *linkResource) const =0
 
virtual void DoDoubleClickAction (const ILink *link, const ILinkResource *linkResource)=0
 
virtual PMString GetDoubleClickDescription (const ILink *link, const ILinkResource *linkResource) const =0
 
virtual int32 GetDefaultColumnWidth () const =0
 
virtual int16 GetInfoTextAlignment () const =0
 
virtual void AttachToDocument (IObserver *observer, const IDocument *newDoc)=0
 
virtual void DetachFromDocument (IObserver *observer, const IDocument *oldDoc)=0
 
virtual bool16 ShouldCauseRefreshOfInfo (const PMIID &protocol) const =0
 
virtual int32 Compare (const ILink *link1, const ILinkResource *linkResource1, const ILink *link2, const ILinkResource *linkResource2) const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

This interface provides some information about an ILink, ILinkResource, or ILinkObject. It's typically added to a service boss with the kLinkInfoServiceImpl, so that it can be found by using the service registry.

Class { kLinkInfoNameProviderBoss, kInvalidClass, { IID_IK2SERVICEPROVIDER, kLinkInfoServiceImpl, IID_ILINKINFOPROVIDER, kLinkInfoNameProviderImpl, } },

Member Function Documentation

virtual void ILinkInfoProvider::AttachToDocument (IObserverobserver,
const IDocumentnewDoc 
)
pure virtual

will only be called for info providers which indicate they are dynamic. The ILinkInfoProvider implementation should attach the observer to whatever they need to watch

Implemented in CLinkInfoProvider.

virtual bool16 ILinkInfoProvider::CanDoDoubleClickAction (const ILinklink,
const ILinkResourcelinkResource 
) const
pure virtual

returns whether or not the double click action is available for this item in this column

Implemented in CLinkInfoProvider.

virtual bool16 ILinkInfoProvider::CanDoSingleClickAction (const ILinklink,
const ILinkResourcelinkResource 
) const
pure virtual

returns whether or not the single click action is available for this item in this column

Implemented in CLinkInfoProvider.

virtual int32 ILinkInfoProvider::Compare (const ILinklink1,
const ILinkResourcelinkResource1,
const ILinklink2,
const ILinkResourcelinkResource2 
) const
pure virtual

compare the values of these 2 links. Used for sorting. 0 indicates equality. -1 indicates first is < second, 1 indicates second > first

Implemented in CLinkInfoProvider.

virtual void ILinkInfoProvider::DetachFromDocument (IObserverobserver,
const IDocumentoldDoc 
)
pure virtual

will only be called for info providers which indicate they are dynamic. The ILinkInfoProvider implementation should attach the observer to whatever they need to watch

Implemented in CLinkInfoProvider.

virtual void ILinkInfoProvider::DoDoubleClickAction (const ILinklink,
const ILinkResourcelinkResource 
)
pure virtual

Some columns provide an action when the user double clicks on the displayed info. For example, the status column will update a modified link on double click.

Implemented in CLinkInfoProvider.

virtual void ILinkInfoProvider::DoSingleClickAction (const ILinklink,
const ILinkResourcelinkResource 
)
pure virtual

Some columns provide an action when the user single clicks on the displayed info. For example, the page number field will 'goto link' on a single click.

Implemented in CLinkInfoProvider.

virtual int32 ILinkInfoProvider::GetDefaultColumnWidth () const
pure virtual

Default num pixels for column width. Some columns make sense wide, others narrow.

Implemented in CLinkInfoProvider.

virtual PMString ILinkInfoProvider::GetDoubleClickDescription (const ILinklink,
const ILinkResourcelinkResource 
) const
pure virtual

Get string describing the double click behavior. Might be used in a tool tip.

Implemented in CLinkInfoProvider.

virtual PMRsrcID ILinkInfoProvider::GetInfoDescriptionIcon () const
pure virtual

This returns an icon description of the info itself, like a little page. The returned PMRsrcID is expected to refer to a PNG icon resource

Implemented in CLinkInfoProvider.

virtual PMString ILinkInfoProvider::GetInfoDescriptionString () const
pure virtual

This returns a key string description of the info itself, like 'Name' or 'ColorSpace'

Implemented in CusDtLnkLinkInfoProvider.

virtual int16 ILinkInfoProvider::GetInfoTextAlignment () const
pure virtual

Get the alignment of the text for this column

Returns
one of {kAlignLeft,kAlignCenter,kAlignRight}, defined in WidgetDefs.h

Implemented in CLinkInfoProvider.

virtual PMRsrcID ILinkInfoProvider::GetUpdatedIconForLink (const ILinklink,
const ILinkResourcelinkResource 
) const
pure virtual

This returns an icon representing the info for this ILink or ILinkResource. The returned PMRsrcID is expected to refer to a PNG icon resource

Implemented in CusDtLnkLinkInfoProvider, and CLinkInfoProvider.

virtual PMString ILinkInfoProvider::GetUpdatedInfoForLink (const ILinklink,
const ILinkResourcelinkResource,
bool shortForm 
) const
pure virtual

This returns a string representing the info for this ILink or ILinkResource. Callers can request either the short form or the long form of the info string.

Implemented in CusDtLnkLinkInfoProvider.

virtual bool16 ILinkInfoProvider::IsLinkInfoDynamic () const
pure virtual

This method should return true if this info is calculated based on something in the InDesign document. Return false if your data depends only on the file on disk.

Implemented in CusDtLnkLinkInfoProvider, and CLinkInfoProvider.

virtual bool16 ILinkInfoProvider::ShouldCauseRefreshOfInfo (const PMIIDprotocol) const
pure virtual

will only be called for info providers which indicate they are dynamic. The ILinkInfoProvider implementation should return true if this message might change its data.

Implemented in CLinkInfoProvider.