diff options
author | frosch <frosch@openttd.org> | 2010-08-12 06:40:28 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2010-08-12 06:40:28 +0000 |
commit | 629b350a71c10b7675a70226d0ead657258f5cb6 (patch) | |
tree | 9224f20b204250bd4c2788e59fd096fc010839e1 | |
parent | cfde445ec95f14d4358eb3dc32972f971f851dda (diff) | |
download | openttd-629b350a71c10b7675a70226d0ead657258f5cb6.tar.xz |
(svn r20451) -Codechange: Add helper function Window::GetScrollbar() to get the Scrollbar belonging to a scrollbar widget.
-rw-r--r-- | src/window.cpp | 33 | ||||
-rw-r--r-- | src/window_gui.h | 2 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/window.cpp b/src/window.cpp index 3081bc268..a002de09b 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -131,6 +131,39 @@ void Scrollbar::SetCapacityFromWidget(Window *w, int widget, int padding) } /** + * Return the Scrollbar to a widget index. + * @param widnum Scrollbar widget index + * @return Scrollbar to the widget + */ +const Scrollbar *Window::GetScrollbar(uint widnum) const +{ + const NWidgetLeaf *wid = this->GetWidget<NWidgetLeaf>(widnum); + switch (wid->type) { + case WWT_HSCROLLBAR: return &this->hscroll; + case WWT_SCROLLBAR: return &this->vscroll; + case WWT_SCROLL2BAR: return &this->vscroll2; + default: NOT_REACHED(); + } +} + +/** + * Return the Scrollbar to a widget index. + * @param widnum Scrollbar widget index + * @return Scrollbar to the widget + */ +Scrollbar *Window::GetScrollbar(uint widnum) +{ + NWidgetLeaf *wid = this->GetWidget<NWidgetLeaf>(widnum); + switch (wid->type) { + case WWT_HSCROLLBAR: return &this->hscroll; + case WWT_SCROLLBAR: return &this->vscroll; + case WWT_SCROLL2BAR: return &this->vscroll2; + default: NOT_REACHED(); + } +} + + +/** * Set the window that has the focus * @param w The window to set the focus on */ diff --git a/src/window_gui.h b/src/window_gui.h index 38a8759d7..13f61d628 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -407,6 +407,8 @@ public: template <class NWID> inline NWID *GetWidget(uint widnum); + const Scrollbar *GetScrollbar(uint widnum) const; + Scrollbar *GetScrollbar(uint widnum); void InitNested(const WindowDesc *desc, WindowNumber number = 0); void CreateNestedTree(const WindowDesc *desc, bool fill_nested = true); |