Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef __I_GUI_TREE_VIEW_H_INCLUDED__
00006 #define __I_GUI_TREE_VIEW_H_INCLUDED__
00007
00008 #include "IGUIElement.h"
00009 #include "IGUIImageList.h"
00010 #include "irrTypes.h"
00011
00012 namespace irr
00013 {
00014 namespace gui
00015 {
00016 class IGUIFont;
00017 class IGUITreeView;
00018
00019
00021
00027 class IGUITreeViewNode : public IReferenceCounted
00028 {
00029 public:
00031 virtual IGUITreeView* getOwner() const = 0;
00032
00034
00035 virtual IGUITreeViewNode* getParent() const = 0;
00036
00038 virtual const wchar_t* getText() const = 0;
00039
00041 virtual void setText( const wchar_t* text ) = 0;
00042
00044 virtual const wchar_t* getIcon() const = 0;
00045
00047 virtual void setIcon( const wchar_t* icon ) = 0;
00048
00050 virtual u32 getImageIndex() const = 0;
00051
00053 virtual void setImageIndex( u32 imageIndex ) = 0;
00054
00056 virtual u32 getSelectedImageIndex() const = 0;
00057
00059 virtual void setSelectedImageIndex( u32 imageIndex ) = 0;
00060
00062 virtual void* getData() const = 0;
00063
00065 virtual void setData( void* data ) = 0;
00066
00068 virtual IReferenceCounted* getData2() const = 0;
00069
00071 virtual void setData2( IReferenceCounted* data ) = 0;
00072
00074 virtual u32 getChildCount() const = 0;
00075
00077 virtual void clearChildren() = 0;
00078
00080
00082 _IRR_DEPRECATED_ void clearChilds()
00083 {
00084 return clearChildren();
00085 }
00086
00088 virtual bool hasChildren() const = 0;
00089
00091
00093 _IRR_DEPRECATED_ bool hasChilds() const
00094 {
00095 return hasChildren();
00096 }
00097
00099
00107 virtual IGUITreeViewNode* addChildBack(
00108 const wchar_t* text, const wchar_t* icon = 0,
00109 s32 imageIndex=-1, s32 selectedImageIndex=-1,
00110 void* data=0, IReferenceCounted* data2=0) =0;
00111
00113
00121 virtual IGUITreeViewNode* addChildFront(
00122 const wchar_t* text, const wchar_t* icon = 0,
00123 s32 imageIndex=-1, s32 selectedImageIndex=-1,
00124 void* data=0, IReferenceCounted* data2=0 ) =0;
00125
00127
00137 virtual IGUITreeViewNode* insertChildAfter(
00138 IGUITreeViewNode* other,
00139 const wchar_t* text, const wchar_t* icon = 0,
00140 s32 imageIndex=-1, s32 selectedImageIndex=-1,
00141 void* data=0, IReferenceCounted* data2=0) =0;
00142
00144
00154 virtual IGUITreeViewNode* insertChildBefore(
00155 IGUITreeViewNode* other,
00156 const wchar_t* text, const wchar_t* icon = 0,
00157 s32 imageIndex=-1, s32 selectedImageIndex=-1,
00158 void* data=0, IReferenceCounted* data2=0) = 0;
00159
00161
00162 virtual IGUITreeViewNode* getFirstChild() const = 0;
00163
00165
00166 virtual IGUITreeViewNode* getLastChild() const = 0;
00167
00169
00172 virtual IGUITreeViewNode* getPrevSibling() const = 0;
00173
00175
00178 virtual IGUITreeViewNode* getNextSibling() const = 0;
00179
00181
00183 virtual IGUITreeViewNode* getNextVisible() const = 0;
00184
00186
00187 virtual bool deleteChild( IGUITreeViewNode* child ) = 0;
00188
00190
00191 virtual bool moveChildUp( IGUITreeViewNode* child ) = 0;
00192
00194
00195 virtual bool moveChildDown( IGUITreeViewNode* child ) = 0;
00196
00198 virtual bool getExpanded() const = 0;
00199
00201 virtual void setExpanded( bool expanded ) = 0;
00202
00204 virtual bool getSelected() const = 0;
00205
00207 virtual void setSelected( bool selected ) = 0;
00208
00210 virtual bool isRoot() const = 0;
00211
00213
00214 virtual s32 getLevel() const = 0;
00215
00217 virtual bool isVisible() const = 0;
00218 };
00219
00220
00222
00225 class IGUITreeView : public IGUIElement
00226 {
00227 public:
00229 IGUITreeView(IGUIEnvironment* environment, IGUIElement* parent,
00230 s32 id, core::rect<s32> rectangle)
00231 : IGUIElement( EGUIET_TREE_VIEW, environment, parent, id, rectangle ) {}
00232
00234 virtual IGUITreeViewNode* getRoot() const = 0;
00235
00237 virtual IGUITreeViewNode* getSelected() const = 0;
00238
00240 virtual bool getLinesVisible() const = 0;
00241
00243
00244 virtual void setLinesVisible( bool visible ) = 0;
00245
00247
00253 virtual void setIconFont( IGUIFont* font ) = 0;
00254
00256
00257 virtual void setImageList( IGUIImageList* imageList ) = 0;
00258
00260 virtual IGUIImageList* getImageList() const = 0;
00261
00263 virtual void setImageLeftOfIcon( bool bLeftOf ) = 0;
00264
00266 virtual bool getImageLeftOfIcon() const = 0;
00267
00269
00270 virtual IGUITreeViewNode* getLastEventNode() const = 0;
00271 };
00272
00273
00274 }
00275 }
00276
00277 #endif
00278