summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsi29a <psi29a@gmail.com>2022-06-27 20:02:20 +0000
committerpsi29a <psi29a@gmail.com>2022-06-27 20:02:20 +0000
commit776cae4c950145eb49c181a46781ae9f32d19965 (patch)
tree52b5d9542fd2998c1bb00dc42116f73aad24704f
parent3403ea1d9e7b07ad812d2be21ef626181050c6ce (diff)
parent81ec7e80bbbdb5f7ecfa0869d70d06dafe2c5bda (diff)
Merge branch 'assert' into 'master'
Use string_view in Layout and remove dead code See merge request OpenMW/openmw!2060
-rw-r--r--apps/openmw/mwgui/layout.cpp37
-rw-r--r--apps/openmw/mwgui/layout.hpp19
-rw-r--r--apps/openmw/mwgui/windowbase.cpp6
-rw-r--r--apps/openmw/mwgui/windowbase.hpp6
4 files changed, 34 insertions, 34 deletions
diff --git a/apps/openmw/mwgui/layout.cpp b/apps/openmw/mwgui/layout.cpp
index 9ac39f9a00..0f2af30a60 100644
--- a/apps/openmw/mwgui/layout.cpp
+++ b/apps/openmw/mwgui/layout.cpp
@@ -8,29 +8,24 @@
namespace MWGui
{
- void Layout::initialise(const std::string& _layout, MyGUI::Widget* _parent)
+ void Layout::initialise(std::string_view _layout)
{
- const std::string MAIN_WINDOW = "_Main";
+ const auto MAIN_WINDOW = "_Main";
mLayoutName = _layout;
- if (mLayoutName.empty())
- mMainWidget = _parent;
- else
- {
- mPrefix = MyGUI::utility::toString(this, "_");
- mListWindowRoot = MyGUI::LayoutManager::getInstance().loadLayout(mLayoutName, mPrefix, _parent);
+ mPrefix = MyGUI::utility::toString(this, "_");
+ mListWindowRoot = MyGUI::LayoutManager::getInstance().loadLayout(mLayoutName, mPrefix);
- const std::string main_name = mPrefix + MAIN_WINDOW;
- for (MyGUI::Widget* widget : mListWindowRoot)
- {
- if (widget->getName() == main_name)
- mMainWidget = widget;
+ const std::string main_name = mPrefix + MAIN_WINDOW;
+ for (MyGUI::Widget* widget : mListWindowRoot)
+ {
+ if (widget->getName() == main_name)
+ mMainWidget = widget;
- // Force the alignment to update immediately
- widget->_setAlign(widget->getSize(), widget->getParentSize());
- }
- MYGUI_ASSERT(mMainWidget, "root widget name '" << MAIN_WINDOW << "' in layout '" << mLayoutName << "' not found.");
+ // Force the alignment to update immediately
+ widget->_setAlign(widget->getSize(), widget->getParentSize());
}
+ MYGUI_ASSERT(mMainWidget, "root widget name '" << MAIN_WINDOW << "' in layout '" << mLayoutName << "' not found.");
}
void Layout::shutdown()
@@ -50,7 +45,7 @@ namespace MWGui
mMainWidget->setVisible(b);
}
- void Layout::setText(const std::string &name, const std::string &caption)
+ void Layout::setText(std::string_view name, const std::string &caption)
{
MyGUI::Widget* pt;
getWidget(pt, name);
@@ -65,11 +60,13 @@ namespace MWGui
window->setCaptionWithReplacing(title);
}
- MyGUI::Widget* Layout::getWidget(const std::string &_name)
+ MyGUI::Widget* Layout::getWidget(std::string_view _name)
{
+ std::string target = mPrefix;
+ target += _name;
for (MyGUI::Widget* widget : mListWindowRoot)
{
- MyGUI::Widget* find = widget->findWidget(mPrefix + _name);
+ MyGUI::Widget* find = widget->findWidget(target);
if (nullptr != find)
{
return find;
diff --git a/apps/openmw/mwgui/layout.hpp b/apps/openmw/mwgui/layout.hpp
index 39dfc99bf3..f0fd633ee2 100644
--- a/apps/openmw/mwgui/layout.hpp
+++ b/apps/openmw/mwgui/layout.hpp
@@ -2,6 +2,7 @@
#define OPENMW_MWGUI_LAYOUT_H
#include <string>
+#include <string_view>
#include <MyGUI_Widget.h>
@@ -15,9 +16,12 @@ namespace MWGui
class Layout
{
public:
- Layout(const std::string & _layout, MyGUI::Widget* _parent = nullptr)
- : mMainWidget(nullptr)
- { initialise(_layout, _parent); }
+ Layout(std::string_view layout) : mMainWidget(nullptr)
+ {
+ initialise(layout);
+ assert(mMainWidget);
+ }
+
virtual ~Layout()
{
try
@@ -30,10 +34,10 @@ namespace MWGui
}
}
- MyGUI::Widget* getWidget(const std::string& _name);
+ MyGUI::Widget* getWidget(std::string_view name);
template <typename T>
- void getWidget(T * & _widget, const std::string & _name)
+ void getWidget(T * & _widget, std::string_view _name)
{
MyGUI::Widget* w = getWidget(_name);
T* cast = w->castType<T>(false);
@@ -48,8 +52,7 @@ namespace MWGui
}
private:
- void initialise(const std::string & _layout,
- MyGUI::Widget* _parent = nullptr);
+ void initialise(std::string_view layout);
void shutdown();
@@ -58,7 +61,7 @@ namespace MWGui
virtual void setVisible(bool b);
- void setText(const std::string& name, const std::string& caption);
+ void setText(std::string_view name, const std::string& caption);
// NOTE: this assume that mMainWidget is of type Window.
void setTitle(const std::string& title);
diff --git a/apps/openmw/mwgui/windowbase.cpp b/apps/openmw/mwgui/windowbase.cpp
index 84e557fcdc..9e476e4dab 100644
--- a/apps/openmw/mwgui/windowbase.cpp
+++ b/apps/openmw/mwgui/windowbase.cpp
@@ -14,7 +14,7 @@
using namespace MWGui;
-WindowBase::WindowBase(const std::string& parLayout)
+WindowBase::WindowBase(std::string_view parLayout)
: Layout(parLayout)
{
mMainWidget->setVisible(false);
@@ -139,12 +139,12 @@ void NoDrop::setAlpha(float alpha)
mWidget->setAlpha(alpha);
}
-BookWindowBase::BookWindowBase(const std::string& parLayout)
+BookWindowBase::BookWindowBase(std::string_view parLayout)
: WindowBase(parLayout)
{
}
-float BookWindowBase::adjustButton (char const * name)
+float BookWindowBase::adjustButton(std::string_view name)
{
Gui::ImageButton* button;
WindowBase::getWidget (button, name);
diff --git a/apps/openmw/mwgui/windowbase.hpp b/apps/openmw/mwgui/windowbase.hpp
index 395bb8414f..dde9190666 100644
--- a/apps/openmw/mwgui/windowbase.hpp
+++ b/apps/openmw/mwgui/windowbase.hpp
@@ -15,7 +15,7 @@ namespace MWGui
class WindowBase: public Layout
{
public:
- WindowBase(const std::string& parLayout);
+ WindowBase(std::string_view parLayout);
virtual MyGUI::Widget* getDefaultKeyFocus() { return nullptr; }
@@ -88,10 +88,10 @@ namespace MWGui
class BookWindowBase : public WindowBase
{
public:
- BookWindowBase(const std::string& parLayout);
+ BookWindowBase(std::string_view parLayout);
protected:
- float adjustButton (char const * name);
+ float adjustButton(std::string_view name);
};
}