yaze 0.2.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
 

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 132 of file style.h.

Member Typedef Documentation

◆ ItemRenderer

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

Definition at line 135 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 139 of file style.h.

References flags_, selection_, and title_.

Member Function Documentation

◆ SetItems()

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

Definition at line 146 of file style.h.

References items_.

◆ SetItemRenderer()

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

Definition at line 149 of file style.h.

References item_renderer_.

◆ SetHeight()

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

Definition at line 152 of file style.h.

References height_in_font_units_.

◆ SetChildFlags()

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

Definition at line 157 of file style.h.

References child_flags_.

◆ Update()

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

Definition at line 160 of file style.h.

References child_flags_, flags_, height_in_font_units_, item_renderer_, items_, selection_, and title_.

◆ GetSelectedIndices()

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

Definition at line 199 of file style.h.

References items_, and selection_.

◆ ClearSelection()

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

Definition at line 210 of file style.h.

References selection_.

Member Data Documentation

◆ title_

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

Definition at line 213 of file style.h.

Referenced by MultiSelect(), and Update().

◆ flags_

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

Definition at line 214 of file style.h.

Referenced by MultiSelect(), and Update().

◆ selection_

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

Definition at line 215 of file style.h.

Referenced by ClearSelection(), GetSelectedIndices(), MultiSelect(), and Update().

◆ items_

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

Definition at line 216 of file style.h.

Referenced by GetSelectedIndices(), SetItems(), and Update().

◆ item_renderer_

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

Definition at line 217 of file style.h.

Referenced by SetItemRenderer(), and Update().

◆ height_in_font_units_

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

Definition at line 218 of file style.h.

Referenced by SetHeight(), and Update().

◆ child_flags_

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

Definition at line 219 of file style.h.

Referenced by SetChildFlags(), and Update().


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