aboutsummaryrefslogtreecommitdiff
path: root/sp/src/public/vgui_controls/TreeView.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /sp/src/public/vgui_controls/TreeView.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/public/vgui_controls/TreeView.h')
-rw-r--r--sp/src/public/vgui_controls/TreeView.h406
1 files changed, 203 insertions, 203 deletions
diff --git a/sp/src/public/vgui_controls/TreeView.h b/sp/src/public/vgui_controls/TreeView.h
index 141469c4..521d1691 100644
--- a/sp/src/public/vgui_controls/TreeView.h
+++ b/sp/src/public/vgui_controls/TreeView.h
@@ -1,203 +1,203 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef TREEVIEW_H
-#define TREEVIEW_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include <utllinkedlist.h>
-#include <utlvector.h>
-#include <vgui/VGUI.h>
-#include <vgui_controls/Panel.h>
-
-class KeyValues;
-
-namespace vgui
-{
-
-class ExpandButton;
-class TreeNode;
-class TreeViewSubPanel;
-
-// sorting function, should return true if node1 should be displayed before node2
-typedef bool (*TreeViewSortFunc_t)(KeyValues *node1, KeyValues *node2);
-
-class TreeView : public Panel
-{
- DECLARE_CLASS_SIMPLE( TreeView, Panel );
-
-public:
- TreeView(Panel *parent, const char *panelName);
- ~TreeView();
-
- void SetSortFunc(TreeViewSortFunc_t pSortFunc);
-
- virtual int AddItem(KeyValues *data, int parentItemIndex);
-
- virtual int GetRootItemIndex();
- virtual int GetNumChildren( int itemIndex );
- virtual int GetChild( int iParentItemIndex, int iChild ); // between 0 and GetNumChildren( iParentItemIndex ).
-
- virtual int GetItemCount(void);
- virtual KeyValues *GetItemData(int itemIndex);
- virtual void RemoveItem(int itemIndex, bool bPromoteChildren, bool bRecursivelyRemove = false );
- virtual void RemoveAll();
- virtual bool ModifyItem(int itemIndex, KeyValues *data);
- virtual int GetItemParent(int itemIndex);
-
- virtual void SetFont(HFont font);
-
- virtual void SetImageList(ImageList *imageList, bool deleteImageListWhenDone);
-
- void SetAllowMultipleSelections( bool state );
- bool IsMultipleSelectionAllowed() const;
-
- virtual void ClearSelection();
- virtual void AddSelectedItem( int itemIndex, bool clearCurrentSelection, bool requestFocus = true, bool bMakeItemVisible = true );
- virtual void RemoveSelectedItem( int itemIndex );
- virtual void SelectAll();
-
- virtual bool IsItemSelected( int itemIndex );
- virtual void RangeSelectItems( int clickedItem );
- virtual void FindNodesInRange( int startItem, int endItem, CUtlVector< int >& itemIndices );
-
- // returns the id of the currently selected item, -1 if nothing is selected
- virtual int GetSelectedItemCount() const;
- virtual int GetFirstSelectedItem() const;
- virtual void GetSelectedItems( CUtlVector< int >& list );
- virtual void GetSelectedItemData( CUtlVector< KeyValues * >& list );
-
- // set colors for individual elments
- virtual void SetItemFgColor(int itemIndex, const Color& color);
- virtual void SetItemBgColor(int itemIndex, const Color& color);
- virtual void SetItemSelectionTextColor( int itemIndex, const Color& clr );
- virtual void SetItemSelectionBgColor( int itemIndex, const Color& clr );
- virtual void SetItemSelectionUnfocusedBgColor( int itemIndex, const Color& clr );
-
- // returns true if the itemID is valid for use
- virtual bool IsItemIDValid(int itemIndex);
-
- // item iterators
- // iterate from [0..GetHighestItemID()],
- // and check each with IsItemIDValid() before using
- virtual int GetHighestItemID();
-
- virtual void ExpandItem(int itemIndex, bool bExpand);
- virtual bool IsItemExpanded( int itemIndex );
-
- virtual void MakeItemVisible(int itemIndex);
-
- // This tells which of the visible items is the top one.
- virtual void GetVBarInfo( int &top, int &nItemsVisible, bool& hbarVisible );
-
- virtual HFont GetFont();
-
- virtual void GenerateDragDataForItem( int itemIndex, KeyValues *msg );
- virtual void SetDragEnabledItems( bool state );
-
- virtual void OnLabelChanged( int itemIndex, char const *oldString, char const *newString );
- virtual bool IsLabelEditingAllowed() const;
- virtual bool IsLabelBeingEdited() const;
- virtual void SetAllowLabelEditing( bool state );
-
- /* message sent
-
- "TreeViewItemSelected" int "itemIndex"
- called when the selected item changes
- "TreeViewItemDeselected" int "itemIndex"
- called when item is deselected
- */
- int GetRowHeight();
- int GetVisibleMaxWidth();
- virtual void OnMousePressed(MouseCode code);
-
- // By default, the tree view expands nodes on left-click. This enables/disables that feature
- void EnableExpandTreeOnLeftClick( bool bEnable );
-
- virtual void SetLabelEditingAllowed( int itemIndex, bool state );
- virtual void StartEditingLabel( int itemIndex );
-
- virtual bool IsItemDroppable( int itemIndex, CUtlVector< KeyValues * >& msglist );
- virtual void OnItemDropped( int itemIndex, CUtlVector< KeyValues * >& msglist );
- virtual bool GetItemDropContextMenu( int itemIndex, Menu *menu, CUtlVector< KeyValues * >& msglist );
- virtual HCursor GetItemDropCursor( int itemIndex, CUtlVector< KeyValues * >& msglist );
-
- virtual int GetPrevChildItemIndex( int itemIndex );
- virtual int GetNextChildItemIndex( int itemIndex );
-
- virtual void PerformLayout();
-
- // Makes the scrollbar parented to some other panel...
- ScrollBar *SetScrollBarExternal( bool vertical, Panel *newParent );
- void GetScrollBarSize( bool vertical, int& w, int& h );
-
- void SetMultipleItemDragEnabled( bool state ); // if this is set, then clicking on one row and dragging will select a run or items, etc.
- bool IsMultipleItemDragEnabled() const;
-
- int FindItemUnderMouse( int mx, int my );
-
-protected:
- // functions to override
- // called when a node, marked as "Expand", needs to generate it's child nodes when expanded
- virtual void GenerateChildrenOfNode(int itemIndex) {}
-
- // override to open a custom context menu on a node being selected and right-clicked
- virtual void GenerateContextMenu( int itemIndex, int x, int y ) {}
-
- // overrides
- virtual void OnMouseWheeled(int delta);
- virtual void OnSizeChanged(int wide, int tall);
- virtual void ApplySchemeSettings(IScheme *pScheme);
- MESSAGE_FUNC_INT( OnSliderMoved, "ScrollBarSliderMoved", position );
- virtual void SetBgColor( Color color );
-
-private:
- friend class TreeNode;
- friend class TreeNodeText;
-
- TreeNode* GetItem( int itemIndex );
- virtual void RemoveChildrenOfNode( int itemIndex );
- void SetLabelBeingEdited( bool state );
-
- // Clean up the image list
- void CleanUpImageList( );
-
- // to be accessed by TreeNodes
- IImage* GetImage(int index);
-
- // bools
- bool m_bAllowLabelEditing : 1;
- bool m_bDragEnabledItems : 1;
- bool m_bDeleteImageListWhenDone : 1;
- bool m_bLeftClickExpandsTree : 1;
- bool m_bLabelBeingEdited : 1;
- bool m_bMultipleItemDragging : 1;
- bool m_bAllowMultipleSelections : 1;
-
- // cross reference - no hierarchy ordering in this list
- CUtlLinkedList<TreeNode *, int> m_NodeList;
- ScrollBar *m_pHorzScrollBar, *m_pVertScrollBar;
- int m_nRowHeight;
-
- ImageList *m_pImageList;
- TreeNode *m_pRootNode;
- TreeViewSortFunc_t m_pSortFunc;
- HFont m_Font;
-
- CUtlVector< TreeNode * > m_SelectedItems;
- TreeViewSubPanel *m_pSubPanel;
-
- int m_nMostRecentlySelectedItem;
- bool m_bScrollbarExternal[ 2 ]; // 0 = vert, 1 = horz
-};
-
-}
-
-#endif // TREEVIEW_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef TREEVIEW_H
+#define TREEVIEW_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include <utllinkedlist.h>
+#include <utlvector.h>
+#include <vgui/VGUI.h>
+#include <vgui_controls/Panel.h>
+
+class KeyValues;
+
+namespace vgui
+{
+
+class ExpandButton;
+class TreeNode;
+class TreeViewSubPanel;
+
+// sorting function, should return true if node1 should be displayed before node2
+typedef bool (*TreeViewSortFunc_t)(KeyValues *node1, KeyValues *node2);
+
+class TreeView : public Panel
+{
+ DECLARE_CLASS_SIMPLE( TreeView, Panel );
+
+public:
+ TreeView(Panel *parent, const char *panelName);
+ ~TreeView();
+
+ void SetSortFunc(TreeViewSortFunc_t pSortFunc);
+
+ virtual int AddItem(KeyValues *data, int parentItemIndex);
+
+ virtual int GetRootItemIndex();
+ virtual int GetNumChildren( int itemIndex );
+ virtual int GetChild( int iParentItemIndex, int iChild ); // between 0 and GetNumChildren( iParentItemIndex ).
+
+ virtual int GetItemCount(void);
+ virtual KeyValues *GetItemData(int itemIndex);
+ virtual void RemoveItem(int itemIndex, bool bPromoteChildren, bool bRecursivelyRemove = false );
+ virtual void RemoveAll();
+ virtual bool ModifyItem(int itemIndex, KeyValues *data);
+ virtual int GetItemParent(int itemIndex);
+
+ virtual void SetFont(HFont font);
+
+ virtual void SetImageList(ImageList *imageList, bool deleteImageListWhenDone);
+
+ void SetAllowMultipleSelections( bool state );
+ bool IsMultipleSelectionAllowed() const;
+
+ virtual void ClearSelection();
+ virtual void AddSelectedItem( int itemIndex, bool clearCurrentSelection, bool requestFocus = true, bool bMakeItemVisible = true );
+ virtual void RemoveSelectedItem( int itemIndex );
+ virtual void SelectAll();
+
+ virtual bool IsItemSelected( int itemIndex );
+ virtual void RangeSelectItems( int clickedItem );
+ virtual void FindNodesInRange( int startItem, int endItem, CUtlVector< int >& itemIndices );
+
+ // returns the id of the currently selected item, -1 if nothing is selected
+ virtual int GetSelectedItemCount() const;
+ virtual int GetFirstSelectedItem() const;
+ virtual void GetSelectedItems( CUtlVector< int >& list );
+ virtual void GetSelectedItemData( CUtlVector< KeyValues * >& list );
+
+ // set colors for individual elments
+ virtual void SetItemFgColor(int itemIndex, const Color& color);
+ virtual void SetItemBgColor(int itemIndex, const Color& color);
+ virtual void SetItemSelectionTextColor( int itemIndex, const Color& clr );
+ virtual void SetItemSelectionBgColor( int itemIndex, const Color& clr );
+ virtual void SetItemSelectionUnfocusedBgColor( int itemIndex, const Color& clr );
+
+ // returns true if the itemID is valid for use
+ virtual bool IsItemIDValid(int itemIndex);
+
+ // item iterators
+ // iterate from [0..GetHighestItemID()],
+ // and check each with IsItemIDValid() before using
+ virtual int GetHighestItemID();
+
+ virtual void ExpandItem(int itemIndex, bool bExpand);
+ virtual bool IsItemExpanded( int itemIndex );
+
+ virtual void MakeItemVisible(int itemIndex);
+
+ // This tells which of the visible items is the top one.
+ virtual void GetVBarInfo( int &top, int &nItemsVisible, bool& hbarVisible );
+
+ virtual HFont GetFont();
+
+ virtual void GenerateDragDataForItem( int itemIndex, KeyValues *msg );
+ virtual void SetDragEnabledItems( bool state );
+
+ virtual void OnLabelChanged( int itemIndex, char const *oldString, char const *newString );
+ virtual bool IsLabelEditingAllowed() const;
+ virtual bool IsLabelBeingEdited() const;
+ virtual void SetAllowLabelEditing( bool state );
+
+ /* message sent
+
+ "TreeViewItemSelected" int "itemIndex"
+ called when the selected item changes
+ "TreeViewItemDeselected" int "itemIndex"
+ called when item is deselected
+ */
+ int GetRowHeight();
+ int GetVisibleMaxWidth();
+ virtual void OnMousePressed(MouseCode code);
+
+ // By default, the tree view expands nodes on left-click. This enables/disables that feature
+ void EnableExpandTreeOnLeftClick( bool bEnable );
+
+ virtual void SetLabelEditingAllowed( int itemIndex, bool state );
+ virtual void StartEditingLabel( int itemIndex );
+
+ virtual bool IsItemDroppable( int itemIndex, CUtlVector< KeyValues * >& msglist );
+ virtual void OnItemDropped( int itemIndex, CUtlVector< KeyValues * >& msglist );
+ virtual bool GetItemDropContextMenu( int itemIndex, Menu *menu, CUtlVector< KeyValues * >& msglist );
+ virtual HCursor GetItemDropCursor( int itemIndex, CUtlVector< KeyValues * >& msglist );
+
+ virtual int GetPrevChildItemIndex( int itemIndex );
+ virtual int GetNextChildItemIndex( int itemIndex );
+
+ virtual void PerformLayout();
+
+ // Makes the scrollbar parented to some other panel...
+ ScrollBar *SetScrollBarExternal( bool vertical, Panel *newParent );
+ void GetScrollBarSize( bool vertical, int& w, int& h );
+
+ void SetMultipleItemDragEnabled( bool state ); // if this is set, then clicking on one row and dragging will select a run or items, etc.
+ bool IsMultipleItemDragEnabled() const;
+
+ int FindItemUnderMouse( int mx, int my );
+
+protected:
+ // functions to override
+ // called when a node, marked as "Expand", needs to generate it's child nodes when expanded
+ virtual void GenerateChildrenOfNode(int itemIndex) {}
+
+ // override to open a custom context menu on a node being selected and right-clicked
+ virtual void GenerateContextMenu( int itemIndex, int x, int y ) {}
+
+ // overrides
+ virtual void OnMouseWheeled(int delta);
+ virtual void OnSizeChanged(int wide, int tall);
+ virtual void ApplySchemeSettings(IScheme *pScheme);
+ MESSAGE_FUNC_INT( OnSliderMoved, "ScrollBarSliderMoved", position );
+ virtual void SetBgColor( Color color );
+
+private:
+ friend class TreeNode;
+ friend class TreeNodeText;
+
+ TreeNode* GetItem( int itemIndex );
+ virtual void RemoveChildrenOfNode( int itemIndex );
+ void SetLabelBeingEdited( bool state );
+
+ // Clean up the image list
+ void CleanUpImageList( );
+
+ // to be accessed by TreeNodes
+ IImage* GetImage(int index);
+
+ // bools
+ bool m_bAllowLabelEditing : 1;
+ bool m_bDragEnabledItems : 1;
+ bool m_bDeleteImageListWhenDone : 1;
+ bool m_bLeftClickExpandsTree : 1;
+ bool m_bLabelBeingEdited : 1;
+ bool m_bMultipleItemDragging : 1;
+ bool m_bAllowMultipleSelections : 1;
+
+ // cross reference - no hierarchy ordering in this list
+ CUtlLinkedList<TreeNode *, int> m_NodeList;
+ ScrollBar *m_pHorzScrollBar, *m_pVertScrollBar;
+ int m_nRowHeight;
+
+ ImageList *m_pImageList;
+ TreeNode *m_pRootNode;
+ TreeViewSortFunc_t m_pSortFunc;
+ HFont m_Font;
+
+ CUtlVector< TreeNode * > m_SelectedItems;
+ TreeViewSubPanel *m_pSubPanel;
+
+ int m_nMostRecentlySelectedItem;
+ bool m_bScrollbarExternal[ 2 ]; // 0 = vert, 1 = horz
+};
+
+}
+
+#endif // TREEVIEW_H