28 mLayerItems.push_back(_item);
29 if (mLayerNode !=
nullptr)
37 VectorLayerItem::iterator item = std::remove(mLayerItems.begin(), mLayerItems.end(), _item);
38 MYGUI_ASSERT(item != mLayerItems.end(),
"item not found");
39 mLayerItems.erase(item);
44 mLayerNodes.push_back(_item);
45 if (mLayerNode !=
nullptr)
55 VectorLayerItem::iterator item = std::remove(mLayerNodes.begin(), mLayerNodes.end(), _item);
56 MYGUI_ASSERT(item != mLayerNodes.end(),
"item not found");
57 mLayerNodes.erase(item);
62 mDrawItems.push_back(_item);
73 if (mTexture == _texture)
88 mSaveLayerNode = mLayerNode;
93 mLayerNode = mSaveLayerNode;
111 if (
nullptr == mLayer)
128 mLayerNode =
nullptr;
149 for (VectorSubWidget::iterator skin = mDrawItems.begin(); skin != mDrawItems.end(); ++skin)
151 (*skin)->createDrawItem(mTexture, _item);
154 for (VectorLayerItem::iterator item = mLayerItems.begin(); item != mLayerItems.end(); ++item)
156 (*item)->attachToLayerItemNode(_item, _deep);
159 for (VectorLayerItem::iterator item = mLayerNodes.begin(); item != mLayerNodes.end(); ++item)
165 (*item)->attachToLayerItemNode(child_node, _deep);
172 for (VectorLayerItem::iterator item = mLayerItems.begin(); item != mLayerItems.end(); ++item)
174 (*item)->detachFromLayerItemNode(_deep);
177 for (VectorLayerItem::iterator item = mLayerNodes.begin(); item != mLayerNodes.end(); ++item)
182 (*item)->detachFromLayerItemNode(_deep);
195 for (VectorSubWidget::iterator skin = mDrawItems.begin(); skin != mDrawItems.end(); ++skin)
197 (*skin)->destroyDrawItem();
206 mLayerNode =
nullptr;
void addChildNode(LayerItem *_item)
void addChildItem(LayerItem *_item)
virtual ILayerNode * getParent() const =0
virtual void detachFromLayer()
void detachFromLayerItemNode(bool _deep)
virtual void attachItemToNode(ILayer *_layer, ILayerNode *_node)
void setRenderItemTexture(ITexture *_texture)
virtual void upLayerItem()
virtual void upChildItemNode(ILayerNode *_node)=0
void removeChildNode(LayerItem *_item)
virtual ILayerNode * createChildItemNode()=0
void attachToLayerItemNode(ILayerNode *_node, bool _deep)
#define MYGUI_ASSERT(exp, dest)
void removeAllRenderItems()
virtual void destroyChildItemNode(ILayerNode *_node)=0
void addRenderItem(ISubWidget *_item)
void removeChildItem(LayerItem *_item)
#define MYGUI_DEBUG_ASSERT(exp, dest)
virtual ILayer * getLayer() const =0
ILayer * getLayer() const
virtual void detachLayerItem(ILayerItem *_root)=0
ILayerNode * getLayerNode() const