28 #ifndef YSL_INC_UI_Selector_h_
29 #define YSL_INC_UI_Selector_h_ 1
32 #include YFM_YSLib_UI_Button
33 #include YFM_YSLib_UI_YStyle
49 template<
typename _type>
147 using MCheckBox::Checked;
148 using MCheckBox::Unchecked;
149 using MCheckBox::Partial;
157 using MCheckBox::Ticked;
258 : p_selector(ystdex::make_shared<MSelector>(st))
261 : p_selector(p_sel ? std::move(p_sel)
262 : ystdex::make_shared<MSelector>(st))
268 DefSetter(StateType, State, p_selector->State)
275 ShareTo(MSharedSelection&) const;
277 PDefH(
bool, UpdateState, StateType st)
278 ImplRet(p_selector->UpdateState(st))
284 class
YF_API RadioBox : public Thumb, protected MSharedSelection
312 using MSharedSelection::GetState;
size_t StyleItem
标识样式渲染项的类型。
void Refresh(PaintEventArgs &&) override
刷新:按指定参数绘制界面并更新状态。
shared_ptr< MSelector > p_selector
#define DefPred(_q, _n,...)
DeclEvent(HViewEvent, ViewChanged) DeclEvent(HIndexEvent
视图变更事件。
enum SelectedState:yimpl(size_t){Unchecked=0, Checked=1, Partial=2} StateType
选择框选中状态类型。
MSelector::SelectedArgs TickedArgs
选择框选中状态参数类型。
#define DefGetter(_q, _t, _n,...)
MSelector::HSelectedEvent HTickedEvent
选择框选中事件委托类型。
PDefH(void, Activate, Console &console, Drawing::Color fc=Drawing::ColorSpace::White) ImplExpr(Activate(console
激活:使用指定屏幕、有效性、前景色和默认背景色。
void SetSelected(ListType::size_type)
按指定项目索引设置选中项目。
MSelector::SelectedArgs SelectedArgs
单选框选中状态参数类型。
DeclDelegate(HSelectedEvent, SelectedArgs) StateType State
选中事件委托模板。
#define ynothrow
YSLib 无异常抛出保证:若支持 noexcept 关键字, 指定特定的 noexcept 异常规范。
#define DefSetter(_t, _n, _m)
bool UpdateState(StateType st)
IWidget * StateType
单选框选中状态类型。
const IWidget &wgt ImplRet(wgt.GetView().IsVisible()) bool YF_API Contains(const IWidget &
判断点是否在部件的可视区域内。
Selected const shared_ptr< ListType > const pair< Color, Color > & DefDeMoveCtor(TextList) DefPredMem(const ynothrow
Selected const shared_ptr< ListType > const pair< Color, Color > Selected
MSelector::HSelectedEvent HSelectedEvent
单选框选中事件委托类型。