Public Member Functions | Static Public Member Functions | List of all members
ElemAgendaEntry Struct Reference

EditElementHandle residing in an ElementAgenda More...

#include <ElementAgenda.h>

Inheritance diagram for ElemAgendaEntry:
EditElementHandle ElementHandle

Public Member Functions

 ElemAgendaEntry ()
 Create an ElemAgendaEntry which is an EditElementHandle in an ElementAgenda. More...
 
 ElemAgendaEntry (ElementRefP elRef, DgnModelRefP modelRef)
 Create an ElemAgendaEntry which is an EditElementHandle in an ElementAgenda. See EditElementHandle(ElementRefP, DgnModelRefP) More...
 
 ElemAgendaEntry (ElementHandleCR from, bool duplicateDescr)
 Create an ElemAgendaEntry which is an EditElementHandle in an ElementAgenda. See EditElementHandle(ElementHandleCR, bool) More...
 
 ElemAgendaEntry (ElemAgendaEntry const &from)
 Create an ElemAgendaEntry from another ElemAgendaEntry. Any ElementDescriptors contained will not be copied but will have a reference count incremented. More...
 
ElemAgendaEntryoperator= (ElemAgendaEntry const &from)
 Duplicate an element agenda. This will copy an ElemenAgendaEntry. Any ElementDescriptors contained will not be copied but will have a reference count incremented. More...
 
- Public Member Functions inherited from EditElementHandle
 EditElementHandle ()
 construct a blank, invalid, EditElementHandle More...
 
 EditElementHandle (MSElementDescrP descr, bool owned, bool isUnmodified, DgnModelRefP modelRef=0)
 Construct an ElementHandle from an MSElementDescr. More...
 
 EditElementHandle (ElementRefP elRef, DgnModelRefP modelRef=0)
 Construct an ElementHandle from an ElementRefP and a DgnModelRefP. More...
 
 EditElementHandle (MSElementCP el, DgnModelRefP modelRef)
 Construct an ElementHandle from an MSElement and a DgnModelRef. More...
 
 EditElementHandle (ElementId id, DgnModelRefP modelRef)
 Construct an ElementHandle from an ElementId and a DgnModelRefP. More...
 
 EditElementHandle (ElementHandleCR from, bool duplicateDescr)
 Construct an ElementHandle from another element handle. More...
 
void Duplicate (ElementHandleCR)
 Duplicate the element descriptor and its scheduled XAttribute changes. More...
 
void SetModelRef (DgnModelRefP modelRef)
 Change the DgnModelRef for this EditElementHandle. More...
 
void SetNonPersistent ()
 Turn off the "IsUnmodified" flag for this EditElementHandle. More...
 
void Invalidate ()
 Mark this EditElementHandle as invalid. If there is an MSElementDescr associated with this EditElementHandle, it is freed. More...
 
void SetIElementState (IElementStateP state)
 
IElementStateP GetIElementState ()
 
MSElementDescrP GetElementDescrP ()
 Get a writable MSElementDescr from this EditElementHandle. More...
 
MSElementP GetElementP ()
 Get a pointer to a writeable MSElement from this EditElementHandle. More...
 
StatusInt ReplaceElement (MSElementCP el)
 Replace the element associated with this EditElementHandle with a new element. More...
 
StatusInt ReplaceElementDescr (MSElementDescrP elDscr)
 Replace the MSElementDescr associated with the EditElementHandle with a new MSElementDescr. More...
 
MSElementDescrP ExtractElementDescr ()
 Extract and take ownership of the MSElementDescr associated with this EditElementHandle. More...
 
void SetElementDescr (MSElementDescrP elDscr, bool owned, bool isUnmodified, DgnModelRefP modelRef=0)
 Assign a new MSElementDescr to this EditElementHandle. More...
 
void SetElementRef (ElementRefP elRef, DgnModelRefP modelRef)
 Change the ElementRefP and DgnModelRef for this EditElementHandle. More...
 
StatusInt ScheduleWriteXAttribute (XAttributeHandlerIdCR h, UInt32 xAttrId, size_t dataSize, void const *data)
 Schedule the specified XAttribute to be written to the MSElementDescr. More...
 
StatusInt CancelWriteXAttribute (XAttributeHandlerIdCR h, UInt32 xAttrId)
 Cancel out the effects of a prior call to ScheduleWriteXAttribute. More...
 
StatusInt ScheduleDeleteXAttribute (XAttributeHandlerIdCR h, UInt32 xAttrId)
 Schedule removal of the specified XAttribute from the MSElementDescr. More...
 
StatusInt CancelDeleteXAttribute (XAttributeHandlerIdCR h, UInt32 xAttrId)
 Cancel out the effects of a prior call to ScheduleDeleteXAttribute. More...
 
StatusInt FindByID (ElementId elemID, DgnModelP dgnCache, bool allowDeleted=false)
 
StatusInt FindByID (ElementId elemID, DgnModelRefP modelRef, bool allowDeleted=false)
 
StatusInt AddToModel ()
 Add this EditElementHandle to the associated model. More...
 
StatusInt DeleteFromModel ()
 Delete this EditElementHandle from its model. More...
 
StatusInt ReplaceInModel (ElementRefP oldRef)
 Replace the element referred to by the supplied ElementRefP with the modified MSElementDescr held by this EditElementHandle. More...
 
ElementLinkageIterator BeginElementLinkages (UInt16 rl=0)
 Get an iterator over the element's user data linkages. More...
 
ElementLinkageIterator EndElementLinkages ()
 Get an iterator that marks the end of the element's user data linkages. More...
 
StatusInt ReplaceElementLinkage (ElementLinkageIteratorR it, LinkageHeader const &newLinkageHeader, void const *newLinkageData)
 Replace an element data linkage on this element. More...
 
StatusInt RemoveElementLinkage (ElementLinkageIteratorR it)
 Remove an element data linkage from this element. More...
 
StatusInt InsertElementLinkage (ElementLinkageIterator *newLinkageIt, LinkageHeaderCR newLinkageHeader, void const *newLinkageData, ElementLinkageIterator &wh, UInt16 rl=0)
 Add a new element data linkage to this element. More...
 
StatusInt AppendElementLinkage (ElementLinkageIterator *newLinkageIt, LinkageHeaderCR newLinkageHeader, void const *newLinkageData)
 Appends a new element data linkage to the end of this element. More...
 
- Public Member Functions inherited from ElementHandle
 ElementHandle ()
 construct a blank, invalid, ElementHandle More...
 
 ~ElementHandle ()
 
 ElementHandle (ElementRefP elRef, DgnModelRefP modelRef=0)
 Construct an ElementHandle from an ElementRefP and a DgnModelRefP. More...
 
 ElementHandle (ElementId id, DgnModelRefP modelRef)
 Construct an ElementHandle from an ElementId and a DgnModelRefP. More...
 
 ElementHandle (MSElementDescrCP elDscr, bool owned, bool isUnmodified=false, DgnModelRefP modelRef=0)
 Construct an ElementHandle from an MSElementDescr. More...
 
 ElementHandle (MSElementCP el, DgnModelRefP modelRef)
 Construct an ElementHandle from an MSElement and a DgnModelRef. More...
 
 ElementHandle (ElementHandleCR from)
 Copy an ElementHandle. More...
 
ElementId GetElementId () const
 Get the element ID of the element contained in the ElementHandle. More...
 
void ResetHandler () const
 
HandlerGetHandler (MissingHandlerPermissions perm=MISSING_HANDLER_PERMISSION_None) const
 Get the Handler for this ElementHandle. More...
 
DisplayHandlerP GetDisplayHandler () const
 A shortcut method to get a DisplayHandler pointer for the Handler of this ElementHandle, or NULL if the element's Handler does not derive from DisplayHandler. More...
 
IDependencyHandlerP GetIDependencyHandler () const
 A shortcut method to get the IDependencyHandler interface on the Handler for this ElementHandle, or NULL if the element's Handler does not implement that interface. More...
 
ITransactionHandlerP GetITransactionHandler () const
 A shortcut method to get the ITransactionHandler interface on the Handler for this ElementHandle, or NULL if the element's Handler does not implement that interface. More...
 
ITextQueryCP GetITextQuery () const
 A shortcut method to get the ITextQuery interface on the Handler for this ElementHandle, or NULL if the element's Handler does not implement that interface. More...
 
ITextEditP GetITextEdit () const
 A shortcut method to get the ITextEdit interface on the Handler for this ElementHandle, or NULL if the element's Handler does not implement that interface. More...
 
ElementRefP GetElementRef () const
 Get the ElementRefP for this ElementHandle. More...
 
DgnModelP GetDgnModelP () const
 Get a DgnModelP for this ElementHandle. More...
 
DgnFileP GetDgnFileP () const
 Get the DgnFile of the DgnModel for this ElementHandle. More...
 
DgnModelRefP GetModelRef () const
 Get the DgnModelRef for this ElementHandle. More...
 
MSElementCP GetElementCP () const
 Get a const pointer to the MSElement associated with this ElementHandle. More...
 
bool IsValid () const
 Determine whether this ElementHandle is currently valid. More...
 
bool IsPersistent () const
 Determine whether this ElementHandle references an unmodified element in the cache. More...
 
int GetElementType () const
 Get the element type of the element referenced by this ElementHandle. More...
 
void GetElementHeader (Elm_hdr &hdr) const
 Get a copy of the Elm_hdr of the element referenced by this ElementHandle. More...
 
MSElementDescrCP PeekElementDescrCP () const
 Peek to see whether this ElementHandle currently has an MSElementDescr. More...
 
MSElementDescrCP GetElementDescrCP () const
 Get an MSElementDescrCP from this ElementHandle. More...
 
ConstElementLinkageIterator BeginElementLinkages (UInt16 rl=0) const
 Get an iterator over the element's user data linkages. More...
 
ConstElementLinkageIterator EndElementLinkages () const
 Get an iterator that marks the end of the element's user data linkages. More...
 

Static Public Member Functions

static intptr_t GetIndexFromHandleDifference (ElementHandleCP pToolElem, const ElemAgendaEntry *first)
 Return the index of a given ElementHandle in the Agenda. More...
 

Detailed Description

EditElementHandle residing in an ElementAgenda

Constructor & Destructor Documentation

Create an ElemAgendaEntry which is an EditElementHandle in an ElementAgenda.

ElemAgendaEntry ( ElementRefP  elRef,
DgnModelRefP  modelRef 
)
ElemAgendaEntry ( ElementHandleCR  from,
bool  duplicateDescr 
)
ElemAgendaEntry ( ElemAgendaEntry const &  from)

Create an ElemAgendaEntry from another ElemAgendaEntry. Any ElementDescriptors contained will not be copied but will have a reference count incremented.

Member Function Documentation

static intptr_t GetIndexFromHandleDifference ( ElementHandleCP  pToolElem,
const ElemAgendaEntry first 
)
static

Return the index of a given ElementHandle in the Agenda.

ElemAgendaEntry& operator= ( ElemAgendaEntry const &  from)

Duplicate an element agenda. This will copy an ElemenAgendaEntry. Any ElementDescriptors contained will not be copied but will have a reference count incremented.


The documentation for this struct was generated from the following file:

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.