From 2bdfb00921306fd3d0370e15fd1fe7f08b1f67f7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 23 Feb 2014 13:55:55 +0300 Subject: Move beingslistmodel into gui/models directory. --- src/CMakeLists.txt | 1 + src/Makefile.am | 1 + src/gui/models/beingslistmodel.h | 62 ++++++++++++++++++++++++++++++++++++++++ src/gui/windows/socialwindow.cpp | 57 ++++++++---------------------------- 4 files changed, 76 insertions(+), 45 deletions(-) create mode 100644 src/gui/models/beingslistmodel.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 930729f36..dec92abe1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -107,6 +107,7 @@ MARK_AS_ADVANCED(SDL_LIBRARY) SET(SRCS gui/widgets/avatarlistbox.cpp gui/widgets/avatarlistbox.h + gui/models/beingslistmodel.h gui/models/colorlistmodel.h gui/widgets/tabs/battletab.cpp gui/widgets/tabs/battletab.h diff --git a/src/Makefile.am b/src/Makefile.am index 0391b1bde..dc9475d48 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -203,6 +203,7 @@ manaplus_SOURCES += events/actionevent.h \ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ gui/widgets/avatarlistbox.h \ + gui/models/beingslistmodel.h \ gui/models/colorlistmodel.h \ gui/widgets/tabs/battletab.cpp \ gui/widgets/tabs/battletab.h \ diff --git a/src/gui/models/beingslistmodel.h b/src/gui/models/beingslistmodel.h new file mode 100644 index 000000000..9f3c48bcc --- /dev/null +++ b/src/gui/models/beingslistmodel.h @@ -0,0 +1,62 @@ +/* + * The ManaPlus Client + * Copyright (C) 2010 The Mana Developers + * Copyright (C) 2011-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_BEINGSLISTMODEL_H +#define GUI_MODELS_BEINGSLISTMODEL_H + +#include "gui/models/avatarlistmodel.h" + +class BeingsListModel final : public AvatarListModel +{ + public: + BeingsListModel() : + AvatarListModel(), + mMembers() + { + } + + A_DELETE_COPY(BeingsListModel) + + ~BeingsListModel() + { + delete_all(mMembers); + mMembers.clear(); + } + + std::vector *getMembers() + { + return &mMembers; + } + + Avatar *getAvatarAt(int index) override final + { + return mMembers[index]; + } + + int getNumberOfElements() override final + { + return static_cast(mMembers.size()); + } + + std::vector mMembers; +}; + +#endif // GUI_MODELS_BEINGSLISTMODEL_H diff --git a/src/gui/windows/socialwindow.cpp b/src/gui/windows/socialwindow.cpp index 5fb479510..f33534a85 100644 --- a/src/gui/windows/socialwindow.cpp +++ b/src/gui/windows/socialwindow.cpp @@ -33,6 +33,8 @@ #include "input/keyboardconfig.h" +#include "gui/models/beingslistmodel.h" + #include "gui/windows/confirmdialog.h" #include "gui/windows/okdialog.h" #include "gui/windows/setupwindow.h" @@ -503,41 +505,6 @@ private: Party *mParty; }; -class BeingsListModal final : public AvatarListModel -{ -public: - BeingsListModal() : - AvatarListModel(), - mMembers() - { - } - - A_DELETE_COPY(BeingsListModal) - - ~BeingsListModal() - { - delete_all(mMembers); - mMembers.clear(); - } - - std::vector *getMembers() - { - return &mMembers; - } - - Avatar *getAvatarAt(int index) override final - { - return mMembers[index]; - } - - int getNumberOfElements() override final - { - return static_cast(mMembers.size()); - } - - std::vector mMembers; -}; - class SocialPlayersTab final : public SocialTab { public: @@ -545,7 +512,7 @@ public: std::string name, const bool showBackground) : SocialTab(widget), - mBeings(new BeingsListModal) + mBeings(new BeingsListModel) { mList = new AvatarListBox(this, mBeings); mList->postInit(); @@ -701,7 +668,7 @@ public: } private: - BeingsListModal *mBeings; + BeingsListModel *mBeings; }; @@ -711,7 +678,7 @@ public: SocialNavigationTab(const Widget2 *const widget, const bool showBackground) : SocialTab(widget), - mBeings(new BeingsListModal) + mBeings(new BeingsListModel) { mList = new AvatarListBox(this, mBeings); mList->postInit(); @@ -978,7 +945,7 @@ public: } private: - BeingsListModal *mBeings; + BeingsListModel *mBeings; }; @@ -1040,7 +1007,7 @@ public: SocialAttackTab(const Widget2 *const widget, const bool showBackground) : SocialTab(widget), - mBeings(new BeingsListModal) + mBeings(new BeingsListModel) { mList = new AvatarListBox(this, mBeings); mList->postInit(); @@ -1078,7 +1045,7 @@ public: } private: - BeingsListModal *mBeings; + BeingsListModel *mBeings; }; class SocialPickupTab final : public SocialTab @@ -1087,7 +1054,7 @@ public: SocialPickupTab(const Widget2 *const widget, const bool showBackground) : SocialTab(widget), - mBeings(new BeingsListModal) + mBeings(new BeingsListModel) { mList = new AvatarListBox(this, mBeings); mList->postInit(); @@ -1123,7 +1090,7 @@ public: } private: - BeingsListModal *mBeings; + BeingsListModel *mBeings; }; @@ -1134,7 +1101,7 @@ public: std::string name, const bool showBackground) : SocialTab(widget), - mBeings(new BeingsListModal) + mBeings(new BeingsListModel) { mList = new AvatarListBox(this, mBeings); mList->postInit(); @@ -1214,7 +1181,7 @@ public: } private: - BeingsListModal *mBeings; + BeingsListModel *mBeings; }; -- cgit v1.2.3-60-g2f50