yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::gui::MultiSelect< T > Class Template Reference

#include <style.h>

Public Types

using ItemRenderer = std::function< void(int index, const T &item, bool is_selected)>
 

Public Member Functions

 MultiSelect (const char *title="Selection", ImGuiMultiSelectFlags flags=ImGuiMultiSelectFlags_ClearOnEscape|ImGuiMultiSelectFlags_BoxSelect1d)
 
void SetItems (const std::vector< T > &items)
 
void SetItemRenderer (ItemRenderer renderer)
 
void SetHeight (float height_in_font_units=20.0f)
 
void SetChildFlags (ImGuiChildFlags flags)
 
void Update ()
 
std::vector< int > GetSelectedIndices () const
 
void ClearSelection ()
 

Private Attributes

const char * title_
 
ImGuiMultiSelectFlags flags_
 
ImGuiSelectionBasicStorage selection_
 
std::vector< T > items_
 
ItemRenderer item_renderer_
 
float height_in_font_units_ = 20.0f
 
ImGuiChildFlags child_flags_
 

Detailed Description

template<typename T>
class yaze::gui::MultiSelect< T >

Definition at line 111 of file style.h.

Member Typedef Documentation

◆ ItemRenderer

template<typename T >
using yaze::gui::MultiSelect< T >::ItemRenderer = std::function<void(int index, const T &item, bool is_selected)>

Definition at line 114 of file style.h.

Constructor & Destructor Documentation

◆ MultiSelect()

template<typename T >
yaze::gui::MultiSelect< T >::MultiSelect ( const char *  title = "Selection",
ImGuiMultiSelectFlags  flags = ImGuiMultiSelectFlags_ClearOnEscape | ImGuiMultiSelectFlags_BoxSelect1d 
)
inline

Definition at line 118 of file style.h.

Member Function Documentation

◆ SetItems()

template<typename T >
void yaze::gui::MultiSelect< T >::SetItems ( const std::vector< T > &  items)
inline

Definition at line 125 of file style.h.

References yaze::gui::MultiSelect< T >::items_.

◆ SetItemRenderer()

template<typename T >
void yaze::gui::MultiSelect< T >::SetItemRenderer ( ItemRenderer  renderer)
inline

Definition at line 128 of file style.h.

References yaze::gui::MultiSelect< T >::item_renderer_.

◆ SetHeight()

template<typename T >
void yaze::gui::MultiSelect< T >::SetHeight ( float  height_in_font_units = 20.0f)
inline

Definition at line 131 of file style.h.

References yaze::gui::MultiSelect< T >::height_in_font_units_.

◆ SetChildFlags()

template<typename T >
void yaze::gui::MultiSelect< T >::SetChildFlags ( ImGuiChildFlags  flags)
inline

Definition at line 136 of file style.h.

References yaze::gui::MultiSelect< T >::child_flags_.

◆ Update()

◆ GetSelectedIndices()

template<typename T >
std::vector< int > yaze::gui::MultiSelect< T >::GetSelectedIndices ( ) const
inline

◆ ClearSelection()

template<typename T >
void yaze::gui::MultiSelect< T >::ClearSelection ( )
inline

Definition at line 189 of file style.h.

References yaze::gui::MultiSelect< T >::selection_.

Member Data Documentation

◆ title_

template<typename T >
const char* yaze::gui::MultiSelect< T >::title_
private

Definition at line 192 of file style.h.

Referenced by yaze::gui::MultiSelect< T >::Update().

◆ flags_

template<typename T >
ImGuiMultiSelectFlags yaze::gui::MultiSelect< T >::flags_
private

Definition at line 193 of file style.h.

Referenced by yaze::gui::MultiSelect< T >::Update().

◆ selection_

template<typename T >
ImGuiSelectionBasicStorage yaze::gui::MultiSelect< T >::selection_
private

◆ items_

template<typename T >
std::vector<T> yaze::gui::MultiSelect< T >::items_
private

◆ item_renderer_

template<typename T >
ItemRenderer yaze::gui::MultiSelect< T >::item_renderer_
private

◆ height_in_font_units_

template<typename T >
float yaze::gui::MultiSelect< T >::height_in_font_units_ = 20.0f
private

◆ child_flags_

template<typename T >
ImGuiChildFlags yaze::gui::MultiSelect< T >::child_flags_
private
Initial value:
=
ImGuiChildFlags_FrameStyle | ImGuiChildFlags_ResizeY

Definition at line 198 of file style.h.

Referenced by yaze::gui::MultiSelect< T >::SetChildFlags(), and yaze::gui::MultiSelect< T >::Update().


The documentation for this class was generated from the following file: