From ab5a67829ec6c80accfeb4f186a70886c82c8dba Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 22 Feb 2014 16:59:58 +0300 Subject: Move extendednamesmodel into gui/models directory. --- src/CMakeLists.txt | 4 +-- src/Makefile.am | 4 +-- src/gui/models/extendednamesmodel.cpp | 65 ++++++++++++++++++++++++++++++++++ src/gui/models/extendednamesmodel.h | 59 ++++++++++++++++++++++++++++++ src/gui/widgets/extendednamesmodel.cpp | 65 ---------------------------------- src/gui/widgets/extendednamesmodel.h | 59 ------------------------------ src/gui/windows/questswindow.cpp | 3 +- 7 files changed, 130 insertions(+), 129 deletions(-) create mode 100644 src/gui/models/extendednamesmodel.cpp create mode 100644 src/gui/models/extendednamesmodel.h delete mode 100644 src/gui/widgets/extendednamesmodel.cpp delete mode 100644 src/gui/widgets/extendednamesmodel.h (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72bff6ee1..9e13f9098 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -139,8 +139,8 @@ SET(SRCS gui/widgets/extendedlistbox.cpp gui/widgets/extendedlistbox.h gui/models/extendedlistmodel.h - gui/widgets/extendednamesmodel.cpp - gui/widgets/extendednamesmodel.h + gui/models/extendednamesmodel.cpp + gui/models/extendednamesmodel.h gui/widgets/flowcontainer.cpp gui/widgets/flowcontainer.h gui/widgets/tabs/gmtab.cpp diff --git a/src/Makefile.am b/src/Makefile.am index 2179818d7..5622d0a42 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -235,8 +235,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ gui/widgets/extendedlistbox.cpp \ gui/widgets/extendedlistbox.h \ gui/models/extendedlistmodel.h \ - gui/widgets/extendednamesmodel.cpp \ - gui/widgets/extendednamesmodel.h \ + gui/models/extendednamesmodel.cpp \ + gui/models/extendednamesmodel.h \ gui/widgets/flowcontainer.cpp \ gui/widgets/flowcontainer.h \ gui/widgets/tabs/gmtab.cpp \ diff --git a/src/gui/models/extendednamesmodel.cpp b/src/gui/models/extendednamesmodel.cpp new file mode 100644 index 000000000..c986085db --- /dev/null +++ b/src/gui/models/extendednamesmodel.cpp @@ -0,0 +1,65 @@ +/* + * The ManaPlus Client + * Copyright (C) 2012-2014 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "gui/models/extendednamesmodel.h" + +#include "debug.h" + +ExtendedNamesModel::ExtendedNamesModel() : + mNames(), + mImages() +{ +} + +ExtendedNamesModel::~ExtendedNamesModel() +{ + clear(); +} + +int ExtendedNamesModel::getNumberOfElements() +{ + return static_cast(mNames.size()); +} + +std::string ExtendedNamesModel::getElementAt(int i) +{ + if (i >= getNumberOfElements() || i < 0) + return "???"; + return mNames[i]; +} + +const Image *ExtendedNamesModel::getImageAt(int i) +{ + if (i >= static_cast(mImages.size()) || i < 0) + return nullptr; + + return mImages[i]; +} + +void ExtendedNamesModel::clear() +{ + mNames.clear(); + FOR_EACH (std::vector::iterator, it, mImages) + { + if (*it) + (*it)->decRef(); + } + mImages.clear(); +} diff --git a/src/gui/models/extendednamesmodel.h b/src/gui/models/extendednamesmodel.h new file mode 100644 index 000000000..383a93951 --- /dev/null +++ b/src/gui/models/extendednamesmodel.h @@ -0,0 +1,59 @@ +/* + * The ManaPlus Client + * Copyright (C) 2012-2014 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef GUI_MODELS_EXTENDEDNAMESMODEL_H +#define GUI_MODELS_EXTENDEDNAMESMODEL_H + +#include "utils/stringvector.h" + +#include "gui/models/extendedlistmodel.h" + +class ExtendedNamesModel : public ExtendedListModel +{ + public: + ExtendedNamesModel(); + + A_DELETE_COPY(ExtendedNamesModel) + + virtual ~ExtendedNamesModel(); + + virtual int getNumberOfElements() override final A_WARN_UNUSED; + + virtual std::string getElementAt(int i) override final A_WARN_UNUSED; + + virtual const Image *getImageAt(int i) override final A_WARN_UNUSED; + + StringVect &getNames() A_WARN_UNUSED + { return mNames; } + + std::vector &getImages() A_WARN_UNUSED + { return mImages; } + + size_t size() A_WARN_UNUSED + { return mNames.size(); } + + void clear(); + + protected: + StringVect mNames; + std::vector mImages; +}; + +#endif // GUI_MODELS_EXTENDEDNAMESMODEL_H diff --git a/src/gui/widgets/extendednamesmodel.cpp b/src/gui/widgets/extendednamesmodel.cpp deleted file mode 100644 index a8a21d98d..000000000 --- a/src/gui/widgets/extendednamesmodel.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2012-2014 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "gui/widgets/extendednamesmodel.h" - -#include "debug.h" - -ExtendedNamesModel::ExtendedNamesModel() : - mNames(), - mImages() -{ -} - -ExtendedNamesModel::~ExtendedNamesModel() -{ - clear(); -} - -int ExtendedNamesModel::getNumberOfElements() -{ - return static_cast(mNames.size()); -} - -std::string ExtendedNamesModel::getElementAt(int i) -{ - if (i >= getNumberOfElements() || i < 0) - return "???"; - return mNames[i]; -} - -const Image *ExtendedNamesModel::getImageAt(int i) -{ - if (i >= static_cast(mImages.size()) || i < 0) - return nullptr; - - return mImages[i]; -} - -void ExtendedNamesModel::clear() -{ - mNames.clear(); - FOR_EACH (std::vector::iterator, it, mImages) - { - if (*it) - (*it)->decRef(); - } - mImages.clear(); -} diff --git a/src/gui/widgets/extendednamesmodel.h b/src/gui/widgets/extendednamesmodel.h deleted file mode 100644 index 3c38c48ed..000000000 --- a/src/gui/widgets/extendednamesmodel.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2012-2014 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef GUI_WIDGETS_EXTENDEDNAMESMODEL_H -#define GUI_WIDGETS_EXTENDEDNAMESMODEL_H - -#include "utils/stringvector.h" - -#include "gui/models/extendedlistmodel.h" - -class ExtendedNamesModel : public ExtendedListModel -{ - public: - ExtendedNamesModel(); - - A_DELETE_COPY(ExtendedNamesModel) - - virtual ~ExtendedNamesModel(); - - virtual int getNumberOfElements() override final A_WARN_UNUSED; - - virtual std::string getElementAt(int i) override final A_WARN_UNUSED; - - virtual const Image *getImageAt(int i) override final A_WARN_UNUSED; - - StringVect &getNames() A_WARN_UNUSED - { return mNames; } - - std::vector &getImages() A_WARN_UNUSED - { return mImages; } - - size_t size() A_WARN_UNUSED - { return mNames.size(); } - - void clear(); - - protected: - StringVect mNames; - std::vector mImages; -}; - -#endif // GUI_WIDGETS_EXTENDEDNAMESMODEL_H diff --git a/src/gui/windows/questswindow.cpp b/src/gui/windows/questswindow.cpp index d62ca36ad..1ee78e563 100644 --- a/src/gui/windows/questswindow.cpp +++ b/src/gui/windows/questswindow.cpp @@ -29,11 +29,12 @@ #include "gui/font.h" #include "gui/gui.h" +#include "gui/models/extendednamesmodel.h" + #include "gui/widgets/browserbox.h" #include "gui/widgets/button.h" #include "gui/widgets/layout.h" #include "gui/widgets/extendedlistbox.h" -#include "gui/widgets/extendednamesmodel.h" #include "gui/widgets/itemlinkhandler.h" #include "gui/widgets/scrollarea.h" -- cgit v1.2.3-60-g2f50