From 949deb1d666cf3b5cfe9e52259bd92ab6b07951f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 14 May 2014 15:54:26 +0300 Subject: Move linepart into separate file. --- src/CMakeLists.txt | 2 ++ src/Makefile.am | 2 ++ src/gui/widgets/browserbox.cpp | 7 ---- src/gui/widgets/browserbox.h | 42 +---------------------- src/gui/widgets/linepart.cpp | 33 +++++++++++++++++++ src/gui/widgets/linepart.h | 75 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 113 insertions(+), 48 deletions(-) create mode 100644 src/gui/widgets/linepart.cpp create mode 100644 src/gui/widgets/linepart.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5018b97cb..b7ace9cbc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -180,6 +180,8 @@ SET(SRCS gui/widgets/layout.h gui/widgets/layouthelper.cpp gui/widgets/layouthelper.h + gui/widgets/linepart.cpp + gui/widgets/linepart.h gui/widgets/linkhandler.h gui/widgets/listbox.cpp gui/widgets/listbox.h diff --git a/src/Makefile.am b/src/Makefile.am index 0a99d1997..342f2bc43 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -270,6 +270,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ gui/widgets/layout.h \ gui/widgets/layouthelper.cpp \ gui/widgets/layouthelper.h \ + gui/widgets/linepart.cpp \ + gui/widgets/linepart.h \ gui/widgets/linkhandler.h \ gui/widgets/listbox.cpp \ gui/widgets/listbox.h \ diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp index 30b06e266..dc5bf1700 100644 --- a/src/gui/widgets/browserbox.cpp +++ b/src/gui/widgets/browserbox.cpp @@ -910,10 +910,3 @@ void BrowserBox::setForegroundColorAll(const Color &color1, mForegroundColor = color1; mForegroundColor2 = color2; } - -LinePart::~LinePart() -{ - if (mImage) - mImage->decRef(); - mImage = nullptr; -} diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h index 55f0163cd..144eddae3 100644 --- a/src/gui/widgets/browserbox.h +++ b/src/gui/widgets/browserbox.h @@ -26,6 +26,7 @@ #include "listeners/mouselistener.h" +#include "gui/widgets/linepart.h" #include "gui/widgets/widget.h" #include @@ -56,47 +57,6 @@ struct BrowserLink final std::string caption; }; -class LinePart final -{ - public: - LinePart(const int x, const int y, const Color &color, - const Color &color2, const std::string &text, - const bool bold) : - mX(x), - mY(y), - mColor(color), - mColor2(color2), - mText(text), - mType(0), - mImage(nullptr), - mBold(bold) - { - } - - LinePart(const int x, const int y, const Color &color, - const Color &color2, Image *const image) : - mX(x), - mY(y), - mColor(color), - mColor2(color2), - mText(), - mType(1), - mImage(image), - mBold(false) - { - } - - ~LinePart(); - - int mX, mY; - Color mColor; - Color mColor2; - std::string mText; - unsigned char mType; - Image *mImage; - bool mBold; -}; - /** * A simple browser box able to handle links and forward events to the * parent conteiner. diff --git a/src/gui/widgets/linepart.cpp b/src/gui/widgets/linepart.cpp new file mode 100644 index 000000000..40ea39e55 --- /dev/null +++ b/src/gui/widgets/linepart.cpp @@ -0,0 +1,33 @@ +/* + * The ManaPlus Client + * Copyright (C) 2009 Aethyra Development Team + * 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 . + */ + +#include "gui/widgets/linepart.h" + +#include "resources/image.h" + +#include "debug.h" + +LinePart::~LinePart() +{ + if (mImage) + mImage->decRef(); + mImage = nullptr; +} diff --git a/src/gui/widgets/linepart.h b/src/gui/widgets/linepart.h new file mode 100644 index 000000000..34bc76e8e --- /dev/null +++ b/src/gui/widgets/linepart.h @@ -0,0 +1,75 @@ +/* + * The ManaPlus Client + * Copyright (C) 2009 Aethyra Development Team + * 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_WIDGETS_LINEPART_H +#define GUI_WIDGETS_LINEPART_H + +#include "gui/color.h" + +#include + +#include "localconsts.h" + +class Image; +class LinkHandler; + +class LinePart final +{ + public: + LinePart(const int x, const int y, const Color &color, + const Color &color2, const std::string &text, + const bool bold) : + mX(x), + mY(y), + mColor(color), + mColor2(color2), + mText(text), + mType(0), + mImage(nullptr), + mBold(bold) + { + } + + LinePart(const int x, const int y, const Color &color, + const Color &color2, Image *const image) : + mX(x), + mY(y), + mColor(color), + mColor2(color2), + mText(), + mType(1), + mImage(image), + mBold(false) + { + } + + ~LinePart(); + + int mX, mY; + Color mColor; + Color mColor2; + std::string mText; + unsigned char mType; + Image *mImage; + bool mBold; +}; + +#endif // GUI_WIDGETS_LINEPART_H -- cgit v1.2.3-70-g09d2