20 #ifndef INC_C4ObjectList
21 #define INC_C4ObjectList
107 virtual void Clear();
129 bool Write(
char *szTarget);
C4ObjectListChangeListener & ObjectListChangeListener
C4NotifyingObjectList(const C4ObjectList &list)
C4NotifyingObjectList(const C4NotifyingObjectList &list)=default
void InsertLink(C4ObjectLink *link, C4ObjectLink *after_link) override
~C4NotifyingObjectList() override=default
void InsertLinkBefore(C4ObjectLink *link, C4ObjectLink *before_link) override
C4NotifyingObjectList()=default
void RemoveLink(C4ObjectLink *link) override
ReverseView(const C4ObjectList &list)
iterator & operator=(const iterator &iter)
iterator(const iterator &iter)
bool find(C4Object *target)
bool operator!=(const iterator &iter) const
bool operator==(const iterator &iter) const
virtual void OnObjectContainerChanged(C4Object *obj, C4Object *old_container, C4Object *new_container)
virtual void OnObjectRename(C4ObjectList *list, C4ObjectLink *link)
virtual void OnObjectRemove(C4ObjectList *list, C4ObjectLink *link)
virtual void OnObjectAdded(C4ObjectList *list, C4ObjectLink *link)
virtual ~C4ObjectListChangeListener()=default
bool DenumeratePointers()
void UpdateFaces(bool update_shape)
void UpdateGraphics(bool graphics_changed)
void UpdateScriptPointers()
bool ShiftContents(C4Object *new_first)
virtual bool AssignInfo()
int ListIDCount(int32_t dwCategory) const
C4Object * GetLastObject() const
bool AddSortCustom(C4Object *new_obj, SortProc &pSortProc)
void Copy(const C4ObjectList &list)
C4Object * GetFirstObject() const
virtual void InsertLinkBefore(C4ObjectLink *link, C4ObjectLink *before_link)
int SortProc(C4Object *, C4Object *)
void Draw(C4TargetFacet &cgo, int player, int MinPlane, int MaxPlane)
iterator * AddIter(iterator *iter) const
bool Write(char *szTarget)
void DrawSelectMark(C4TargetFacet &cgo) const
const C4ObjectLink * GetLink(const C4Object *obj) const
virtual bool Add(C4Object *new_obj, SortType sort_type, C4ObjectList *sorted_list=nullptr)
virtual bool ValidateOwners()
virtual void RemoveLink(C4ObjectLink *link)
C4ID GetListID(int32_t dwCategory, int index) const
const ReverseView reverse() const
C4Object * Find(C4Def *def, int owner=ANY_OWNER, DWORD dwOCF=OCF_All)
virtual bool Remove(C4Object *obj)
virtual void InsertLink(C4ObjectLink *link, C4ObjectLink *after_link)
int ObjectCount(C4ID id=C4ID::None) const
void CompileFunc(StdCompiler *pComp, C4ValueNumbers *=nullptr)
void ClearInfo(C4ObjectInfo *info)
C4ObjectLink * GetLink(const C4Object *obj)
StdStrBuf GetNameList(C4DefList &defs) const
std::list< int32_t > * pEnumerated
int ClearPointers(C4Object *obj)
bool IsContained(const C4Object *obj) const
C4Object * FindOther(C4ID id, int owner=ANY_OWNER)
bool CheckSort(C4ObjectList *list)
void DrawIfCategory(C4TargetFacet &cgo, int player, uint32_t dwCategory, bool invert)
void Denumerate(C4ValueNumbers *)
const iterator end() const
C4Object * GetObject(int index=0) const
void RemoveIter(iterator *iter) const
C4Object * GetNext(int32_t *piCount)
C4ObjectListIterator(C4ObjectList &rList)