TGUI  1.6.1
Loading...
Searching...
No Matches
ListView.hpp
1
2//
3// TGUI - Texus' Graphical User Interface
4// Copyright (C) 2012-2024 Bruno Van de Velde (vdv_b@tgui.eu)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef TGUI_LIST_VIEW_HPP
26#define TGUI_LIST_VIEW_HPP
27
28#include <TGUI/Widgets/Scrollbar.hpp>
29#include <TGUI/Renderers/ListViewRenderer.hpp>
30#include <TGUI/Text.hpp>
31
32#if !TGUI_EXPERIMENTAL_USE_STD_MODULE
33 #include <set>
34 #include <limits>
35#endif
36
38
39TGUI_MODULE_EXPORT namespace tgui
40{
46 class TGUI_API ListView : public Widget, public DualScrollbarChildInterface
47 {
48 public:
49
50 using Ptr = std::shared_ptr<ListView>;
51 using ConstPtr = std::shared_ptr<const ListView>;
52
53 static constexpr const char StaticWidgetType[] = "ListView";
54
58 using ColumnAlignment TGUI_DEPRECATED("Use tgui::HorizontalAlignment instead") = HorizontalAlignment;
59
60 struct Item
61 {
62 std::vector<Text> texts;
63 Any data;
64 Sprite icon;
65 };
66
67 struct Column
68 {
69 float width = 0;
70 float designWidth = 0;
71 float widestItemWidth = 0;
72 std::size_t widestItemIndex = std::numeric_limits<std::size_t>::max();
73 Text text;
74 HorizontalAlignment alignment = HorizontalAlignment::Left;
75 bool autoResize = false;
76 bool expanded = false;
77 };
78
86 ListView(const char* typeName = StaticWidgetType, bool initRenderer = true);
87
92 TGUI_NODISCARD static ListView::Ptr create();
93
101 TGUI_NODISCARD static ListView::Ptr copy(const ListView::ConstPtr& listView);
102
107 TGUI_NODISCARD ListViewRenderer* getSharedRenderer() override;
108 TGUI_NODISCARD const ListViewRenderer* getSharedRenderer() const override;
109
115 TGUI_NODISCARD ListViewRenderer* getRenderer() override;
116
122 void setSize(const Layout2d& size) override;
123 using Widget::setSize;
124
134 std::size_t addColumn(const String& text, float width = 0, HorizontalAlignment alignment = HorizontalAlignment::Left);
135
142 void setColumnText(std::size_t index, const String& text);
143
151 TGUI_NODISCARD String getColumnText(std::size_t index) const;
152
159 void setColumnWidth(std::size_t index, float width);
160
173 TGUI_NODISCARD float getColumnWidth(std::size_t index) const;
174
186 TGUI_NODISCARD float getColumnDesignWidth(std::size_t index) const;
187
194 void setColumnAlignment(std::size_t columnIndex, HorizontalAlignment alignment);
195
203 TGUI_NODISCARD HorizontalAlignment getColumnAlignment(std::size_t columnIndex) const;
204
219 void setColumnAutoResize(std::size_t index, bool autoResize);
220
230 TGUI_NODISCARD bool getColumnAutoResize(std::size_t index) const;
231
248 void setColumnExpanded(std::size_t index, bool expand);
249
259 TGUI_NODISCARD bool getColumnExpanded(std::size_t index) const;
260
265
271 TGUI_NODISCARD std::size_t getColumnCount() const;
272
278 void setHeaderHeight(float height);
279
285 TGUI_NODISCARD float getHeaderHeight() const;
286
292 TGUI_NODISCARD float getCurrentHeaderHeight() const;
293
299 void setHeaderVisible(bool showHeader);
300
306 TGUI_NODISCARD bool getHeaderVisible() const;
307
318 std::size_t addItem(const String& text);
319
332 std::size_t addItem(const std::vector<String>& item);
333
339 void addMultipleItems(const std::vector<std::vector<String>>& items);
340
347 void insertItem(std::size_t index, const String& text);
348
355 void insertItem(std::size_t index, const std::vector<String>& item);
356
363 void insertMultipleItems(std::size_t index, const std::vector<std::vector<String>>& items);
364
373 bool changeItem(std::size_t index, const std::vector<String>& item);
374
384 bool changeSubItem(std::size_t index, std::size_t column, const String& item);
385
393 bool removeItem(std::size_t index);
394
399
405 void setSelectedItem(std::size_t index);
406
412 void setSelectedItems(const std::set<std::size_t>& indices);
413
418
424 TGUI_NODISCARD int getSelectedItemIndex() const;
425
431 TGUI_NODISCARD int getHoveredItemIndex() const;
432
438 TGUI_NODISCARD std::set<std::size_t> getSelectedItemIndices() const;
439
445 void setMultiSelect(bool multiSelect);
446
452 TGUI_NODISCARD bool getMultiSelect() const;
453
466 void setItemData(std::size_t index, Any data);
467
474 template <typename DataType>
475 TGUI_NODISCARD DataType getItemData(std::size_t index) const
476 {
477 if (index < m_items.size())
478 return AnyCast<DataType>(m_items[index].data);
479 else
480 throw std::bad_cast();
481 }
482
489 void setItemIcon(std::size_t index, const Texture& texture);
490
498 TGUI_NODISCARD Texture getItemIcon(std::size_t index) const;
499
505 TGUI_NODISCARD std::size_t getItemCount() const;
506
514 TGUI_NODISCARD String getItem(std::size_t index) const;
515
525 TGUI_NODISCARD std::vector<String> getItemRow(std::size_t index) const;
526
535 TGUI_NODISCARD String getItemCell(std::size_t rowIndex, std::size_t columnIndex) const;
536
542 TGUI_NODISCARD std::vector<String> getItems() const;
543
549 TGUI_NODISCARD std::vector<std::vector<String>> getItemRows() const;
550
562 void sort(std::size_t index, const std::function<bool(const String&, const String&)>& cmp);
563
569 void setItemHeight(unsigned int itemHeight);
570
576 TGUI_NODISCARD unsigned int getItemHeight() const;
577
585 void setHeaderTextSize(unsigned int textSize);
586
592 TGUI_NODISCARD unsigned int getHeaderTextSize() const;
593
599 void setSeparatorWidth(unsigned int width);
600
606 TGUI_NODISCARD unsigned int getSeparatorWidth() const;
607
613 void setHeaderSeparatorHeight(unsigned int height);
614
620 TGUI_NODISCARD unsigned int getHeaderSeparatorHeight() const;
621
627 void setGridLinesWidth(unsigned int width);
628
634 TGUI_NODISCARD unsigned int getGridLinesWidth() const;
635
643 void setAutoScroll(bool autoScroll);
644
650 TGUI_NODISCARD bool getAutoScroll() const;
651
659 void setShowVerticalGridLines(bool showGridLines);
660
666 TGUI_NODISCARD bool getShowVerticalGridLines() const;
667
675 void setShowHorizontalGridLines(bool showGridLines);
676
682 TGUI_NODISCARD bool getShowHorizontalGridLines() const;
683
691 TGUI_DEPRECATED("Use setColumnAutoExpanded and setColumnAutoResize instead") void setExpandLastColumn(bool expand);
692
700 TGUI_DEPRECATED("Use ColumnAutoExpanded and ColumnAutoResize setters and getters instead") TGUI_NODISCARD bool getExpandLastColumn() const;
701
706 TGUI_DEPRECATED("Use getVerticalScrollbar()->setPolicy(policy) instead") void setVerticalScrollbarPolicy(Scrollbar::Policy policy);
707
712 TGUI_DEPRECATED("Use getVerticalScrollbar()->getPolicy() instead") TGUI_NODISCARD Scrollbar::Policy getVerticalScrollbarPolicy() const;
713
718 TGUI_DEPRECATED("Use getHorizontalScrollbar()->setPolicy(policy) instead") void setHorizontalScrollbarPolicy(Scrollbar::Policy policy);
719
724 TGUI_DEPRECATED("Use getHorizontalScrollbar()->getPolicy() instead") TGUI_NODISCARD Scrollbar::Policy getHorizontalScrollbarPolicy() const;
725
731 TGUI_DEPRECATED("Use getVerticalScrollbar()->setValue(value) instead") void setVerticalScrollbarValue(unsigned int value);
732
738 TGUI_DEPRECATED("Use getVerticalScrollbar()->getValue() instead") TGUI_NODISCARD unsigned int getVerticalScrollbarValue() const;
739
747 TGUI_DEPRECATED("Use getVerticalScrollbar()->getMaxValue() instead") TGUI_NODISCARD unsigned int getVerticalScrollbarMaxValue() const;
748
754 TGUI_DEPRECATED("Use getHorizontalScrollbar()->setValue(value) instead") void setHorizontalScrollbarValue(unsigned int value);
755
761 TGUI_DEPRECATED("Use getHorizontalScrollbar()->getValue() instead") TGUI_NODISCARD unsigned int getHorizontalScrollbarValue() const;
762
770 TGUI_DEPRECATED("Use getHorizontalScrollbar()->getMaxValue() instead") TGUI_NODISCARD unsigned int getHorizontalScrollbarMaxValue() const;
771
780 void setFixedIconSize(Vector2f iconSize);
781
789 TGUI_NODISCARD Vector2f getFixedIconSize() const;
790
798 void setResizableColumns(bool resizable);
799
807 TGUI_NODISCARD bool getResizableColumns() const;
808
813 TGUI_NODISCARD bool isMouseOnWidget(Vector2f pos) const override;
814
818 bool leftMousePressed(Vector2f pos) override;
819
823 void leftMouseReleased(Vector2f pos) override;
824
828 void rightMousePressed(Vector2f pos) override;
829
833 void mouseMoved(Vector2f pos) override;
834
838 bool scrolled(float delta, Vector2f pos, bool touch) override;
839
843 void mouseNoLongerOnWidget() override;
844
848 void leftMouseButtonNoLongerDown() override;
849
853 void keyPressed(const Event::KeyEvent& event) override;
854
864 bool canHandleKeyPress(const Event::KeyEvent& event) override;
865
872 void draw(BackendRenderTarget& target, RenderStates states) const override;
873
875 protected:
876
886 TGUI_NODISCARD Signal& getSignal(String signalName) override;
887
893 void rendererChanged(const String& property) override;
894
898 TGUI_NODISCARD std::unique_ptr<DataIO::Node> save(SavingRenderersMap& renderers) const override;
899
903 void load(const std::unique_ptr<DataIO::Node>& node, const LoadingRenderersMap& renderers) override;
904
908 void mouseEnteredWidget() override;
909
913 void mouseLeftWidget() override;
914
918 void updateTextSize() override;
919
926 void scrollbarPolicyChanged(Orientation orientation) override;
927
929 // Returns the size without the borders
931 TGUI_NODISCARD Vector2f getInnerSize() const;
932
934 // Create a Text object for an item from the given caption, using the preset color, font, text size and opacity
936 TGUI_NODISCARD Text createText(const String& caption);
937
939 // Create a Text object for a header text from the given caption, using the preset color, font, text size and opacity
941 TGUI_NODISCARD Text createHeaderText(const String& caption);
942
944 // Changes the color of all Text objects in an item
946 virtual void setItemColor(std::size_t index, const Color& color);
947
949 // Calculate the width of the column based on its caption when no column width was provided
951 TGUI_NODISCARD float calculateAutoColumnWidth(const Text& text);
952
954 // Update the colors of the selected and hovered items
956 void updateSelectedAndhoveredItemColors();
957
959 // Update the color of all the items
961 void updateItemColors();
962
964 // Changes the color of all header texts
966 void updateHeaderTextsColor();
967
969 // Update on which item the mouse is standing
971 void updateHoveredItem(int item);
972
974 // Update which item is selected
976 void updateSelectedItem(int item);
977
979 // Selects multiple items when multi-select is on and the user selects an item while the shift key is held down
981 void selectRangeFromEvent(std::size_t item);
982
984 // Updates which item is the widest in the given column, by calculating the width of each item
986 bool updateWidestItemInColumn(std::size_t columnIndex);
987
989 // Updates which item is the widest in the given column, when only one item has changed in width
991 bool updateWidestItemInColumn(std::size_t columnIndex, std::size_t itemIndex);
992
994 // Updates which item is the widest in all columns, by calculating the width of each item
996 bool updateWidestItem();
997
999 // Updates which item is the widest in all columns, when only one item has changed in width
1001 bool updateWidestItem(std::size_t itemIndex);
1002
1004 // This function needs to be called when items are inserted into the list. If the widest item for each column is located
1005 // below the inserted item then it's index needs to be updated.
1007 void incrementWidestItemIndices(std::size_t itemIndex);
1008
1010 // Recalculates the width of each column if they don't have a fixed width. For auto-resized columns, the widest item
1011 // should have already been updated in each column before this function is called.
1013 void updateColumnWidths();
1014
1016 // Returns whether at least one column potentially has its width expanded to fill the list view
1018 bool hasExpandedColumn() const;
1019
1021 // Add item to selected set
1023 void addSelectedItem(int item);
1024
1026 // Remove item from selected set
1028 void removeSelectedItem(std::size_t item);
1029
1031 // Update on which item the mouse is standing, given the current mouse position
1033 void updateHoveredItemByMousePos(Vector2f mousePos);
1034
1036 // Returns either the configured separator width or the width of vertical grid lines, whichever is larger.
1038 TGUI_NODISCARD unsigned int getTotalSeparatorWidth() const;
1039
1041 // Returns the total width an Item takes up at some column, assuming it will not be cut off by the column.
1043 TGUI_NODISCARD float getItemTotalWidth(const Item& item, std::size_t columnIndex) const;
1044
1046 // Found out which column is located below the mouse. The mouseLeft is relative to the widget position.
1047 // This function should only be called after checking that the mouse is positioned on top of the header.
1049 TGUI_NODISCARD int getColumnIndexBelowMouse(float mouseLeft);
1050
1052 // Returns whether the mouse is standing between two columns.
1053 // If true then columnIndex is set to the index of border below the mouse (1 is the border between first two columns).
1054 // If false then columnIndex remains unchanged.
1056 TGUI_NODISCARD bool findBorderBelowMouse(Vector2f pos, std::size_t& columnIndex) const;
1057
1059 // Recalculate the size and viewport size of the scrollbars
1061 void updateScrollbars();
1062
1064 // Recalculate the maximum value for the vertical scrollbar
1066 void updateVerticalScrollbarMaximum();
1067
1069 // Draw the header text for a single column
1071 void drawHeaderText(BackendRenderTarget& target, RenderStates states, float columnWidth, float headerHeight, std::size_t column) const;
1072
1074 // Draw the texts in a single column
1076 void drawColumn(BackendRenderTarget& target, RenderStates states, std::size_t firstItem, std::size_t lastItem, std::size_t column, float columnWidth) const;
1077
1079 // This function is called every frame with the time passed since the last frame.
1081 bool updateTime(Duration elapsedTime) override;
1082
1084 // Makes a copy of the widget
1086 TGUI_NODISCARD Widget::Ptr clone() const override;
1087
1089 public:
1090
1096 SignalInt onItemSelect = {"ItemSelected"};
1097
1098 SignalInt onDoubleClick = {"DoubleClicked"};
1099 SignalInt onRightClick = {"RightClicked"};
1100 SignalInt onHeaderClick = {"HeaderClicked"};
1101
1103 protected:
1104
1105 std::vector<Column> m_columns;
1106 std::vector<Item> m_items;
1107 std::set<std::size_t> m_selectedItems;
1108
1109 int m_hoveredItem = -1;
1110 int m_firstSelectedItemIndex = -1;
1111 int m_focusedItemIndex = -1;
1112
1113 float m_requestedHeaderHeight = 0;
1114 unsigned int m_itemHeight = 0;
1115 unsigned int m_headerTextSize = 0;
1116 unsigned int m_headerSeparatorHeight = 0;
1117 unsigned int m_separatorWidth = 1;
1118 unsigned int m_gridLinesWidth = 1;
1119 unsigned int m_iconCount = 0;
1120 float m_maxIconWidth = 0;
1121 float m_widestItemWidth = 0; // If there are no columns, this is the maximum width from all items
1122 std::size_t m_widestItemIndex = std::numeric_limits<std::size_t>::max(); // If there are no columns, this is the index of the item with the maximum width
1123 bool m_headerVisible = true;
1124 bool m_showHorizontalGridLines = false;
1125 bool m_showVerticalGridLines = true;
1126 bool m_expandLastColumn = false; // TGUI_NEXT: Remove this property
1127 bool m_multiSelect = false;
1128 bool m_resizableColumns = false;
1129 Vector2f m_fixedIconSize;
1130 Cursor::Type m_currentListViewMouseCursor = Cursor::Type::Arrow;
1131 std::size_t m_resizingColumn = 0;
1132 float m_resizingColumnLastMouseX = 0;
1133
1134 int m_mouseOnHeaderIndex = -1; // If the left mouse is down, this contains the index of the column if the mouse went down on the header
1135 int m_possibleDoubleClick = false; // Will be set to true after the first click, but gets reset to false when the second click does not occur soon after
1136 bool m_autoScroll = true; // Should the list view scroll to the bottom when a new item is added?
1137
1138 Sprite m_spriteHeaderBackground;
1139 Sprite m_spriteBackground;
1140
1141 // Cached renderer properties
1142 Borders m_bordersCached;
1143 Borders m_paddingCached;
1144 Color m_borderColorCached;
1145 Color m_separatorColorCached;
1146 Color m_gridLinesColorCached;
1147 Color m_headerTextColorCached;
1148 Color m_headerBackgroundColorCached;
1149 Color m_backgroundColorCached;
1150 Color m_backgroundColorHoverCached;
1151 Color m_selectedBackgroundColorCached;
1152 Color m_selectedBackgroundColorHoverCached;
1153 Color m_textColorCached;
1154 Color m_textColorHoverCached;
1155 Color m_selectedTextColorCached;
1156 Color m_selectedTextColorHoverCached;
1157
1159 };
1160
1162}
1163
1165
1166#endif // TGUI_LIST_VIEW_HPP
Base class for render targets.
Definition BackendRenderTarget.hpp:46
Wrapper for colors.
Definition Color.hpp:73
Type
List of available cursors.
Definition Cursor.hpp:50
Base class for widgets with both a vertical and horizontal scrollbar.
Definition Scrollbar.hpp:673
Wrapper for durations.
Definition Duration.hpp:55
Class to store the position or size of a widget.
Definition Layout.hpp:323
Definition ListViewRenderer.hpp:35
List view widget.
Definition ListView.hpp:47
void setShowVerticalGridLines(bool showGridLines)
Changes whether lines are drawn between columns.
void setSelectedItems(const std::set< std::size_t > &indices)
Selects items in the list view.
bool getShowHorizontalGridLines() const
Returns whether lines are drawn between items.
String getColumnText(std::size_t index) const
Returns the text of a column.
void setHeaderTextSize(unsigned int textSize)
Changes the text size of the header caption.
bool changeItem(std::size_t index, const std::vector< String > &item)
Changes an item with values for multiple columns to the list.
void removeAllItems()
Removes all items from the list.
bool getColumnAutoResize(std::size_t index) const
Returns whether the column width depends on the widest item added to that column.
void setColumnWidth(std::size_t index, float width)
Changes the width of a column.
String getItem(std::size_t index) const
Retrieves an item in the list.
unsigned int getSeparatorWidth() const
Returns the width of the column separator.
void setSize(const Layout2d &size) override
Changes the size of the list view.
void setHeaderVisible(bool showHeader)
Changes whether the header is shown.
void insertItem(std::size_t index, const String &text)
Inserts an item into the list.
std::vector< String > getItemRow(std::size_t index) const
Retrieves the values of all columns for an item in the list.
void setColumnText(std::size_t index, const String &text)
Changes the text of a column.
std::shared_ptr< ListView > Ptr
Shared widget pointer.
Definition ListView.hpp:50
static ListView::Ptr copy(const ListView::ConstPtr &listView)
Makes a copy of another list view.
String getItemCell(std::size_t rowIndex, std::size_t columnIndex) const
Retrieves the value for a cell in the list.
float getHeaderHeight() const
Returns the height of the header row.
std::size_t getColumnCount() const
Returns the amount of columns in the list view.
unsigned int getGridLinesWidth() const
Returns the width of the grid lines.
void sort(std::size_t index, const std::function< bool(const String &, const String &)> &cmp)
Sort items.
std::size_t addColumn(const String &text, float width=0, HorizontalAlignment alignment=HorizontalAlignment::Left)
Adds a column.
void insertMultipleItems(std::size_t index, const std::vector< std::vector< String > > &items)
Inserts multiple items into the list.
bool getHeaderVisible() const
Returns whether the header is shown.
bool getColumnExpanded(std::size_t index) const
Returns whether the column is expanded to fill the list view (if all columns fit inside the list view...
bool changeSubItem(std::size_t index, std::size_t column, const String &item)
Changes the caption of a single value in the item.
int getSelectedItemIndex() const
Gets the index of the selected item.
std::size_t addItem(const String &text)
Adds an item to the list.
unsigned int getItemHeight() const
Returns the height of the items in the list view.
void insertItem(std::size_t index, const std::vector< String > &item)
Inserts an item into the list.
void setItemIcon(std::size_t index, const Texture &texture)
Sets a small icon in front of the item.
float getColumnWidth(std::size_t index) const
Returns the width of a column.
ListViewRenderer * getSharedRenderer() override
Returns the renderer, which gives access to functions that determine how the widget is displayed.
float getColumnDesignWidth(std::size_t index) const
Returns the original width of a column (the value passed to addColumn or the last setColumnWidth call...
void setColumnAlignment(std::size_t columnIndex, HorizontalAlignment alignment)
Changes the text alignment within a column.
HorizontalAlignment getColumnAlignment(std::size_t columnIndex) const
Returns the current text alignment within a column.
DataType getItemData(std::size_t index) const
Returns user data stored in the item.
Definition ListView.hpp:475
static ListView::Ptr create()
Creates a new list view widget.
std::size_t getItemCount() const
Returns the amount of items in the list view.
int getHoveredItemIndex() const
Gets the index of the item below the mouse cursor.
ListViewRenderer * getRenderer() override
Returns the renderer, which gives access to functions that determine how the widget is displayed.
bool getAutoScroll() const
Returns whether the list view scrolls to the bottom when a new item is added.
void setHeaderHeight(float height)
Changes the height of the header row.
void setShowHorizontalGridLines(bool showGridLines)
Changes whether lines are drawn between items.
std::shared_ptr< const ListView > ConstPtr
Shared constant widget pointer.
Definition ListView.hpp:51
void deselectItems()
Deselects the selected items.
void addMultipleItems(const std::vector< std::vector< String > > &items)
Adds multiple items to the list.
void setAutoScroll(bool autoScroll)
Changes whether the list view scrolls to the bottom when a new item is added.
std::size_t addItem(const std::vector< String > &item)
Adds an item with values for multiple columns to the list.
std::vector< std::vector< String > > getItemRows() const
Returns a list of all column values for all items in the list view.
std::set< std::size_t > getSelectedItemIndices() const
Gets the indices of the selected items.
void setItemHeight(unsigned int itemHeight)
Changes the height of the items in the list view.
void setSelectedItem(std::size_t index)
Selects an item in the list view.
void setSeparatorWidth(unsigned int width)
Changes the width of the column separator.
bool getMultiSelect() const
Returns multi selection of the items is allowed.
void setHeaderSeparatorHeight(unsigned int height)
Changes the height of the separator between the header and the items.
void setItemData(std::size_t index, Any data)
Store some user data with the item.
std::vector< String > getItems() const
Returns a list of the texts in the first column for all items in the list view.
unsigned int getHeaderTextSize() const
Returns the text size of the header caption.
Texture getItemIcon(std::size_t index) const
Gets the icon displayed in front of the item.
void setMultiSelect(bool multiSelect)
Allow multi selection of the items.
void removeAllColumns()
Removes all columns.
bool removeItem(std::size_t index)
Removes the item from the list view.
float getCurrentHeaderHeight() const
Returns the height of the header or 0 if no header row is shown.
void setColumnAutoResize(std::size_t index, bool autoResize)
Changes whether the column width depends on the widest item added to that column.
bool getShowVerticalGridLines() const
Returns whether lines are drawn between items.
unsigned int getHeaderSeparatorHeight() const
Returns the height of the separator between the header and the items.
void setColumnExpanded(std::size_t index, bool expand)
Changes whether a column is expanded to fill the list view (if all columns fit inside the list view)
void setGridLinesWidth(unsigned int width)
Changes the width of the grid lines.
Definition Outline.hpp:38
Scrollbar widget.
Definition Scrollbar.hpp:44
Signal to which the user can subscribe to get callbacks from.
Definition Signal.hpp:61
Definition Sprite.hpp:47
Wrapper class to store strings.
Definition String.hpp:96
Backend-independent wrapper around the backend-specific text class.
Definition Text.hpp:48
Texture wrapper that internally reuses resources when multiple Texture objects are loaded from the sa...
Definition Texture.hpp:57
The parent class for every widget.
Definition Widget.hpp:83
Namespace that contains all TGUI functions and classes.
Definition AbsoluteOrRelativeValue.hpp:38
HorizontalAlignment
The horizontal alignment.
Definition Layout.hpp:62
Orientation
Orientation of the object.
Definition Layout.hpp:52
Definition Event.hpp:38
Definition ListView.hpp:68
Definition ListView.hpp:61
States used for drawing.
Definition RenderStates.hpp:38