diff options
author | psi29a <psi29a@gmail.com> | 2022-06-27 20:02:20 +0000 |
---|---|---|
committer | psi29a <psi29a@gmail.com> | 2022-06-27 20:02:20 +0000 |
commit | 776cae4c950145eb49c181a46781ae9f32d19965 (patch) | |
tree | 52b5d9542fd2998c1bb00dc42116f73aad24704f | |
parent | 3403ea1d9e7b07ad812d2be21ef626181050c6ce (diff) | |
parent | 81ec7e80bbbdb5f7ecfa0869d70d06dafe2c5bda (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.cpp | 37 | ||||
-rw-r--r-- | apps/openmw/mwgui/layout.hpp | 19 | ||||
-rw-r--r-- | apps/openmw/mwgui/windowbase.cpp | 6 | ||||
-rw-r--r-- | apps/openmw/mwgui/windowbase.hpp | 6 |
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); }; } |