From 959831f4ef5a3e797f576c3de08cd65032c997ad Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 13 Jan 2013 18:54:10 +1000 Subject: Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard. --- .../irrlicht-1.8/source/Irrlicht/CGUITreeView.h | 662 ++++++++++----------- 1 file changed, 331 insertions(+), 331 deletions(-) (limited to 'libraries/irrlicht-1.8/source/Irrlicht/CGUITreeView.h') diff --git a/libraries/irrlicht-1.8/source/Irrlicht/CGUITreeView.h b/libraries/irrlicht-1.8/source/Irrlicht/CGUITreeView.h index 36b0280..d9d6f82 100644 --- a/libraries/irrlicht-1.8/source/Irrlicht/CGUITreeView.h +++ b/libraries/irrlicht-1.8/source/Irrlicht/CGUITreeView.h @@ -1,331 +1,331 @@ -// This file is part of the "Irrlicht Engine". -// written by Reinhard Ostermeier, reinhard@nospam.r-ostermeier.de - -#ifndef __C_GUI_TREE_VIEW_H_INCLUDED__ -#define __C_GUI_TREE_VIEW_H_INCLUDED__ - -#include "IGUITreeView.h" -#include "irrList.h" - - -namespace irr -{ -namespace gui -{ - // forward declarations - class IGUIFont; - class IGUIScrollBar; - class CGUITreeView; - - //! Node for gui tree view - class CGUITreeViewNode : public IGUITreeViewNode - { - friend class CGUITreeView; - - public: - //! constructor - CGUITreeViewNode( CGUITreeView* owner, CGUITreeViewNode* parent ); - - //! destructor - ~CGUITreeViewNode(); - - //! returns the owner (tree view) of this node - virtual IGUITreeView* getOwner() const; - - //! Returns the parent node of this node. - virtual IGUITreeViewNode* getParent() const; - - //! returns the text of the node - virtual const wchar_t* getText() const - { return Text.c_str(); } - - //! sets the text of the node - virtual void setText( const wchar_t* text ); - - //! returns the icon text of the node - virtual const wchar_t* getIcon() const - { return Icon.c_str(); } - - //! sets the icon text of the node - virtual void setIcon( const wchar_t* icon ); - - //! returns the image index of the node - virtual u32 getImageIndex() const - { return ImageIndex; } - - //! sets the image index of the node - virtual void setImageIndex( u32 imageIndex ) - { ImageIndex = imageIndex; } - - //! returns the image index of the node - virtual u32 getSelectedImageIndex() const - { return SelectedImageIndex; } - - //! sets the image index of the node - virtual void setSelectedImageIndex( u32 imageIndex ) - { SelectedImageIndex = imageIndex; } - - //! returns the user data (void*) of this node - virtual void* getData() const - { return Data; } - - //! sets the user data (void*) of this node - virtual void setData( void* data ) - { Data = data; } - - //! returns the user data2 (IReferenceCounted) of this node - virtual IReferenceCounted* getData2() const - { return Data2; } - - //! sets the user data2 (IReferenceCounted) of this node - virtual void setData2( IReferenceCounted* data ) - { - if( Data2 ) - { - Data2->drop(); - } - Data2 = data; - if( Data2 ) - { - Data2->grab(); - } - } - - //! returns the child item count - virtual u32 getChildCount() const - { return Children.getSize(); } - - //! removes all children (recursive) from this node - virtual void clearChildren(); - - //! returns true if this node has child nodes - virtual bool hasChildren() const - { return !Children.empty(); } - - //! Adds a new node behind the last child node. - //! \param text text of the new node - //! \param icon icon text of the new node - //! \param imageIndex index of the image for the new node (-1 = none) - //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) - //! \param data user data (void*) of the new node - //! \param data2 user data2 (IReferenceCounted*) of the new node - //! \return - //! returns the new node - virtual IGUITreeViewNode* addChildBack( - const wchar_t* text, - const wchar_t* icon = 0, - s32 imageIndex = -1, - s32 selectedImageIndex = -1, - void* data = 0, - IReferenceCounted* data2 = 0); - - //! Adds a new node before the first child node. - //! \param text text of the new node - //! \param icon icon text of the new node - //! \param imageIndex index of the image for the new node (-1 = none) - //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) - //! \param data user data (void*) of the new node - //! \param data2 user data2 (IReferenceCounted*) of the new node - //! \return - //! returns the new node - virtual IGUITreeViewNode* addChildFront( - const wchar_t* text, - const wchar_t* icon = 0, - s32 imageIndex = -1, - s32 selectedImageIndex = -1, - void* data = 0, - IReferenceCounted* data2 = 0 ); - - //! Adds a new node behind the other node. - //! The other node has also te be a child node from this node. - //! \param text text of the new node - //! \param icon icon text of the new node - //! \param imageIndex index of the image for the new node (-1 = none) - //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) - //! \param data user data (void*) of the new node - //! \param data2 user data2 (IReferenceCounted*) of the new node - //! \return - //! returns the new node or 0 if other is no child node from this - virtual IGUITreeViewNode* insertChildAfter( - IGUITreeViewNode* other, - const wchar_t* text, - const wchar_t* icon = 0, - s32 imageIndex = -1, - s32 selectedImageIndex = -1, - void* data = 0, - IReferenceCounted* data2 = 0 ); - - //! Adds a new node before the other node. - //! The other node has also te be a child node from this node. - //! \param text text of the new node - //! \param icon icon text of the new node - //! \param imageIndex index of the image for the new node (-1 = none) - //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) - //! \param data user data (void*) of the new node - //! \param data2 user data2 (IReferenceCounted*) of the new node - //! \return - //! returns the new node or 0 if other is no child node from this - virtual IGUITreeViewNode* insertChildBefore( - IGUITreeViewNode* other, - const wchar_t* text, - const wchar_t* icon = 0, - s32 imageIndex = -1, - s32 selectedImageIndex = -1, - void* data = 0, - IReferenceCounted* data2 = 0 ); - - //! Return the first child note from this node. - virtual IGUITreeViewNode* getFirstChild() const; - - //! Return the last child note from this node. - virtual IGUITreeViewNode* getLastChild() const; - - //! Returns the preverse sibling node from this node. - virtual IGUITreeViewNode* getPrevSibling() const; - - //! Returns the next sibling node from this node. - virtual IGUITreeViewNode* getNextSibling() const; - - //! Returns the next visible (expanded, may be out of scrolling) node from this node. - virtual IGUITreeViewNode* getNextVisible() const; - - //! Deletes a child node. - virtual bool deleteChild( IGUITreeViewNode* child ); - - //! Moves a child node one position up. - virtual bool moveChildUp( IGUITreeViewNode* child ); - - //! Moves a child node one position down. - virtual bool moveChildDown( IGUITreeViewNode* child ); - - //! Returns true if the node is expanded (children are visible). - virtual bool getExpanded() const - { return Expanded; } - - //! Sets if the node is expanded. - virtual void setExpanded( bool expanded ); - - //! Returns true if the node is currently selected. - virtual bool getSelected() const; - - //! Sets this node as selected. - virtual void setSelected( bool selected ); - - //! Returns true if this node is the root node. - virtual bool isRoot() const; - - //! Returns the level of this node. - virtual s32 getLevel() const; - - //! Returns true if this node is visible (all parents are expanded). - virtual bool isVisible() const; - - private: - - CGUITreeView* Owner; - CGUITreeViewNode* Parent; - core::stringw Text; - core::stringw Icon; - s32 ImageIndex; - s32 SelectedImageIndex; - void* Data; - IReferenceCounted* Data2; - bool Expanded; - core::list Children; - }; - - - //! Default tree view GUI element. - class CGUITreeView : public IGUITreeView - { - friend class CGUITreeViewNode; - - public: - //! constructor - CGUITreeView( IGUIEnvironment* environment, IGUIElement* parent, - s32 id, core::rect rectangle, bool clip = true, - bool drawBack = false, bool scrollBarVertical = true, bool scrollBarHorizontal = true ); - - //! destructor - virtual ~CGUITreeView(); - - //! returns the root node (not visible) from the tree. - virtual IGUITreeViewNode* getRoot() const - { return Root; } - - //! returns the selected node of the tree or 0 if none is selected - virtual IGUITreeViewNode* getSelected() const - { return Selected; } - - //! returns true if the tree lines are visible - virtual bool getLinesVisible() const - { return LinesVisible; } - - //! sets if the tree lines are visible - virtual void setLinesVisible( bool visible ) - { LinesVisible = visible; } - - //! called if an event happened. - virtual bool OnEvent( const SEvent &event ); - - //! draws the element and its children - virtual void draw(); - - //! Sets the font which should be used as icon font. This font is set to the Irrlicht engine - //! built-in-font by default. Icons can be displayed in front of every list item. - //! An icon is a string, displayed with the icon font. When using the build-in-font of the - //! Irrlicht engine as icon font, the icon strings defined in GUIIcons.h can be used. - virtual void setIconFont( IGUIFont* font ); - - //! Sets the image list which should be used for the image and selected image of every node. - //! The default is 0 (no images). - virtual void setImageList( IGUIImageList* imageList ); - - //! Returns the image list which is used for the nodes. - virtual IGUIImageList* getImageList() const - { return ImageList; } - - //! Sets if the image is left of the icon. Default is true. - virtual void setImageLeftOfIcon( bool bLeftOf ) - { ImageLeftOfIcon = bLeftOf; } - - //! Returns if the Image is left of the icon. Default is true. - virtual bool getImageLeftOfIcon() const - { return ImageLeftOfIcon; } - - //! Returns the node which is associated to the last event. - virtual IGUITreeViewNode* getLastEventNode() const - { return LastEventNode; } - - private: - //! calculates the heigth of an node and of all visible nodes. - void recalculateItemHeight(); - - //! executes an mouse action (like selectNew of CGUIListBox) - void mouseAction( s32 xpos, s32 ypos, bool onlyHover = false ); - - CGUITreeViewNode* Root; - IGUITreeViewNode* Selected; - s32 ItemHeight; - s32 IndentWidth; - s32 TotalItemHeight; - s32 TotalItemWidth; - IGUIFont* Font; - IGUIFont* IconFont; - IGUIScrollBar* ScrollBarH; - IGUIScrollBar* ScrollBarV; - IGUIImageList* ImageList; - IGUITreeViewNode* LastEventNode; - bool LinesVisible; - bool Selecting; - bool Clip; - bool DrawBack; - bool ImageLeftOfIcon; - }; - - -} // end namespace gui -} // end namespace irr - -#endif - +// This file is part of the "Irrlicht Engine". +// written by Reinhard Ostermeier, reinhard@nospam.r-ostermeier.de + +#ifndef __C_GUI_TREE_VIEW_H_INCLUDED__ +#define __C_GUI_TREE_VIEW_H_INCLUDED__ + +#include "IGUITreeView.h" +#include "irrList.h" + + +namespace irr +{ +namespace gui +{ + // forward declarations + class IGUIFont; + class IGUIScrollBar; + class CGUITreeView; + + //! Node for gui tree view + class CGUITreeViewNode : public IGUITreeViewNode + { + friend class CGUITreeView; + + public: + //! constructor + CGUITreeViewNode( CGUITreeView* owner, CGUITreeViewNode* parent ); + + //! destructor + ~CGUITreeViewNode(); + + //! returns the owner (tree view) of this node + virtual IGUITreeView* getOwner() const; + + //! Returns the parent node of this node. + virtual IGUITreeViewNode* getParent() const; + + //! returns the text of the node + virtual const wchar_t* getText() const + { return Text.c_str(); } + + //! sets the text of the node + virtual void setText( const wchar_t* text ); + + //! returns the icon text of the node + virtual const wchar_t* getIcon() const + { return Icon.c_str(); } + + //! sets the icon text of the node + virtual void setIcon( const wchar_t* icon ); + + //! returns the image index of the node + virtual u32 getImageIndex() const + { return ImageIndex; } + + //! sets the image index of the node + virtual void setImageIndex( u32 imageIndex ) + { ImageIndex = imageIndex; } + + //! returns the image index of the node + virtual u32 getSelectedImageIndex() const + { return SelectedImageIndex; } + + //! sets the image index of the node + virtual void setSelectedImageIndex( u32 imageIndex ) + { SelectedImageIndex = imageIndex; } + + //! returns the user data (void*) of this node + virtual void* getData() const + { return Data; } + + //! sets the user data (void*) of this node + virtual void setData( void* data ) + { Data = data; } + + //! returns the user data2 (IReferenceCounted) of this node + virtual IReferenceCounted* getData2() const + { return Data2; } + + //! sets the user data2 (IReferenceCounted) of this node + virtual void setData2( IReferenceCounted* data ) + { + if( Data2 ) + { + Data2->drop(); + } + Data2 = data; + if( Data2 ) + { + Data2->grab(); + } + } + + //! returns the child item count + virtual u32 getChildCount() const + { return Children.getSize(); } + + //! removes all children (recursive) from this node + virtual void clearChildren(); + + //! returns true if this node has child nodes + virtual bool hasChildren() const + { return !Children.empty(); } + + //! Adds a new node behind the last child node. + //! \param text text of the new node + //! \param icon icon text of the new node + //! \param imageIndex index of the image for the new node (-1 = none) + //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) + //! \param data user data (void*) of the new node + //! \param data2 user data2 (IReferenceCounted*) of the new node + //! \return + //! returns the new node + virtual IGUITreeViewNode* addChildBack( + const wchar_t* text, + const wchar_t* icon = 0, + s32 imageIndex = -1, + s32 selectedImageIndex = -1, + void* data = 0, + IReferenceCounted* data2 = 0); + + //! Adds a new node before the first child node. + //! \param text text of the new node + //! \param icon icon text of the new node + //! \param imageIndex index of the image for the new node (-1 = none) + //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) + //! \param data user data (void*) of the new node + //! \param data2 user data2 (IReferenceCounted*) of the new node + //! \return + //! returns the new node + virtual IGUITreeViewNode* addChildFront( + const wchar_t* text, + const wchar_t* icon = 0, + s32 imageIndex = -1, + s32 selectedImageIndex = -1, + void* data = 0, + IReferenceCounted* data2 = 0 ); + + //! Adds a new node behind the other node. + //! The other node has also te be a child node from this node. + //! \param text text of the new node + //! \param icon icon text of the new node + //! \param imageIndex index of the image for the new node (-1 = none) + //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) + //! \param data user data (void*) of the new node + //! \param data2 user data2 (IReferenceCounted*) of the new node + //! \return + //! returns the new node or 0 if other is no child node from this + virtual IGUITreeViewNode* insertChildAfter( + IGUITreeViewNode* other, + const wchar_t* text, + const wchar_t* icon = 0, + s32 imageIndex = -1, + s32 selectedImageIndex = -1, + void* data = 0, + IReferenceCounted* data2 = 0 ); + + //! Adds a new node before the other node. + //! The other node has also te be a child node from this node. + //! \param text text of the new node + //! \param icon icon text of the new node + //! \param imageIndex index of the image for the new node (-1 = none) + //! \param selectedImageIndex index of the selected image for the new node (-1 = same as imageIndex) + //! \param data user data (void*) of the new node + //! \param data2 user data2 (IReferenceCounted*) of the new node + //! \return + //! returns the new node or 0 if other is no child node from this + virtual IGUITreeViewNode* insertChildBefore( + IGUITreeViewNode* other, + const wchar_t* text, + const wchar_t* icon = 0, + s32 imageIndex = -1, + s32 selectedImageIndex = -1, + void* data = 0, + IReferenceCounted* data2 = 0 ); + + //! Return the first child note from this node. + virtual IGUITreeViewNode* getFirstChild() const; + + //! Return the last child note from this node. + virtual IGUITreeViewNode* getLastChild() const; + + //! Returns the preverse sibling node from this node. + virtual IGUITreeViewNode* getPrevSibling() const; + + //! Returns the next sibling node from this node. + virtual IGUITreeViewNode* getNextSibling() const; + + //! Returns the next visible (expanded, may be out of scrolling) node from this node. + virtual IGUITreeViewNode* getNextVisible() const; + + //! Deletes a child node. + virtual bool deleteChild( IGUITreeViewNode* child ); + + //! Moves a child node one position up. + virtual bool moveChildUp( IGUITreeViewNode* child ); + + //! Moves a child node one position down. + virtual bool moveChildDown( IGUITreeViewNode* child ); + + //! Returns true if the node is expanded (children are visible). + virtual bool getExpanded() const + { return Expanded; } + + //! Sets if the node is expanded. + virtual void setExpanded( bool expanded ); + + //! Returns true if the node is currently selected. + virtual bool getSelected() const; + + //! Sets this node as selected. + virtual void setSelected( bool selected ); + + //! Returns true if this node is the root node. + virtual bool isRoot() const; + + //! Returns the level of this node. + virtual s32 getLevel() const; + + //! Returns true if this node is visible (all parents are expanded). + virtual bool isVisible() const; + + private: + + CGUITreeView* Owner; + CGUITreeViewNode* Parent; + core::stringw Text; + core::stringw Icon; + s32 ImageIndex; + s32 SelectedImageIndex; + void* Data; + IReferenceCounted* Data2; + bool Expanded; + core::list Children; + }; + + + //! Default tree view GUI element. + class CGUITreeView : public IGUITreeView + { + friend class CGUITreeViewNode; + + public: + //! constructor + CGUITreeView( IGUIEnvironment* environment, IGUIElement* parent, + s32 id, core::rect rectangle, bool clip = true, + bool drawBack = false, bool scrollBarVertical = true, bool scrollBarHorizontal = true ); + + //! destructor + virtual ~CGUITreeView(); + + //! returns the root node (not visible) from the tree. + virtual IGUITreeViewNode* getRoot() const + { return Root; } + + //! returns the selected node of the tree or 0 if none is selected + virtual IGUITreeViewNode* getSelected() const + { return Selected; } + + //! returns true if the tree lines are visible + virtual bool getLinesVisible() const + { return LinesVisible; } + + //! sets if the tree lines are visible + virtual void setLinesVisible( bool visible ) + { LinesVisible = visible; } + + //! called if an event happened. + virtual bool OnEvent( const SEvent &event ); + + //! draws the element and its children + virtual void draw(); + + //! Sets the font which should be used as icon font. This font is set to the Irrlicht engine + //! built-in-font by default. Icons can be displayed in front of every list item. + //! An icon is a string, displayed with the icon font. When using the build-in-font of the + //! Irrlicht engine as icon font, the icon strings defined in GUIIcons.h can be used. + virtual void setIconFont( IGUIFont* font ); + + //! Sets the image list which should be used for the image and selected image of every node. + //! The default is 0 (no images). + virtual void setImageList( IGUIImageList* imageList ); + + //! Returns the image list which is used for the nodes. + virtual IGUIImageList* getImageList() const + { return ImageList; } + + //! Sets if the image is left of the icon. Default is true. + virtual void setImageLeftOfIcon( bool bLeftOf ) + { ImageLeftOfIcon = bLeftOf; } + + //! Returns if the Image is left of the icon. Default is true. + virtual bool getImageLeftOfIcon() const + { return ImageLeftOfIcon; } + + //! Returns the node which is associated to the last event. + virtual IGUITreeViewNode* getLastEventNode() const + { return LastEventNode; } + + private: + //! calculates the heigth of an node and of all visible nodes. + void recalculateItemHeight(); + + //! executes an mouse action (like selectNew of CGUIListBox) + void mouseAction( s32 xpos, s32 ypos, bool onlyHover = false ); + + CGUITreeViewNode* Root; + IGUITreeViewNode* Selected; + s32 ItemHeight; + s32 IndentWidth; + s32 TotalItemHeight; + s32 TotalItemWidth; + IGUIFont* Font; + IGUIFont* IconFont; + IGUIScrollBar* ScrollBarH; + IGUIScrollBar* ScrollBarV; + IGUIImageList* ImageList; + IGUITreeViewNode* LastEventNode; + bool LinesVisible; + bool Selecting; + bool Clip; + bool DrawBack; + bool ImageLeftOfIcon; + }; + + +} // end namespace gui +} // end namespace irr + +#endif + -- cgit v1.1