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

#include <ILibraryScrapController.h>

Inheritance diagram for ILibraryScrapController:
CDataExchangeControllerIDataExchangeControllerIPMUnknown

Public Member Functions

 ILibraryScrapController (IPMUnknown *boss)
 
virtual IDataExchangeHandlerQueryHandlerForInternalize (DataExchangeResponse &response, const PMFlavor &internalizedFlavor=kNoFlavor) const =0
 
virtual bool16 NeedsToInternalize () const =0
 
virtual ErrorCode ExternalizeToLibrary () const =0
 
virtual ErrorCode InternalizeFromLibrary ()=0
 
virtual ErrorCode InternalizeFromOldLibrary ()=0
 
virtual ErrorCode FulfillPromise (IPMDataObject *whichItem, const ExternalPMFlavor &whichFlavor) const =0
 
virtual ErrorCode Clear ()=0
 
virtual void SetWorkingLibraryAsset (ILibraryAsset *libraryAsset)=0
 
virtual void Cleanup ()=0
 
- Public Member Functions inherited from CDataExchangeController
 CDataExchangeController (IPMUnknown *boss)
 
virtual void ReadWrite (IPMStream *s, ImplementationID prop)
 
virtual void RegisterAllHandlers ()
 
virtual bool16 RegisterDataHandler (ClassID dataClass)
 
virtual IDataExchangeHandlerNewDataHandler (ClassID dataClass) const
 
virtual IDataExchangeHandlerQueryHandler (const PMFlavor &scrapFlavor) const
 
virtual IDataExchangeHandlerQueryHandler (const ExternalPMFlavor &fromFlavor, const PMFlavor &toFlavor) const
 
virtual void GetInternalizeableFlavors (OrderedFlavorList &flavorList) const
 
virtual IDataExchangeHandlerQueryActiveHandler () const
 
virtual void SetActiveHandler (IDataExchangeHandler *activeHandler)
 
virtual IDataBaseGetScrapDataBase () const
 
virtual ErrorCode Initialize ()
 
virtual bool16 IsValid () const
 
virtual void Purge (int32 level)
 
void AllowPurge ()
 
void DisallowPurge ()
 
bool PurgeIsAllowed () const
 

Additional Inherited Members

- Public Types inherited from IDataExchangeController
enum  { kDefaultIID = IID_IDATAEXCHANGECONTROLLER }
 
- Static Public Member Functions inherited from CDataExchangeController
static void Purge (int32 level, void *refPtr)
 
- Protected Member Functions inherited from CDataExchangeController
virtual IDataExchangeHandlerQueryHandlerToInternalizeData (IPMDataObject *whichItem, DataExchangeResponse &response, const PMFlavor &toFlavor) const
 
virtual IDataExchangeHandlerQueryHandlerToInternalizeData (DataObjectIterator &dataIter, DataExchangeResponse &response, const PMFlavor &toFlavor) const
 
virtual ClassID GetScrapDocBossID () const
 
virtual PMString GetScrapDBFileName () const =0
 
virtual IDataBaseCreateDataBase () const =0
 
virtual void ResetMagicBytes () const =0
 
virtual ErrorCode InitializeScrap ()
 
virtual ErrorCode RevertScrap ()
 
virtual void RunNewScrapResponders ()
 
virtual bool16 IsClipboardExternal () const
 
IDataExchangeHandlerGetActiveHandler () const
 
virtual IDataExchangeHandlerQueryCachedHandler () const
 
virtual void SetCachedHandler (IDataExchangeHandler *handlerToCache)
 
- Protected Attributes inherited from CDataExchangeController
bool16 fInitialized
 
ErrorCode fInitializationErrorCode
 
IDataBasefScrapDB
 
UID fScrapDocID
 
bool16 fScrapDBFailed
 
IPMUnknownfRoot
 
int32 fAllowPurge
 
bool16 fDataHandlersRegistered
 
K2Vector
< DataExchangeHandlerEntry
fDataHandlers
 
IDataExchangeHandlerfActiveHandler
 
IDataExchangeHandlerfCachedHandler
 

Detailed Description

Responsible for managing the Library Panel's scrap. However, InDesign CS2 largely avoids the use of this scrap, owing to its use of INX snippets as an internal data store for asset data. The ISnippetImport and ISnippetExport interfaces manage the direct translation of document data to and from INX snippet asset store without the use of the library scrap. This code is DEPRECATED, though left in to support pre-CS2 library conversion.

Member Function Documentation

virtual void ILibraryScrapController::Cleanup ()
pure virtual

Clean Up.

Reimplemented from CDataExchangeController.

virtual ErrorCode ILibraryScrapController::Clear ()
pure virtual

Emptying the internal Scrap.

Returns
error code
virtual ErrorCode ILibraryScrapController::ExternalizeToLibrary () const
pure virtual

Render the contents of the scrap out to an external library asset.

Returns
error code
virtual ErrorCode ILibraryScrapController::FulfillPromise (IPMDataObjectwhichItem,
const ExternalPMFlavor & whichFlavor 
) const
pure virtual

Fulfill a data promise. Stub inherited from CDataExchangeController.

Parameters
whichItemIN the data item
whichFlavorIN the flavor to fulfill
Returns
error code

Implements IDataExchangeController.

virtual ErrorCode ILibraryScrapController::InternalizeFromLibrary ()
pure virtual

Render the contents of an InDesign 2.0 or CS library asset into the scrap.

Returns
error code
virtual ErrorCode ILibraryScrapController::InternalizeFromOldLibrary ()
pure virtual

Render the contents of an asset from a pre-InDesign 2.0 library into the scrap.

Returns
error code
virtual bool16 ILibraryScrapController::NeedsToInternalize () const
pure virtual

Tell whether external data waiting to be internalized. This method is useful for clients that would like to peek at the actual data to be pasted/dropped/whatever if it has already been internalized, or is internal data. Internalizing can be expensive and should not be called to give user feedback (i.e. menu enabling, drag feedbacck).

Returns
kTrue for data needing to be internalized; kFalse if not

Implements CDataExchangeController.

virtual IDataExchangeHandler* ILibraryScrapController::QueryHandlerForInternalize (DataExchangeResponseresponse,
const PMFlavor & internalizedFlavor = kNoFlavor 
) const
pure virtual

Determine which data exchange handler could best handle the data in a drag.

Parameters
responseOUT response from the data exchange handler
internalizedFlavorIN the preferred internal flavor (native format) if data needs to be converted.
Precondition
a drag must be in progress
Returns
the handler (if any) that can provide the requested conversion.

Implements CDataExchangeController.

virtual void ILibraryScrapController::SetWorkingLibraryAsset (ILibraryAssetlibraryAsset)
pure virtual

Set the asset being accessed currently.

Parameters
libraryAssetIN interface pointer to ILibraryAsset for the asset being accessed.