ISXMr/libs/isxdk/include/ISUI/LGUITree.h

100 lines
2.7 KiB
C++

#pragma once
class LGUITreeNode
{
public:
LGUI_API LGUITreeNode(class LGUITree *p_pTree, LGUITreeNode *p_pParent, const char *p_Text, unsigned int p_Color);
LGUI_API ~LGUITreeNode();
bool Render(RECT &bounds, unsigned int height, int &Skip);
bool RenderChildren(RECT &bounds, unsigned int height, int &Skip);
void ClearChildren();
void ToggleExpand();
void Expand(bool bExpand);
void Remove();
void SetText(const char *text);
LGUITreeNode *ParseNode(int argc, char *argv[]);
LGUITreeNode *AddChild(int argc, char *argv[]);
LGUITreeNode *InsertSiblingBefore(int argc, char *argv[]);
LGUITreeNode *InsertSiblingAfter(int argc, char *argv[]);
LGUITreeNode *m_pParent;
LGUITreeNode *m_pChildren;
LGUITreeNode *m_pPrevious;
LGUITreeNode *m_pNext;
LGUITreeNode *WalkTree(bool bIncludeCollapsed);
class LGUITexture *m_pImage;
class LGUITexture *m_pImageCollapsible;
class LGUITexture *m_pImageCollapsed;
const char *m_Text;
bool m_bExpanded;
unsigned int m_Color;
class LGUITree *m_pTree;
MetadataStore *m_pMetadataStore;
const char *GetMetadata(const char *key);
bool SetMetadata(const char *key, const char *value);
bool UnsetMetadata(const char *key);
};
class LGUITree :
public LGUIFrame
{
public:
LGUI_API LGUITree(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
LGUI_API ~LGUITree(void);
LGUI_API class LSTypeDefinition *GetLSType();
LGUI_API void Render();
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
LGUI_API bool IsTypeOf(char *TestFactory);
LGUI_API void OnNotify(LGUIElement *pElement, unsigned int Notification, UINT_PTR Value);
LGUI_API bool OnLMouseDown(POINT2I &pt);
LGUI_API bool OnLMouseUp(POINT2I &pt);
LGUI_API bool OnLMouseDoubleClick(POINT2I &pt);
LGUI_API bool OnRMouseUp(POINT2I &pt);
LGUI_API bool OnRMouseDown(POINT2I &pt);
LGUI_API bool OnMouseMove(POINT2I &pt);
LGUI_API bool OnMouseWheel(int Offset);
LGUITreeNode *GetNodeByHandle(UINT_PTR handle);
LGUITreeNode *GetNodeByQuery(const char *query);
LGUITreeNode *GetNodeByPosition(int X, int Y, bool &bOnImage);
void SetSelected(LGUITreeNode *node);
LGUIFont *pFont;
class LGUITexture *m_pImage;
class LGUITexture *m_pImageCollapsible;
class LGUITexture *m_pImageCollapsed;
unsigned int VisiblePos;
unsigned int IndentPerDepth;
unsigned int ImageSize;
unsigned int ImageBorder;
unsigned int TextMargin;
unsigned int TextColor;
unsigned int ItemHeight;
unsigned int SelectionBackgroundColor;
unsigned int SelectionTextColor;
LGUITreeNode *pRoot;
LGUIScrollBar *pVerticalBar;
LGUIEmbeddedScript *pOnSelect;
LGUIEmbeddedScript *pOnDeSelect;
LGUITreeNode *pSelectedNode;
std::set<LGUITreeNode *> m_AllNodes;
};