Removes raw pointers management from GUIScrollBarOwner.
This was SVN commit r25693.
This commit is contained in:
parent
fdb4040838
commit
a2257237b3
@ -28,22 +28,18 @@ IGUIScrollBarOwner::IGUIScrollBarOwner(IGUIObject& pObject)
|
||||
{
|
||||
}
|
||||
|
||||
IGUIScrollBarOwner::~IGUIScrollBarOwner()
|
||||
{
|
||||
for (IGUIScrollBar* const& sb : m_ScrollBars)
|
||||
delete sb;
|
||||
}
|
||||
IGUIScrollBarOwner::~IGUIScrollBarOwner() = default;
|
||||
|
||||
void IGUIScrollBarOwner::ResetStates()
|
||||
{
|
||||
for (IGUIScrollBar* const& sb : m_ScrollBars)
|
||||
sb->SetBarPressed(false);
|
||||
for (const std::unique_ptr<IGUIScrollBar>& scrollBar : m_ScrollBars)
|
||||
scrollBar->SetBarPressed(false);
|
||||
}
|
||||
|
||||
void IGUIScrollBarOwner::AddScrollBar(IGUIScrollBar* scrollbar)
|
||||
void IGUIScrollBarOwner::AddScrollBar(std::unique_ptr<IGUIScrollBar> scrollbar)
|
||||
{
|
||||
scrollbar->SetHostObject(this);
|
||||
m_ScrollBars.push_back(scrollbar);
|
||||
m_ScrollBars.emplace_back(std::move(scrollbar));
|
||||
}
|
||||
|
||||
const SGUIScrollBarStyle* IGUIScrollBarOwner::GetScrollBarStyle(const CStr& style) const
|
||||
@ -53,14 +49,14 @@ const SGUIScrollBarStyle* IGUIScrollBarOwner::GetScrollBarStyle(const CStr& styl
|
||||
|
||||
void IGUIScrollBarOwner::HandleMessage(SGUIMessage& msg)
|
||||
{
|
||||
for (IGUIScrollBar* const& sb : m_ScrollBars)
|
||||
sb->HandleMessage(msg);
|
||||
for (const std::unique_ptr<IGUIScrollBar>& scrollBar : m_ScrollBars)
|
||||
scrollBar->HandleMessage(msg);
|
||||
}
|
||||
|
||||
void IGUIScrollBarOwner::Draw(CCanvas2D& canvas)
|
||||
{
|
||||
for (IGUIScrollBar* const& sb : m_ScrollBars)
|
||||
sb->Draw(canvas);
|
||||
for (const std::unique_ptr<IGUIScrollBar>& scrollBar : m_ScrollBars)
|
||||
scrollBar->Draw(canvas);
|
||||
}
|
||||
|
||||
float IGUIScrollBarOwner::GetScrollBarPos(const int index) const
|
||||
|
@ -18,6 +18,7 @@
|
||||
#ifndef INCLUDED_IGUISCROLLBAROWNER
|
||||
#define INCLUDED_IGUISCROLLBAROWNER
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
class CCanvas2D;
|
||||
@ -61,7 +62,7 @@ public:
|
||||
/**
|
||||
* Add a scroll-bar
|
||||
*/
|
||||
virtual void AddScrollBar(IGUIScrollBar* scrollbar);
|
||||
virtual void AddScrollBar(std::unique_ptr<IGUIScrollBar> scrollbar);
|
||||
|
||||
/**
|
||||
* Get Scroll Bar reference (it should be transparent it's actually
|
||||
@ -83,7 +84,7 @@ protected:
|
||||
* Predominately you will only have one, but you can have
|
||||
* as many as you like.
|
||||
*/
|
||||
std::vector<IGUIScrollBar*> m_ScrollBars;
|
||||
std::vector<std::unique_ptr<IGUIScrollBar>> m_ScrollBars;
|
||||
|
||||
private:
|
||||
/**
|
||||
|
@ -78,9 +78,9 @@ CInput::CInput(CGUI& pGUI)
|
||||
{
|
||||
CFG_GET_VAL("gui.cursorblinkrate", m_CursorBlinkRate);
|
||||
|
||||
CGUIScrollBarVertical* bar = new CGUIScrollBarVertical(pGUI);
|
||||
auto bar = std::make_unique<CGUIScrollBarVertical>(pGUI);
|
||||
bar->SetRightAligned(true);
|
||||
AddScrollBar(bar);
|
||||
AddScrollBar(std::move(bar));
|
||||
}
|
||||
|
||||
CInput::~CInput()
|
||||
|
@ -60,9 +60,9 @@ CList::CList(CGUI& pGUI)
|
||||
m_ListData(this, "list_data")
|
||||
{
|
||||
// Add scroll-bar
|
||||
CGUIScrollBarVertical* bar = new CGUIScrollBarVertical(pGUI);
|
||||
auto bar = std::make_unique<CGUIScrollBarVertical>(pGUI);
|
||||
bar->SetRightAligned(true);
|
||||
AddScrollBar(bar);
|
||||
AddScrollBar(std::move(bar));
|
||||
}
|
||||
|
||||
CList::~CList()
|
||||
|
@ -41,9 +41,9 @@ CText::CText(CGUI& pGUI)
|
||||
m_TextColorDisabled(this, "textcolor_disabled")
|
||||
{
|
||||
// Add scroll-bar
|
||||
CGUIScrollBarVertical* bar = new CGUIScrollBarVertical(pGUI);
|
||||
auto bar = std::make_unique<CGUIScrollBarVertical>(pGUI);
|
||||
bar->SetRightAligned(true);
|
||||
AddScrollBar(bar);
|
||||
AddScrollBar(std::move(bar));
|
||||
|
||||
// Add text
|
||||
AddText();
|
||||
|
Loading…
Reference in New Issue
Block a user