1 /* Copyright (C) 2015 Wildfire Games.
2 * This file is part of 0 A.D.
4 * 0 A.D. is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
9 * 0 A.D. is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
18 #include "precompiled.h"
22 IGUIScrollBarOwner::IGUIScrollBarOwner()
26 IGUIScrollBarOwner::~IGUIScrollBarOwner()
28 for (IGUIScrollBar
* const& sb
: m_ScrollBars
)
32 void IGUIScrollBarOwner::ResetStates()
34 IGUIObject::ResetStates();
36 for (IGUIScrollBar
* const& sb
: m_ScrollBars
)
37 sb
->SetBarPressed(false);
40 void IGUIScrollBarOwner::AddScrollBar(IGUIScrollBar
* scrollbar
)
42 scrollbar
->SetHostObject(this);
43 scrollbar
->SetGUI(GetGUI());
44 m_ScrollBars
.push_back(scrollbar
);
47 const SGUIScrollBarStyle
* IGUIScrollBarOwner::GetScrollBarStyle(const CStr
& style
) const
51 // TODO Gee: Output in log
55 std::map
<CStr
, SGUIScrollBarStyle
>::const_iterator it
= GetGUI()->m_ScrollBarStyles
.find(style
);
56 if (it
== GetGUI()->m_ScrollBarStyles
.end())
58 // TODO Gee: Output in log
65 void IGUIScrollBarOwner::HandleMessage(SGUIMessage
& msg
)
67 for (IGUIScrollBar
* const& sb
: m_ScrollBars
)
68 sb
->HandleMessage(msg
);
71 void IGUIScrollBarOwner::Draw()
73 for (IGUIScrollBar
* const& sb
: m_ScrollBars
)
77 float IGUIScrollBarOwner::GetScrollBarPos(const int index
) const
79 return m_ScrollBars
[index
]->GetPos();