10 #include <gvarprop.hpp>
16 GAlignValue(int8_t main, int8_t cross, int8_t icon);
17 bool operator==(GAlignValue
const&)
const;
18 bool operator!=(GAlignValue
const&)
const;
19 int8_t main, cross, icon;
22 inline bool gconvert(GAlignValue
const& from, GAlignValue& to) {to = from;
return true;}
23 bool gconvert(GString
const& from, GAlignValue& to);
24 bool gconvert(GAlignValue
const& from, GString& to);
41 class GAlign :
public GVarProp_<GAlignValue> {
43 using Super = GVarProp_<GAlignValue>;
44 enum Layout : int8_t {Start, Center, End, Extend, Equal};
47 GAlign(Layout main, Layout cross, Layout icon = Start);
48 GAlign(GAlign
const&);
49 GAlign(GAlignValue
const&);
59 GAlign(GString
const&);
61 GAlign* clone(
bool copy_value)
const override;
63 Layout mainLayout()
const {
return Layout(value_.main);}
64 Layout crossLayout()
const {
return Layout(value_.cross);}
65 Layout iconLayout()
const {
return Layout(value_.icon);}
67 GAlign& operator=(GAlign
const& val) {
set(val);
return *
this;}
68 GAlign& operator=(GString
const& val) {
set(val);
return *
this;}
70 void setMainLayout(Layout);
71 void setCrossLaoyut(Layout);
72 void setIconLayout(Layout);
74 using GType = GPropType_<GAlign,GProp>;
76 GType& type()
const override {
return Type();}
78 void updateGadget(Gadget&)
override;
79 void apply(Gadget*, GRender&, Specif) final;
85 inline GAlign& Align() {
return *
new GAlign();}
86 inline GAlign& Align(GString
const& value) {
return *
new GAlign(value);}