From 1b5b6c8dd86eeb256262357a164c3e71cde429f2 Mon Sep 17 00:00:00 2001 From: kohait Date: Wed, 22 Jun 2011 13:22:00 +0000 Subject: [PATCH] bazaar: BoostPyTest: added some more controls, now works under Linux as well git-svn-id: svn://ultimatepp.org/upp/trunk@3552 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- bazaar/CtrlLibBoostPy/Button.cpp | 15 +++ bazaar/CtrlLibBoostPy/ButtonOption.cpp | 18 ++++ bazaar/CtrlLibBoostPy/CtrlCore.cpp | 125 ++++++++++++++++++++++- bazaar/CtrlLibBoostPy/CtrlCore.h | 5 - bazaar/CtrlLibBoostPy/CtrlLibBoostPy.cpp | 10 +- bazaar/CtrlLibBoostPy/CtrlLibBoostPy.h | 42 +++++++- bazaar/CtrlLibBoostPy/CtrlLibBoostPy.upp | 12 +-- bazaar/CtrlLibBoostPy/EditCtrl.h | 1 - bazaar/CtrlLibBoostPy/Misc.cpp | 2 +- bazaar/CtrlLibBoostPy/Misc.h | 1 - bazaar/CtrlLibBoostPy/Option.cpp | 26 +++++ bazaar/CtrlLibBoostPy/Progress.cpp | 1 - bazaar/CtrlLibBoostPy/Progress.h | 1 - bazaar/CtrlLibBoostPy/Pusher.cpp | 92 +++++++++++++++++ bazaar/CtrlLibBoostPy/SliderCtrl.cpp | 2 +- bazaar/CtrlLibBoostPy/SliderCtrl.h | 1 - bazaar/CtrlLibBoostPy/Switch.cpp | 18 ++++ bazaar/Py/Py.upp | 6 ++ bazaar/Py/install.txt | 17 ++- 19 files changed, 365 insertions(+), 30 deletions(-) create mode 100644 bazaar/CtrlLibBoostPy/Button.cpp create mode 100644 bazaar/CtrlLibBoostPy/ButtonOption.cpp create mode 100644 bazaar/CtrlLibBoostPy/Option.cpp create mode 100644 bazaar/CtrlLibBoostPy/Pusher.cpp create mode 100644 bazaar/CtrlLibBoostPy/Switch.cpp diff --git a/bazaar/CtrlLibBoostPy/Button.cpp b/bazaar/CtrlLibBoostPy/Button.cpp new file mode 100644 index 000000000..56213d7b4 --- /dev/null +++ b/bazaar/CtrlLibBoostPy/Button.cpp @@ -0,0 +1,15 @@ +#include "Common.h" +using namespace boost::python; + +NAMESPACE_UPP + +void export_Button() +{ +ONCELOCK +{ + class_, boost::noncopyable>("Button", "Upp Button") + ; +} +} + +END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/ButtonOption.cpp b/bazaar/CtrlLibBoostPy/ButtonOption.cpp new file mode 100644 index 000000000..0de85b514 --- /dev/null +++ b/bazaar/CtrlLibBoostPy/ButtonOption.cpp @@ -0,0 +1,18 @@ +#include "Common.h" +using namespace boost::python; + +NAMESPACE_UPP + +void ButtonOptionSetLabel(ButtonOption& c, const String& s) { c.SetLabel(s); } + +void export_ButtonOption() +{ +ONCELOCK +{ + class_, boost::noncopyable>("ButtonOption", "Upp ButtonOption") + .add_property("label", &ButtonOption::GetLabel, &ButtonOptionSetLabel) + ; +} +} + +END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/CtrlCore.cpp b/bazaar/CtrlLibBoostPy/CtrlCore.cpp index 362b3eaf4..6ea9f3fc3 100644 --- a/bazaar/CtrlLibBoostPy/CtrlCore.cpp +++ b/bazaar/CtrlLibBoostPy/CtrlCore.cpp @@ -1,4 +1,4 @@ -#include "CtrlCore.h" +#include "Common.h" using namespace boost::python; NAMESPACE_UPP @@ -132,11 +132,81 @@ public: virtual void Deactivate() { if(override f = this->get_override("deactivate")) f(); C::Deactivate(); } void default_Deactivate() { C::Deactivate(); } + virtual void MouseEnter(Point p, dword keyflags) { if(override f = this->get_override("mouseenter")) f(p, keyflags); C::MouseEnter(p, keyflags); } + void default_MouseEnter(Point p, dword keyflags) { C::MouseEnter(p, keyflags); } + + virtual void MouseMove(Point p, dword keyflags) { if(override f = this->get_override("mousemove")) f(p, keyflags); C::MouseMove(p, keyflags); } + void default_MouseMove(Point p, dword keyflags) { C::MouseMove(p, keyflags); } + virtual void LeftDown(Point p, dword keyflags) { if(override f = this->get_override("leftdown")) f(p, keyflags); C::LeftDown(p, keyflags); } void default_LeftDown(Point p, dword keyflags) { C::LeftDown(p, keyflags); } - //more of interface to come - + virtual void LeftDouble(Point p, dword keyflags) { if(override f = this->get_override("leftdouble")) f(p, keyflags); C::LeftDouble(p, keyflags); } + void default_LeftDouble(Point p, dword keyflags) { C::LeftDouble(p, keyflags); } + + virtual void LeftTriple(Point p, dword keyflags) { if(override f = this->get_override("lefttriple")) f(p, keyflags); C::LeftTriple(p, keyflags); } + void default_LeftTriple(Point p, dword keyflags) { C::LeftTriple(p, keyflags); } + + virtual void LeftRepeat(Point p, dword keyflags) { if(override f = this->get_override("leftrepeat")) f(p, keyflags); C::LeftRepeat(p, keyflags); } + void default_LeftRepeat(Point p, dword keyflags) { C::LeftRepeat(p, keyflags); } + + virtual void LeftDrag(Point p, dword keyflags) { if(override f = this->get_override("leftdrag")) f(p, keyflags); C::LeftDrag(p, keyflags); } + void default_LeftDrag(Point p, dword keyflags) { C::LeftDrag(p, keyflags); } + + virtual void LeftHold(Point p, dword keyflags) { if(override f = this->get_override("lefthold")) f(p, keyflags); C::LeftHold(p, keyflags); } + void default_LeftHold(Point p, dword keyflags) { C::LeftHold(p, keyflags); } + + virtual void LeftUp(Point p, dword keyflags) { if(override f = this->get_override("leftup")) f(p, keyflags); C::LeftUp(p, keyflags); } + void default_LeftUp(Point p, dword keyflags) { C::LeftUp(p, keyflags); } + + virtual void RightDown(Point p, dword keyflags) { if(override f = this->get_override("rightdown")) f(p, keyflags); C::RightDown(p, keyflags); } + void default_RightDown(Point p, dword keyflags) { C::RightDown(p, keyflags); } + + virtual void RightDouble(Point p, dword keyflags) { if(override f = this->get_override("rightdouble")) f(p, keyflags); C::RightDouble(p, keyflags); } + void default_RightDouble(Point p, dword keyflags) { C::RightDouble(p, keyflags); } + + virtual void RightTriple(Point p, dword keyflags) { if(override f = this->get_override("righttriple")) f(p, keyflags); C::RightTriple(p, keyflags); } + void default_RightTriple(Point p, dword keyflags) { C::RightTriple(p, keyflags); } + + virtual void RightRepeat(Point p, dword keyflags) { if(override f = this->get_override("rightrepeat")) f(p, keyflags); C::RightRepeat(p, keyflags); } + void default_RightRepeat(Point p, dword keyflags) { C::RightRepeat(p, keyflags); } + + virtual void RightDrag(Point p, dword keyflags) { if(override f = this->get_override("rightdrag")) f(p, keyflags); C::RightDrag(p, keyflags); } + void default_RightDrag(Point p, dword keyflags) { C::RightDrag(p, keyflags); } + + virtual void RightHold(Point p, dword keyflags) { if(override f = this->get_override("righthold")) f(p, keyflags); C::RightHold(p, keyflags); } + void default_RightHold(Point p, dword keyflags) { C::RightHold(p, keyflags); } + + virtual void RightUp(Point p, dword keyflags) { if(override f = this->get_override("rightup")) f(p, keyflags); C::RightUp(p, keyflags); } + void default_RightUp(Point p, dword keyflags) { C::RightUp(p, keyflags); } + + virtual void MiddleDown(Point p, dword keyflags) { if(override f = this->get_override("middledown")) f(p, keyflags); C::MiddleDown(p, keyflags); } + void default_MiddleDown(Point p, dword keyflags) { C::MiddleDown(p, keyflags); } + + virtual void MiddleDouble(Point p, dword keyflags) { if(override f = this->get_override("middledouble")) f(p, keyflags); C::MiddleDouble(p, keyflags); } + void default_MiddleDouble(Point p, dword keyflags) { C::MiddleDouble(p, keyflags); } + + virtual void MiddleTriple(Point p, dword keyflags) { if(override f = this->get_override("middletriple")) f(p, keyflags); C::MiddleTriple(p, keyflags); } + void default_MiddleTriple(Point p, dword keyflags) { C::MiddleTriple(p, keyflags); } + + virtual void MiddleRepeat(Point p, dword keyflags) { if(override f = this->get_override("middlerepeat")) f(p, keyflags); C::MiddleRepeat(p, keyflags); } + void default_MiddleRepeat(Point p, dword keyflags) { C::MiddleRepeat(p, keyflags); } + + virtual void MiddleDrag(Point p, dword keyflags) { if(override f = this->get_override("middledrag")) f(p, keyflags); C::MiddleDrag(p, keyflags); } + void default_MiddleDrag(Point p, dword keyflags) { C::MiddleDrag(p, keyflags); } + + virtual void MiddleHold(Point p, dword keyflags) { if(override f = this->get_override("middlehold")) f(p, keyflags); C::MiddleHold(p, keyflags); } + void default_MiddleHold(Point p, dword keyflags) { C::MiddleHold(p, keyflags); } + + virtual void MiddleUp(Point p, dword keyflags) { if(override f = this->get_override("middleup")) f(p, keyflags); C::MiddleUp(p, keyflags); } + void default_MiddleUp(Point p, dword keyflags) { C::MiddleUp(p, keyflags); } + + virtual void MouseWheel(Point p, int zdelta, dword keyflags) { if(override f = this->get_override("mousewheel")) f(p, zdelta, keyflags); C::MouseWheel(p, zdelta, keyflags); } + void default_MouseWheel(Point p, int zdelta, dword keyflags) { C::MouseWheel(p, zdelta, keyflags); } + + virtual void MouseLeave() { if(override f = this->get_override("mouseleave")) f(); C::MouseLeave(); } + void default_MouseLeave() { C::MouseLeave(); } + virtual bool Key(dword key, int count) { if(override f = this->get_override("key")) return f(key, count); return C::Key(key, count); } bool default_Key(dword key, int count) { return C::Key(key, count); } @@ -146,6 +216,18 @@ public: virtual void LostFocus() { if(override f = this->get_override("lostfocus")) f(); C::LostFocus(); } void default_LostFocus() { C::LostFocus(); } + virtual bool HotKey(dword key) { if(override f = this->get_override("hotkey")) return f(key); return C::HotKey(key); } + bool default_HotKey(dword key) { return C::HotKey(key); } + + virtual dword GetAccessKeys() const { if(override f = this->get_override("getaccesskeys")) return f(); return C::GetAccessKeys(); } + dword default_GetAccessKeys() const { return C::GetAccessKeys(); } + + virtual void AssignAccessKeys(dword key) { if(override f = this->get_override("assignaccesskeys")) f(key); C::AssignAccessKeys(key); } + void default_AssignAccessKeys(dword key) { C::AssignAccessKeys(key); } + + virtual void PostInput() { if(override f = this->get_override("postinput")) f(); C::PostInput(); } + void default_PostInput() { C::PostInput(); } + virtual void ChildGotFocus() { if(override f = this->get_override("childgotfocus")) f(); C::ChildGotFocus(); } void default_ChildGotFocus() { C::ChildGotFocus(); } @@ -300,13 +382,46 @@ ONCELOCK .def("activate", &Ctrl::Activate, &CtrlWrap::default_Activate) .def("deactivate", &Ctrl::Deactivate, &CtrlWrap::default_Deactivate) + .def("mouseenter", &Ctrl::MouseEnter, &CtrlWrap::default_MouseEnter) + .def("mousemove", &Ctrl::MouseMove, &CtrlWrap::default_MouseMove) + .def("leftdown", &Ctrl::LeftDown, &CtrlWrap::default_LeftDown) - //... + .def("leftdouble", &Ctrl::LeftDouble, &CtrlWrap::default_LeftDouble) + .def("lefttriple", &Ctrl::LeftTriple, &CtrlWrap::default_LeftTriple) + .def("leftrepeat", &Ctrl::LeftRepeat, &CtrlWrap::default_LeftRepeat) + .def("leftdrag", &Ctrl::LeftDrag, &CtrlWrap::default_LeftDrag) + .def("lefthold", &Ctrl::LeftHold, &CtrlWrap::default_LeftHold) + .def("leftup", &Ctrl::LeftUp, &CtrlWrap::default_LeftUp) + + .def("rightdown", &Ctrl::RightDown, &CtrlWrap::default_RightDown) + .def("rightdouble", &Ctrl::RightDouble, &CtrlWrap::default_RightDouble) + .def("righttriple", &Ctrl::RightTriple, &CtrlWrap::default_RightTriple) + .def("rightrepeat", &Ctrl::RightRepeat, &CtrlWrap::default_RightRepeat) + .def("rightdrag", &Ctrl::RightDrag, &CtrlWrap::default_RightDrag) + .def("righthold", &Ctrl::RightHold, &CtrlWrap::default_RightHold) + .def("rightup", &Ctrl::RightUp, &CtrlWrap::default_RightUp) + + .def("middledown", &Ctrl::MiddleDown, &CtrlWrap::default_MiddleDown) + .def("middledouble", &Ctrl::MiddleDouble, &CtrlWrap::default_MiddleDouble) + .def("middletriple", &Ctrl::MiddleTriple, &CtrlWrap::default_MiddleTriple) + .def("middlerepeat", &Ctrl::MiddleRepeat, &CtrlWrap::default_MiddleRepeat) + .def("middledrag", &Ctrl::MiddleDrag, &CtrlWrap::default_MiddleDrag) + .def("middlehold", &Ctrl::MiddleHold, &CtrlWrap::default_MiddleHold) + .def("middleup", &Ctrl::MiddleUp, &CtrlWrap::default_MiddleUp) + + .def("mousewheel", &Ctrl::MouseWheel, &CtrlWrap::default_MouseWheel) + .def("mouseleave", &Ctrl::MouseLeave, &CtrlWrap::default_MouseLeave) + .def("key", &Ctrl::Key, &CtrlWrap::default_Key) .def("gotfocus", &Ctrl::GotFocus, &CtrlWrap::default_GotFocus) .def("lostfocus", &Ctrl::LostFocus, &CtrlWrap::default_LostFocus) + .def("hotkey", &Ctrl::HotKey, &CtrlWrap::default_HotKey) + .def("getaccesskeys", &Ctrl::GetAccessKeys, &CtrlWrap::default_GetAccessKeys) + .def("assignaccesskeys", &Ctrl::AssignAccessKeys, &CtrlWrap::default_AssignAccessKeys) + .def("postinput", &Ctrl::PostInput, &CtrlWrap::default_PostInput) + .def("childgotfocus", &Ctrl::ChildGotFocus, &CtrlWrap::default_ChildGotFocus) .def("childlostfocus", &Ctrl::ChildLostFocus, &CtrlWrap::default_ChildLostFocus) .def("childadded", &Ctrl::ChildAdded, &CtrlWrap::default_ChildAdded) @@ -399,7 +514,7 @@ ONCELOCK .def("sync", (void (Ctrl::*)())&Ctrl::Sync) - //.add_property("ignoremouse", &Ctrl::IgnoreMouse, &CtrlIgnoreMouse) + .add_property("ignoremouse", &Ctrl::IsIgnoreMouse, &CtrlIgnoreMouse) .add_property("capture", &Ctrl::HasCapture, &CtrlSetCapture) .add_property("focus", &Ctrl::HasFocus, &CtrlSetFocus) .def("hasfocusdeep", &Ctrl::HasFocusDeep) diff --git a/bazaar/CtrlLibBoostPy/CtrlCore.h b/bazaar/CtrlLibBoostPy/CtrlCore.h index 3e8ae4e66..d65832e39 100644 --- a/bazaar/CtrlLibBoostPy/CtrlCore.h +++ b/bazaar/CtrlLibBoostPy/CtrlCore.h @@ -5,11 +5,6 @@ NAMESPACE_UPP -void export_Logc(); -void export_LogPos(); -void export_CtrlCore(); -void export_TopWindow(); - END_UPP_NAMESPACE #endif diff --git a/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.cpp b/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.cpp index 00e86c9e2..54cd05230 100644 --- a/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.cpp +++ b/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.cpp @@ -9,12 +9,20 @@ ONCELOCK export_CtrlCore(); export_TopWindow(); + export_Pusher(); + export_Button(); + export_ButtonOption(); + export_Option(); + export_Switch(); + export_EditCtrl(); export_SliderCtrl(); - export_ValueCtrl(); export_Progress(); export_Prompts(); + + //FIXME move outside, it's in bazaar + export_ValueCtrl(); } } diff --git a/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.h b/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.h index 8eac67cf6..190859554 100644 --- a/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.h +++ b/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.h @@ -1,15 +1,47 @@ #ifndef _CtrlLibBoostPy_CtrlLibBoostPy_h_ #define _CtrlLibBoostPy_CtrlLibBoostPy_h_ -#include "CtrlCore.h" -#include "Misc.h" -#include "EditCtrl.h" -#include "SliderCtrl.h" +#include "Common.h" + +//FIXME remove, since it's bazaar #include "ValueCtrl.h" -#include "Progress.h" NAMESPACE_UPP +//CtrlCore.cpp +void export_Logc(); +void export_LogPos(); +void export_CtrlCore(); +void export_TopWindow(); + +//Misc.cpp +void export_Prompts(); + +//Pusher.cpp +void export_Pusher(); + +//Button.cpp +void export_Button(); + +//ButtonOption.cpp +void export_ButtonOption(); + +//Option.cpp +void export_Option(); + +//Switch.cpp +void export_Switch(); + +//EditCtrl.cpp +void export_EditCtrl(); + +//Progress.cpp +void export_Progress(); + +//SliderCtrl.cpp +void export_SliderCtrl(); + +/// void export_CtrlLib(); END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.upp b/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.upp index 21783d42c..a93ff574f 100644 --- a/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.upp +++ b/bazaar/CtrlLibBoostPy/CtrlLibBoostPy.upp @@ -5,18 +5,18 @@ uses file Common.h, - CtrlCore.h, CtrlCore.cpp, - Misc.h, - Misc.cpp, - SliderCtrl.h, + Pusher.cpp, + Button.cpp, + ButtonOption.cpp, + Option.cpp, + Switch.cpp, SliderCtrl.cpp, ValueCtrl.h, ValueCtrl.cpp, - EditCtrl.h, EditCtrl.cpp, - Progress.h, Progress.cpp, + Misc.cpp, CtrlLibBoostPy.h, CtrlLibBoostPy.cpp; diff --git a/bazaar/CtrlLibBoostPy/EditCtrl.h b/bazaar/CtrlLibBoostPy/EditCtrl.h index 0ca04e585..e92b74b99 100644 --- a/bazaar/CtrlLibBoostPy/EditCtrl.h +++ b/bazaar/CtrlLibBoostPy/EditCtrl.h @@ -5,7 +5,6 @@ NAMESPACE_UPP -void export_EditCtrl(); END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/Misc.cpp b/bazaar/CtrlLibBoostPy/Misc.cpp index 35c0a039c..b4d9d5623 100644 --- a/bazaar/CtrlLibBoostPy/Misc.cpp +++ b/bazaar/CtrlLibBoostPy/Misc.cpp @@ -1,4 +1,4 @@ -#include "Misc.h" +#include "Common.h" using namespace boost::python; NAMESPACE_UPP diff --git a/bazaar/CtrlLibBoostPy/Misc.h b/bazaar/CtrlLibBoostPy/Misc.h index 61ca6ec26..974d6cff8 100644 --- a/bazaar/CtrlLibBoostPy/Misc.h +++ b/bazaar/CtrlLibBoostPy/Misc.h @@ -5,7 +5,6 @@ NAMESPACE_UPP -void export_Prompts(); END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/Option.cpp b/bazaar/CtrlLibBoostPy/Option.cpp new file mode 100644 index 000000000..46effb95b --- /dev/null +++ b/bazaar/CtrlLibBoostPy/Option.cpp @@ -0,0 +1,26 @@ +#include "Common.h" +using namespace boost::python; + +NAMESPACE_UPP + +void OptionBlackEdge(Option& o, bool b) { o.BlackEdge(b); } +void OptionSwitchImage(Option& o, bool b) { o.SwitchImage(b); } +void OptionThreeState(Option& o, bool b) { o.ThreeState(b); } +void OptionShowLabel(Option& o, bool b) { o.ShowLabel(b); } +void OptionNotNull(Option& o, bool b) { o.NotNull(b); } + +void export_Option() +{ +ONCELOCK +{ + class_, boost::noncopyable>("Option", "Upp Option") + .add_property("blackedge", &Option::IsBlackEdge, &OptionBlackEdge) + .add_property("switchimage", &Option::IsSwitchImage, &OptionSwitchImage) + .add_property("threestate", &Option::IsThreeState, &OptionThreeState) + .add_property("showlabel", &Option::IsShowLabel, &OptionShowLabel) + .add_property("notnull", &Option::IsNotNull, &OptionNotNull) + ; +} +} + +END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/Progress.cpp b/bazaar/CtrlLibBoostPy/Progress.cpp index a586047ba..e56261bca 100644 --- a/bazaar/CtrlLibBoostPy/Progress.cpp +++ b/bazaar/CtrlLibBoostPy/Progress.cpp @@ -23,7 +23,6 @@ ONCELOCK .def("setposcanceled", &Progress::SetPosCanceled) .def("stepcanceled", &Progress::StepCanceled) ; - } } diff --git a/bazaar/CtrlLibBoostPy/Progress.h b/bazaar/CtrlLibBoostPy/Progress.h index 7f92cd1a0..0965a4149 100644 --- a/bazaar/CtrlLibBoostPy/Progress.h +++ b/bazaar/CtrlLibBoostPy/Progress.h @@ -5,7 +5,6 @@ NAMESPACE_UPP -void export_Progress(); END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/Pusher.cpp b/bazaar/CtrlLibBoostPy/Pusher.cpp new file mode 100644 index 000000000..4aac30a8d --- /dev/null +++ b/bazaar/CtrlLibBoostPy/Pusher.cpp @@ -0,0 +1,92 @@ +#include "Common.h" +using namespace boost::python; + +NAMESPACE_UPP + +class PusherWrap : public Pusher, public wrapper { +public: + typedef Pusher C; + + virtual void CancelMode() { if(override f = this->get_override("cancelmode")) f(); C::CancelMode(); } + void default_CancelMode() { C::CancelMode(); } + + virtual void LeftDown(Point p, dword keyflags) { if(override f = this->get_override("leftdown")) f(p, keyflags); C::LeftDown(p, keyflags); } + void default_LeftDown(Point p, dword keyflags) { C::LeftDown(p, keyflags); } + + virtual void MouseMove(Point p, dword keyflags) { if(override f = this->get_override("mousemove")) f(p, keyflags); C::MouseMove(p, keyflags); } + void default_MouseMove(Point p, dword keyflags) { C::MouseMove(p, keyflags); } + + virtual void MouseLeave() { if(override f = this->get_override("mouseleave")) f(); C::MouseLeave(); } + void default_MouseLeave() { C::MouseLeave(); } + + virtual void LeftRepeat(Point p, dword keyflags) { if(override f = this->get_override("leftrepeat")) f(p, keyflags); C::LeftRepeat(p, keyflags); } + void default_LeftRepeat(Point p, dword keyflags) { C::LeftRepeat(p, keyflags); } + + virtual void LeftUp(Point p, dword keyflags) { if(override f = this->get_override("leftup")) f(p, keyflags); C::LeftUp(p, keyflags); } + void default_LeftUp(Point p, dword keyflags) { C::LeftUp(p, keyflags); } + + virtual void GotFocus() { if(override f = this->get_override("gotfocus")) f(); C::GotFocus(); } + void default_GotFocus() { C::GotFocus(); } + + virtual void LostFocus() { if(override f = this->get_override("lostfocus")) f(); C::LostFocus(); } + void default_LostFocus() { C::LostFocus(); } + + virtual void State(int reason) { if(override f = this->get_override("state")) f(reason); C::State(reason); } + void default_State(int reason) { C::State(reason); } + + virtual String GetDesc() const { if(override f = this->get_override("getdesc")) return f(); return C::GetDesc(); } + String default_GetDesc() const { return C::GetDesc(); } + + virtual bool Key(dword key, int count) { if(override f = this->get_override("key")) return f(key, count); return C::Key(key, count); } + bool default_Key(dword key, int count) { return C::Key(key, count); } + + virtual dword GetAccessKeys() const { if(override f = this->get_override("getaccesskeys")) return f(); return C::GetAccessKeys(); } + dword default_GetAccessKeys() const { return C::GetAccessKeys(); } + + virtual void AssignAccessKeys(dword key) { if(override f = this->get_override("assignaccesskeys")) f(key); C::AssignAccessKeys(key); } + void default_AssignAccessKeys(dword key) { C::AssignAccessKeys(key); } + + virtual bool HotKey(dword key) { if(override f = this->get_override("hotkey")) return f(key); return C::HotKey(key); } + bool default_HotKey(dword key) { return C::HotKey(key); } + + //own + virtual void RefreshPush() { if(override f = this->get_override("refreshpush")) f(); C::RefreshPush(); } + void default_RefreshPush() { C::RefreshPush(); } + + virtual void RefreshFocus() { if(override f = this->get_override("refreshfocus")) f(); C::RefreshFocus(); } + void default_RefreshFocus() { C::RefreshFocus(); } + + virtual void PerformAction() { if(override f = this->get_override("performaction")) f(); C::PerformAction(); } + void default_PerformAction() { C::PerformAction(); } +}; + +void PusherSetLabel(Pusher& c, const String& s) { c.SetLabel(s); } +void PusherClickFocus(Pusher& c, bool b) { c.ClickFocus(b); } + +void export_Pusher() +{ +ONCELOCK +{ + class_, boost::noncopyable>("Pusher", "Upp Pusher") + .def("cancelmode", &Pusher::CancelMode, &PusherWrap::default_CancelMode) + .def("leftdown", &Pusher::LeftDown, &PusherWrap::default_LeftDown) + .def("mousemove", &Pusher::MouseMove, &PusherWrap::default_MouseMove) + .def("mouseleave", &Pusher::MouseLeave, &PusherWrap::default_MouseLeave) + .def("leftrepeat", &Pusher::LeftRepeat, &PusherWrap::default_LeftRepeat) + .def("leftup", &Pusher::LeftUp, &PusherWrap::default_LeftUp) + .def("gotfocus", &Pusher::GotFocus, &PusherWrap::default_GotFocus) + .def("lostfocus", &Pusher::LostFocus, &PusherWrap::default_LostFocus) + .def("state", &Pusher::State, &PusherWrap::default_State) + .def("key", &Pusher::Key, &PusherWrap::default_Key) + .def("getaccesskeys", &Pusher::GetAccessKeys, &PusherWrap::default_GetAccessKeys) + .def("assignaccesskeys", &Pusher::AssignAccessKeys, &PusherWrap::default_AssignAccessKeys) + .def("hotkey", &Pusher::HotKey, &PusherWrap::default_HotKey) + +// .def("refreshpush", &Pusher::RefreshPush, &PusherWrap::default_RefreshPush) +// .def("refreshfocus", &Pusher::RefreshFocus, &PusherWrap::default_RefreshFocus) +// .def("performaction", &Pusher::PerformAction, &PusherWrap::default_PerformAction) + ; +} +} + +END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/SliderCtrl.cpp b/bazaar/CtrlLibBoostPy/SliderCtrl.cpp index bdcd89bf4..776894183 100644 --- a/bazaar/CtrlLibBoostPy/SliderCtrl.cpp +++ b/bazaar/CtrlLibBoostPy/SliderCtrl.cpp @@ -1,4 +1,4 @@ -#include "SliderCtrl.h" +#include "Common.h" using namespace boost::python; NAMESPACE_UPP diff --git a/bazaar/CtrlLibBoostPy/SliderCtrl.h b/bazaar/CtrlLibBoostPy/SliderCtrl.h index 8738cf3f1..14086aad1 100644 --- a/bazaar/CtrlLibBoostPy/SliderCtrl.h +++ b/bazaar/CtrlLibBoostPy/SliderCtrl.h @@ -5,7 +5,6 @@ NAMESPACE_UPP -void export_SliderCtrl(); END_UPP_NAMESPACE diff --git a/bazaar/CtrlLibBoostPy/Switch.cpp b/bazaar/CtrlLibBoostPy/Switch.cpp new file mode 100644 index 000000000..d3c2345ca --- /dev/null +++ b/bazaar/CtrlLibBoostPy/Switch.cpp @@ -0,0 +1,18 @@ +#include "Common.h" +using namespace boost::python; + +NAMESPACE_UPP + +void SwitchSetLabel(Switch& c, const String& s) { c.SetLabel(s); } + +void export_Switch() +{ +ONCELOCK +{ + class_, boost::noncopyable>("Switch", "Upp Switch") + .add_property("label", (String (Switch::*)() const)&Switch::GetLabel, &SwitchSetLabel) + ; +} +} + +END_UPP_NAMESPACE diff --git a/bazaar/Py/Py.upp b/bazaar/Py/Py.upp index 13ac9d0e8..4449643ed 100644 --- a/bazaar/Py/Py.upp +++ b/bazaar/Py/Py.upp @@ -7,6 +7,12 @@ library(MSC !BOOSTPY !DEBUG) python27; library(MSC !BOOSTPY DEBUG) python27_d; +library(LINUX) python2.7; + +library(LINUX BOOSTPY MT) boost_python-mt; + +library(LINUX BOOSTPY !MT) boost_python; + file Py.h, init.icpp, diff --git a/bazaar/Py/install.txt b/bazaar/Py/install.txt index b6b24cbd3..27b8cb3b4 100644 --- a/bazaar/Py/install.txt +++ b/bazaar/Py/install.txt @@ -1,5 +1,7 @@ to make python work in upp there are few steps to do.. +WINDOWS + go to the python page http://www.python.org/getit/ @@ -18,6 +20,7 @@ C:\Python27\libs C:\Python27\DLLs again, linux should already have python available from start. +for more linux info see below. make sure NOT to choose DEBUG compile, since it will fail. the reason: python27 headers need some more functions in debug mode, which are not provided in release lib. @@ -107,4 +110,16 @@ during build of the boost python libs to instruct them proper linkage. thats why it is the esiest way to control manually, which lib is going to be included manually. #define MS_NO_COREDLL 1 #define Py_ENABLE_SHARED 1 -are to disable the pragma comment(lib,) stuff so we manually can specify the libs while preserving all shared stuff. \ No newline at end of file +are to disable the pragma comment(lib,) stuff so we manually can specify the libs while preserving all shared stuff. + +LINUX + +there is so far no easy way to make linkage easy in linux. but you should be familiar +with the compile/link process in linux anyway. in pakcage configuration +add the respective lib, i.e. 'python2.7'. static linking stuff is found in /usr/lib/python/config, typically. +do not compile all static, this does'nt work well, it will need a lot other satic dependencies, like gtk. +boost will also require you to build shared or all shared. +you definitely will need to add '/usr/include/python' to your include paths in the build method. +boost will complain, if not. + +boost will need to add the 'boost_python' lib or 'boost_python-mt' lib for MT compile,