ImagingTools Core SDK
Public Member Functions | List of all members
imtbase::IOrderedObjectCollectionabstract

#include <IOrderedObjectCollection.h>

Inheritance diagram for imtbase::IOrderedObjectCollection:
imtbase::IObjectCollection imtbase::IObjectCollectionInfo imtbase::ICollectionInfo imtbase::COrderedObjectCollectionProxy

Public Member Functions

virtual bool SetItemOrder (const Id &itemId, int position)=0
 
virtual int GetItemOrder (const Id &itemId) const =0
 
virtual bool SetItemsOrder (const Ids &orderedIds)=0
 
virtual Ids GetOrderedItemIds () const =0
 
virtual bool ResetItemOrder ()=0
 
- Public Member Functions inherited from imtbase::IObjectCollection
virtual const IRevisionControllerGetRevisionController () const =0
 
virtual const ICollectionDataControllerGetDataController () const =0
 
virtual int GetOperationFlags (const Id &elementId=Id()) const =0
 
virtual Id InsertNewObject (const QByteArray &typeId, const QString &name, const QString &description, const istd::IChangeable *defaultValuePtr=nullptr, const Id &proposedElementId=Id(), const idoc::IDocumentMetaInfo *dataMetaInfoPtr=nullptr, const idoc::IDocumentMetaInfo *elementMetaInfoPtr=nullptr, const IOperationContext *operationContextPtr=nullptr)=0
 
virtual bool RemoveElements (const Ids &elementIds, const IOperationContext *operationContextPtr=nullptr)=0
 
virtual bool RemoveElementSet (const iprm::IParamsSet *selectionParamsPtr=nullptr, const IOperationContext *operationContextPtr=nullptr)=0
 
virtual bool RestoreObjects (const Ids &objectIds, const IOperationContext *operationContextPtr=nullptr)=0
 
virtual bool RestoreObjectSet (const iprm::IParamsSet *selectionParamsPtr=nullptr, const IOperationContext *operationContextPtr=nullptr)=0
 
virtual const istd::IChangeable * GetObjectPtr (const Id &objectId) const =0
 
template<typename Interface >
const Interface * GetObjectPtr (const Id &objectId) const
 
virtual bool GetObjectData (const Id &objectId, DataPtr &dataPtr, const iprm::IParamsSet *dataConfigurationPtr=nullptr) const =0
 
virtual bool SetObjectData (const Id &objectId, const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS, const IOperationContext *operationContextPtr=nullptr)=0
 
virtual istd::TUniqueInterfacePtr< IObjectCollectionCreateSubCollection (int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr) const =0
 
virtual imtbase::IObjectCollectionIteratorCreateObjectCollectionIterator (const QByteArray &objectId=QByteArray(), int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr) const =0
 
virtual void ResetObjectIds ()
 
- Public Member Functions inherited from imtbase::IObjectCollectionInfo
virtual const iprm::IOptionsList * GetObjectTypesInfo () const =0
 
virtual Id GetObjectTypeId (const Id &objectId) const =0
 
virtual idoc::MetaInfoPtr GetDataMetaInfo (const Id &objectId) const =0
 
- Public Member Functions inherited from imtbase::ICollectionInfo
virtual int GetElementsCount (const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual Ids GetElementIds (int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual bool GetSubsetInfo (ICollectionInfo &subsetInfo, int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual QVariant GetElementInfo (const Id &elementId, int infoType, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual idoc::MetaInfoPtr GetElementMetaInfo (const Id &elementId, ilog::IMessageConsumer *logPtr=nullptr) const =0
 
virtual bool SetElementName (const Id &elementId, const QString &name, ilog::IMessageConsumer *logPtr=nullptr)=0
 
virtual bool SetElementDescription (const Id &elementId, const QString &description, ilog::IMessageConsumer *logPtr=nullptr)=0
 
virtual bool SetElementEnabled (const Id &elementId, bool isEnabled=true, ilog::IMessageConsumer *logPtr=nullptr)=0
 

Additional Inherited Members

- Public Types inherited from imtbase::IObjectCollection
enum  OperationalFlags {
  OF_SUPPORT_RENAME = 1 , OF_SUPPORT_INSERT = 2 , OF_SUPPORT_DELETE = 4 , OF_SUPPORT_EDIT = 8 ,
  OF_SUPPORT_USING = 16 , OF_SUPPORT_PAGINATION = 32 , OF_ALL = OF_SUPPORT_RENAME | OF_SUPPORT_INSERT | OF_SUPPORT_DELETE | OF_SUPPORT_EDIT | OF_SUPPORT_USING | OF_SUPPORT_PAGINATION
}
 
- Public Types inherited from imtbase::ICollectionInfo
enum  ChangeFlags {
  CF_ADDED = 10000 , CF_ELEMENT_RENAMED , CF_ELEMENT_DESCRIPTION_CHANGED , CF_ELEMENT_STATE ,
  CF_REMOVED , CF_RESTORED , CF_LAST
}
 
enum  ElementInfoType { EIT_NAME , EIT_DESCRIPTION , EIT_ENABLED , EIT_USER = 1000 }
 
enum  MetaInfoType {
  MIT_INSERTION_USER = idoc::IDocumentMetaInfo::MIT_USER + 10000 , MIT_INSERTION_TIME , MIT_LAST_OPERATION_USER , MIT_LAST_OPERATION_TIME ,
  MIT_PREVIEW_THUMBNAIL , MIT_REVISION = idoc::IDocumentMetaInfo::MIT_USER + 20000
}
 

Detailed Description

Interface for an object collection that supports explicit item ordering. This facade extends IObjectCollection to allow setting custom order for items.

Definition at line 22 of file IOrderedObjectCollection.h.

Member Function Documentation

◆ GetItemOrder()

virtual int imtbase::IOrderedObjectCollection::GetItemOrder ( const Id &  itemId) const
pure virtual

Get the current position/order of an item in the collection.

Parameters
itemIdID of the item
Returns
The position (0-based index) of the item, or -1 if not found

◆ GetOrderedItemIds()

virtual Ids imtbase::IOrderedObjectCollection::GetOrderedItemIds ( ) const
pure virtual

Get all item IDs in their current custom order if a custom order is active. If no custom order is set, the items are returned in the parent collection's default order.

Returns
List of item IDs in the effective order (custom order if set, otherwise default order)

◆ ResetItemOrder()

virtual bool imtbase::IOrderedObjectCollection::ResetItemOrder ( )
pure virtual

Reset the custom ordering to default (typically insertion order or ID order).

Returns
True if the operation was successful

◆ SetItemOrder()

virtual bool imtbase::IOrderedObjectCollection::SetItemOrder ( const Id &  itemId,
int  position 
)
pure virtual

Set the position/order of an item in the collection.

Parameters
itemIdID of the item to reorder
positionTarget position (0-based index) for the item
Returns
True if the operation was successful

◆ SetItemsOrder()

virtual bool imtbase::IOrderedObjectCollection::SetItemsOrder ( const Ids &  orderedIds)
pure virtual

Reorder all items by providing a complete ordered list of IDs.

Parameters
orderedIdsList of item IDs in the desired order
Returns
True if the operation was successful