1#ifndef LIBS_GUI_CCOMBOBOX_HPP_
2#define LIBS_GUI_CCOMBOBOX_HPP_
6#include "third_party/magic_enum/magic_enum.hpp"
9#include <bits/stdint-uintn.h>
34 std::vector<SOptionComboBox *> **options);
37 [[nodiscard]]
size_t size()
const;
50 explicit CComboBox(
bool hasEntry =
false);
54 void addOption(uint32_t idOption, std::string_view textOption);
56 [[nodiscard]] uint32_t
getId(int32_t index)
const;
57 [[nodiscard]] int32_t
getIndex(int32_t idOption)
const;
71 void setId(uint32_t option);
87 CComboBoxString(
const std::string &strValue,
const std::set<std::string> &values,
bool hasEntry =
false);
88 CComboBoxString(std::string *strValueRef,
const std::set<std::string> &values,
bool hasEntry =
false);
91 void addOption(std::string_view textOption);
109template<
typename TypeEnum>
113 template<iv::concepts::EnumType E>
117 for (E enumValue: magic_enum::enum_values<E>())
119 comboBoxEnum->
addOption(enumValue, magic_enum::enum_name(enumValue));
126 uint32_t sizeTemplate;
128 sizeTemplate =
sizeof(TypeEnum);
131 void addOption(TypeEnum idEnum, std::string_view textOption)
EComboBoxType
Definition CComboBox.hpp:15
#define IV_ASSERT_NOMSG(expr,...)
Definition assert.hpp:108
Definition AbstractSelectionComponent.hpp:10
Definition CComboBox.hpp:111
void setOptionSelected(TypeEnum option)
Definition CComboBox.hpp:141
TypeEnum getOptionSelected()
Definition CComboBox.hpp:136
void addOption(TypeEnum idEnum, std::string_view textOption)
Definition CComboBox.hpp:131
static CComboBoxEnum< E > * createFillComboEnum(E &enumSelected)
Definition CComboBox.hpp:114
CComboBoxEnum(TypeEnum *enumSelected)
Definition CComboBox.hpp:124
Definition CComboBox.hpp:85
size_t size()
Definition CComboBox.cpp:594
IWidget * createWidget(CDialog *dialogFather) override
Definition CComboBox.cpp:478
void removeAllOptions()
Definition CComboBox.cpp:575
void setStringSelected(std::string_view strSelected)
Definition CComboBox.cpp:652
CComboBoxString(const std::string &strValue, const std::set< std::string > &values, bool hasEntry=false)
Definition CComboBox.cpp:533
std::string getStringSelected() const
Definition CComboBox.cpp:625
void destroyWidget() override
Definition CComboBox.cpp:587
SComboBox * m_sComboBox
Definition CComboBox.hpp:105
bool hasStringSelected() const
Definition CComboBox.cpp:600
void addOption(std::string_view textOption)
Definition CComboBox.cpp:560
bool m_hasEntry
Definition CComboBox.hpp:106
~CComboBoxString() override
Definition CComboBox.hpp:48
void destroyWidget() override
Definition CComboBox.cpp:178
uint32_t idToOption(uint32_t id)
Definition CComboBox.cpp:412
IWidget * createWidget(CDialog *dialogFather) override
Definition CComboBox.cpp:432
size_t size()
Definition CComboBox.cpp:185
uint32_t m_defaultOption
Definition CComboBox.hpp:81
void addOption(uint32_t idOption, std::string_view textOption)
Definition CComboBox.cpp:191
void setOption(uint32_t option)
Definition CComboBox.cpp:329
void clearNotDrawnComboBox()
Definition CComboBox.cpp:206
void removeOptionByIndex(uint32_t index)
Definition CComboBox.cpp:248
int32_t getIndex(int32_t idOption) const
Definition CComboBox.cpp:281
void setHasEntry(bool hasEntry)
Definition CComboBox.cpp:528
bool m_hasEntry
Definition CComboBox.hpp:80
uint64_t getIdOptionSelection()
Definition CComboBox.cpp:344
void removeAllOptions()
Definition CComboBox.cpp:217
SComboBox * m_sComboBox
Definition CComboBox.hpp:79
void setId(uint32_t option)
Definition CComboBox.cpp:306
uint32_t getIdFirstOption()
Definition CComboBox.cpp:364
void removeOptionByIdOption(uint32_t idOption)
Definition CComboBox.cpp:229
uint32_t getId(int32_t index) const
Definition CComboBox.cpp:262
CComboBox(bool hasEntry=false)
Definition CComboBox.cpp:457
~CComboBox() override
Definition CComboBox.cpp:171
Definition CDialog.hpp:21
Definition CComboBox.hpp:31
EComboBoxType m_type
Definition CComboBox.hpp:39
std::string m_strValue
Definition CComboBox.hpp:43
IWidget * m_compBox
Definition CComboBox.hpp:44
std::vector< SOptionComboBox * > * m_options
Definition CComboBox.hpp:41
SComboBox(EComboBoxType type, uint32_t *idSelectedRef, const std::string &strValueRef, std::vector< SOptionComboBox * > **options)
Definition CComboBox.cpp:386
uint32_t * m_idSelectedRef
Definition CComboBox.hpp:42
~SComboBox()
Definition CComboBox.cpp:399
size_t size() const
Definition CComboBox.cpp:405
Definition CComboBox.hpp:21
SOptionComboBox(uint32_t id, std::string_view option)
Definition CComboBox.cpp:380
uint32_t m_id
Definition CComboBox.hpp:26
~SOptionComboBox()=default
std::string m_txtOption
Definition CComboBox.hpp:27