diff --git a/bazaar/AutoScroller/AutoScroller.cpp b/bazaar/AutoScroller/AutoScroller.cpp index eb57adb6d..db1e5e5d7 100644 --- a/bazaar/AutoScroller/AutoScroller.cpp +++ b/bazaar/AutoScroller/AutoScroller.cpp @@ -1,3 +1,6 @@ #include "AutoScroller.hpp" -template class AutoScroller; +namespace Upp +{ + template class AutoScroller; +} diff --git a/bazaar/AutoScroller/AutoScroller.h b/bazaar/AutoScroller/AutoScroller.h index 7eaefedd8..62e8a2ea4 100644 --- a/bazaar/AutoScroller/AutoScroller.h +++ b/bazaar/AutoScroller/AutoScroller.h @@ -2,36 +2,37 @@ #define _AutoScroller_AutoScroller_h_ #include -using namespace Upp; -template -class AutoScroller : public C +namespace Upp { -public: - typedef AutoScroller CLASSNAME; - AutoScroller(); + template + class AutoScroller : public C + { + public: + using CLASSNAME = AutoScroller; + AutoScroller(); + + public: + virtual void Layout(); + + void EnableScroll(bool b = true); + void DisableScroll() { EnableScroll(false); } + bool IsEnabledScroll() const { return scroll.x.IsEnabled() || scroll.y.IsEnabled(); } -public: - virtual void Layout(); + void AddPane(Ctrl& c) { ClearPane(); pane = &c; C::Add(c); } + Ctrl* GetPane() const { return pane; } + inline bool HasPane() const { return (~pane != NULL); } + void ClearPane() { if(! ~pane) return; pane->Remove(); pane = NULL; } - void EnableScroll(bool b = true); - void DisableScroll() { EnableScroll(false); } - bool IsEnabledScroll() const { return scroll.x.IsEnabled() || scroll.y.IsEnabled(); } - - void AddPane(Ctrl& c) { ClearPane(); pane = &c; C::Add(c); } - Ctrl* GetPane() const { return pane; } - inline bool HasPane() const { return (~pane != NULL); } - void ClearPane() { if(! ~pane) return; pane->Remove(); pane = NULL; } - - void Scroll(const Point& p); - void OnScroll(); - - Callback WhenScrolled; - ScrollBars scroll; - -protected: - Ptr pane; -}; - + void Scroll(const Point& p); + void OnScroll(); + + Callback WhenScrolled; + ScrollBars scroll; + + protected: + Ptr pane; + }; +} #endif diff --git a/bazaar/AutoScroller/AutoScroller.hpp b/bazaar/AutoScroller/AutoScroller.hpp index bce3079c1..4eb41b5ee 100644 --- a/bazaar/AutoScroller/AutoScroller.hpp +++ b/bazaar/AutoScroller/AutoScroller.hpp @@ -3,45 +3,48 @@ #include "AutoScroller.h" -template -AutoScroller::AutoScroller() +namespace Upp { - C::AddFrame(scroll); - scroll.AutoHide(); - scroll.WhenScroll = THISBACK(OnScroll); -} - -template -void AutoScroller::Scroll(const Point& p) -{ - if(!HasPane()) return; - Rect _r = pane->GetRect(); - Rect r(-p, _r.GetSize()); - pane->SetRect(r); - WhenScrolled(); -} - -template -void AutoScroller::OnScroll() -{ - Scroll(scroll.Get()); -} - -template -void AutoScroller::Layout() -{ - Size psz = C::GetSize(); - scroll.SetPage(psz); - if(!HasPane()) return; - Size tsz = pane->GetSize(); - scroll.SetTotal(tsz); -} - -template -void AutoScroller::EnableScroll(bool b) -{ - scroll.x.Enable(b); - scroll.y.Enable(b); + template + AutoScroller::AutoScroller() + { + C::AddFrame(scroll); + scroll.AutoHide(); + scroll.WhenScroll = THISBACK(OnScroll); + } + + template + void AutoScroller::Scroll(const Point& p) + { + if(!HasPane()) return; + Rect _r = pane->GetRect(); + Rect r(-p, _r.GetSize()); + pane->SetRect(r); + WhenScrolled(); + } + + template + void AutoScroller::OnScroll() + { + Scroll(scroll.Get()); + } + + template + void AutoScroller::Layout() + { + Size psz = C::GetSize(); + scroll.SetPage(psz); + if(!HasPane()) return; + Size tsz = pane->GetSize(); + scroll.SetTotal(tsz); + } + + template + void AutoScroller::EnableScroll(bool b) + { + scroll.x.Enable(b); + scroll.y.Enable(b); + } } #endif