1 #include "Common.h"
2 using namespace boost::python;
3
4 NAMESPACE_UPP
5
6 class OptionExpose : public Option
7 {
8 public:
9 typedef Option P;
10
RefreshPush()11 inline virtual void RefreshPush() { return P::RefreshPush(); }
RefreshFocus()12 inline virtual void RefreshFocus() { return P::RefreshFocus(); }
PerformAction()13 inline virtual void PerformAction() { return P::PerformAction(); }
14 };
15
16 class OptionWrap : public Option, public wrapper<Option> {
17 public:
18 typedef Option C;
19
GetMinSize() const20 virtual Size GetMinSize() const { if(override f = this->get_override("getminsize")) return f(); return C::GetMinSize(); }
default_GetMinSize() const21 Size default_GetMinSize() const { return C::GetMinSize(); }
22
SetData(const Value & data)23 virtual void SetData(const Value& data) { if(override f = this->get_override("setdata")) f(data); C::SetData(data); }
default_SetData(const Value & data)24 void default_SetData(const Value& data) { C::SetData(data); }
25
GetData() const26 virtual Value GetData() const { if(override f = this->get_override("getdata")) return f(); return C::GetData(); }
default_GetData() const27 Value default_GetData() const { return C::GetData(); }
28
MouseEnter(Point p,dword keyflags)29 virtual void MouseEnter(Point p, dword keyflags) { if(override f = this->get_override("mouseenter")) f(p, keyflags); C::MouseEnter(p, keyflags); }
default_MouseEnter(Point p,dword keyflags)30 void default_MouseEnter(Point p, dword keyflags) { C::MouseEnter(p, keyflags); }
31
MouseLeave()32 virtual void MouseLeave() { if(override f = this->get_override("mouseleave")) f(); C::MouseLeave(); }
default_MouseLeave()33 void default_MouseLeave() { C::MouseLeave(); }
34
35 //own
RefreshPush()36 virtual void RefreshPush() { if(override f = this->get_override("refreshpush")) f(); C::RefreshPush(); }
default_RefreshPush()37 void default_RefreshPush() { C::RefreshPush(); }
38
RefreshFocus()39 virtual void RefreshFocus() { if(override f = this->get_override("refreshfocus")) f(); C::RefreshFocus(); }
default_RefreshFocus()40 void default_RefreshFocus() { C::RefreshFocus(); }
41
PerformAction()42 virtual void PerformAction() { if(override f = this->get_override("performaction")) f(); C::PerformAction(); }
default_PerformAction()43 void default_PerformAction() { C::PerformAction(); }
44 };
45
OptionBlackEdge(Option & o,bool b)46 void OptionBlackEdge(Option& o, bool b) { o.BlackEdge(b); }
OptionSwitchImage(Option & o,bool b)47 void OptionSwitchImage(Option& o, bool b) { o.SwitchImage(b); }
OptionThreeState(Option & o,bool b)48 void OptionThreeState(Option& o, bool b) { o.ThreeState(b); }
OptionShowLabel(Option & o,bool b)49 void OptionShowLabel(Option& o, bool b) { o.ShowLabel(b); }
OptionNotNull(Option & o,bool b)50 void OptionNotNull(Option& o, bool b) { o.NotNull(b); }
OptionSet(Option & o,int b)51 void OptionSet(Option& o, int b) { o.Set(b); }
52
export_Option()53 void export_Option()
54 {
55 ONCELOCK
56 {
57 class_<Option, bases<Pusher>, boost::noncopyable>("Option", "Upp Option")
58 .def("getminsize", &Option::GetMinSize, &OptionWrap::default_GetMinSize)
59 .def("setdata", &Option::SetData, &OptionWrap::default_SetData)
60 .def("getdata", &Option::GetData, &OptionWrap::default_GetData)
61 .def("mouseenter", &Option::MouseEnter, &OptionWrap::default_MouseEnter)
62 .def("mouseleave", &Option::MouseLeave, &OptionWrap::default_MouseLeave)
63
64 .def("refreshpush", (void (Option::*)())&OptionExpose::RefreshPush, &OptionWrap::default_RefreshPush)
65 .def("refreshfocus", (void (Option::*)())&OptionExpose::RefreshFocus, &OptionWrap::default_RefreshFocus)
66 .def("performaction", (void (Option::*)())&OptionExpose::PerformAction, &OptionWrap::default_PerformAction)
67
68 .add_property("blackedge", &Option::IsBlackEdge, &OptionBlackEdge)
69 .add_property("switchimage", &Option::IsSwitchImage, &OptionSwitchImage)
70 .add_property("threestate", &Option::IsThreeState, &OptionThreeState)
71 .add_property("showlabel", &Option::IsShowLabel, &OptionShowLabel)
72 .add_property("notnull", &Option::IsNotNull, &OptionNotNull)
73
74 .add_property("data", &Option::Get, &OptionSet)
75 ;
76 }
77 }
78
79 END_UPP_NAMESPACE
80