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

#include <IConcreteSelection.h>

Inheritance diagram for IConcreteSelection:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_ICONCRETESELECTION }
 

Public Member Functions

virtual void Startup (IDataBase *database, const UIDRef &owningView)=0
 
virtual void Shutdown (void)=0
 
virtual IDataBaseGetDataBase (void) const =0
 
virtual bool16 BroadcastQueuedMessages (IdleTimer *timer) const =0
 
virtual void SelectionHasChanged (void)=0
 
virtual void SelectionHasQueuedMessages (ISelectionMessage::SelectionMessageType selectionMessageType) const =0
 
virtual void DeselectAll (void)=0
 
virtual void SelectAll (IActiveContext *iContext)=0
 
virtual bool16 SelectionExists (void) const =0
 
virtual void BroadcastToIntegratorSuite (const PMIID &pmiid, void *selectionMessage)=0
 
virtual UIDRef GetSelectionsOwner_Temporary_DoNotUse (void) const =0
 
virtual IPMUnknownQuerySelectionSuite (const PMIID &) const =0
 
virtual void UpdateSelectionChangedBroadcastData (void)=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

Represents the primary interface on Concrete Selection Bosses (CSBs). InDesign has the following CSBs: Layout, Text, Table & XML. The Selection architecture uses this interface to manage the specific CSB. Some clients of the interface are the CSB's selection suite and it's messaging system.

Member Function Documentation

virtual bool16 IConcreteSelection::BroadcastQueuedMessages (IdleTimertimer) const
pure virtual

Broadcast any data from this CSB that has accumulated since the last idle task.

Parameters
timerThe idle task timer to check when to exit
Returns
Whether the entire broadcast was completed (kTrue) or if this function needs to be called again (kFalse)
virtual void IConcreteSelection::BroadcastToIntegratorSuite (const PMIIDpmiid,
void * selectionMessage 
)
pure virtual

Broadcast a message from the CSB to a suite on the ASB.

Parameters
pmiidThe suite IID on the integrator which will receive the message
selectionMessageThe message to send
virtual void IConcreteSelection::DeselectAll (void )
pure virtual

DeselectAll should change the internal state of the concrete selection boss so that DoesSelectionExist returns kFalse. Usually by calling a function on the CSB's selection suite.

virtual IDataBase* IConcreteSelection::GetDataBase (void ) const
pure virtual

Return the database which is the persistent store for items in this selection.

Returns
IDataBase* or nil
virtual UIDRef IConcreteSelection::GetSelectionsOwner_Temporary_DoNotUse (void ) const
pure virtual

Return the view/workspace that owns the selection sub-system.

NOTE: This function is temporary until the old architecture is removed. DO NOT USE WITHOUT CONSULTING MICHAEL MARTZ!

Returns
UIDRef of view window/workspace or UIDRef::gNull.
virtual IPMUnknown* IConcreteSelection::QuerySelectionSuite (const PMIID) const
pure virtual

Query the selection suite that is provided for this CSB. Selection Suites are aggregated on the ASB.

Returns
IPMUnknown of Selection suite or nil
virtual void IConcreteSelection::SelectAll (IActiveContextiContext)
pure virtual

Select all. Implement what "Select All" means for this CSB. Usually by calling a function on the CSB's selection suite.

Parameters
iContextThe Active Context of the current selection
virtual bool16 IConcreteSelection::SelectionExists (void ) const
pure virtual

Is there currently anything selected on this CSB?

Returns
True or False
virtual void IConcreteSelection::SelectionHasChanged (void )
pure virtual

Broadcast an internal message to the Selection Manager that this CSB's selection has changed.

virtual void IConcreteSelection::SelectionHasQueuedMessages (ISelectionMessage::SelectionMessageType selectionMessageType) const
pure virtual

Broadcast an internal message to the Selection Manager that this CSB has messages to broadcast to clients.

Parameters
selectionMessageTypeThe type of broadcast that is needed
virtual void IConcreteSelection::Shutdown (void )
pure virtual

Called when the CSB is shut down from the ASB.

virtual void IConcreteSelection::Startup (IDataBasedatabase,
const UIDRefowningView 
)
pure virtual

Called when the CSB is started up from the ASB.

Parameters
databaseThe "selectable object" database
owningViewThe view that "owns" this selection
virtual void IConcreteSelection::UpdateSelectionChangedBroadcastData (void )
pure virtual

Used Internally