v1.4.4
This commit is contained in:
commit
9c94d113d3
10260 changed files with 1237388 additions and 0 deletions
70
source/windowing/StarListWidget.hpp
Normal file
70
source/windowing/StarListWidget.hpp
Normal file
|
@ -0,0 +1,70 @@
|
|||
#ifndef STAR_LIST_WIDGET_HPP
|
||||
#define STAR_LIST_WIDGET_HPP
|
||||
|
||||
#include "StarWidget.hpp"
|
||||
#include "StarGuiReader.hpp"
|
||||
|
||||
namespace Star {
|
||||
|
||||
STAR_CLASS(GuiReader);
|
||||
STAR_CLASS(ListWidget);
|
||||
|
||||
class ListWidget : public Widget {
|
||||
public:
|
||||
ListWidget(Json const& schema);
|
||||
ListWidget();
|
||||
|
||||
RectI relativeBoundRect() const override;
|
||||
|
||||
// Callback is called when the selection changes
|
||||
void setCallback(WidgetCallbackFunc callback);
|
||||
|
||||
bool sendEvent(InputEvent const& event) override;
|
||||
void setSchema(Json const& schema);
|
||||
WidgetPtr constructWidget();
|
||||
WidgetPtr addItem();
|
||||
WidgetPtr addItem(size_t at);
|
||||
WidgetPtr addItem(WidgetPtr existingItem);
|
||||
void removeItem(size_t at);
|
||||
void removeItem(WidgetPtr item);
|
||||
void clear();
|
||||
size_t selectedItem() const;
|
||||
size_t itemPosition(WidgetPtr item) const;
|
||||
WidgetPtr itemAt(size_t n) const;
|
||||
WidgetPtr selectedWidget() const;
|
||||
List<WidgetPtr> const& list() const;
|
||||
size_t listSize() const;
|
||||
void setEnabled(size_t pos, bool enabled);
|
||||
void setHovered(size_t pos, bool hovered);
|
||||
void setSelected(size_t pos);
|
||||
void clearSelected();
|
||||
void setSelectedWidget(WidgetPtr selected);
|
||||
|
||||
void registerMemberCallback(String const& name, WidgetCallbackFunc const& callback);
|
||||
|
||||
void setFillDown(bool fillDown);
|
||||
void setColumns(uint64_t columns);
|
||||
|
||||
private:
|
||||
void updateSizeAndPosition();
|
||||
|
||||
Json m_schema;
|
||||
GuiReader m_reader;
|
||||
|
||||
Set<size_t> m_disabledItems;
|
||||
size_t m_selectedItem;
|
||||
WidgetCallbackFunc m_callback;
|
||||
|
||||
String m_selectedBG;
|
||||
String m_unselectedBG;
|
||||
String m_hoverBG;
|
||||
String m_disabledBG;
|
||||
Vec2I m_spacing;
|
||||
|
||||
bool m_fillDown;
|
||||
uint64_t m_columns;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue