FLImaging 6.5.8.1
GUIPropertyItemRadioButtonGroup.h
1#pragma once
2#include "GUIPropertyItemBase.h"
3
4namespace FLImaging
5{
6 namespace GUI
7 {
8 class CGUIPropertyItemRadioButton;
9 class CGUIMenuItemProperty;
10
11 class FL_EXPORT CGUIPropertyItemRadioButtonGroup : public CGUIPropertyItemBase
12 {
13 public:
14 CGUIPropertyItemRadioButtonGroup();
15 virtual ~CGUIPropertyItemRadioButtonGroup();
16
17 virtual void SetExpand(bool bExpand);
18 virtual bool IsExpanded() const;
19
20 virtual bool Update();
21
22 virtual bool SetValue(Base::CFLString<wchar_t> strValue, bool bInvokeCallback = true) override;
23 virtual Base::CFLString<wchar_t> GetValue() const override;
24
35 virtual bool AddRadioButton(const Base::CFLString<wchar_t>& strRadioButtonName, bool bSelected = false, const Base::CFLString<wchar_t>& strItemDescription = L"");
36
48 virtual bool InsertRadioButton(int32_t i32Index, const Base::CFLString<wchar_t>& strRadioButtonName, bool bSelected = false, const Base::CFLString<wchar_t>& strItemDescription = L"");
49
55 virtual bool RemoveAllRadioButton();
56
63 virtual bool RemoveRadioButtonAt(int32_t i32Index);
64
72 virtual CGUIPropertyItemRadioButton* GetRadioButtonAt(int32_t i32Index) const;
73
82 virtual bool AddItemDescription(int32_t i32Index, const Base::CFLString<wchar_t>& strItemDescription);
83
89 virtual int32_t GetItemCount() const;
90
98 virtual int32_t GetIndex(const Base::CFLString<wchar_t>& strName) const;
99
107 virtual Base::CFLString<wchar_t> GetItemDescriptionAt(int32_t i32Index) const;
108
109 virtual CMFCPropertyGridProperty* CreateGridProperty() override;
110
111 virtual void SetGUIMenuItemProperty(CGUIMenuItemProperty* pMIP) override;
112 virtual void Enable(bool bEnable) override;
113 virtual void NotifySelectedItemChanged(CGUIPropertyItemRadioButton* pSelectedItem);
114
115 protected:
116 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
117 virtual CGUIPropertyItemRadioButton* CreateNewRadioButton(const Base::CFLString<wchar_t>& strRadioButtonName, bool bSelected = false, const Base::CFLString<wchar_t>& strItemDescription = L"");
118
119 protected:
120 bool m_bExpand;
121 bool m_bExpandSet;
122 bool m_bInProcNotifySelectedItemChanged;
123 std::vector<CGUIPropertyItemRadioButton*> m_vctRadioButtons;
124 };
125 }
126}
127