#ifndef ICON_H
#define ICON_H
#include <QString>


/*!
 * \brief The icon class. Represents icon element in menu screens.
 */
class Icon
{
public:
    /*!
     * \brief Icon constructor.
     */
    Icon();

    /*!
     * \brief getPath Returns the path of the icon image.
     * \return Path of the image.
     */
    QString getPath() const;

    /*!
     * \brief setPath Replaces the path of the icon image.
     * \param value Path of the image.
     */
    void setPath(const QString value);

    /*!
     * \brief getTitle Returns the icon title.
     * \return Title of the icon.
     */
    QString getTitle() const;

    /*!
     * \brief setTitle Replaces the icon title.
     * \param value Title of the icon.
     */
    void setTitle(const QString &value);

    /*!
     * \brief getTopMargin Returns icon top margin.
     * \return Top margin.
     */
    int getTopMargin() const;

    /*!
     * \brief setTopMargin Replaces icon top margin.
     * \param value Top margin \a value.
     */
    void setTopMargin(int value);

    /*!
     * \brief getBottomMargin Replaces icon bottom margin.
     * \return Bottom margin.
     */
    int getBottomMargin() const;

    /*!
     * \brief setBottomMargin Replaces icon bottom margin.
     * \param value Bottom margin \a value.
     */
    void setBottomMargin(int value);

    /*!
     * \brief getLeftMargin Returns icon left margin.
     * \return Left margin.
     */
    int getLeftMargin() const;

    /*!
     * \brief setLeftMargin Replaces icon left margin.
     * \param value Left margin \a value.
     */
    void setLeftMargin(int value);

    /*!
     * \brief getRightMargin Returns icon right margin.
     * \return Right margin.
     */
    int getRightMargin() const;

    /*!
     * \brief setRightMargin Replaces icon right margin.
     * \param value Right margin \a value.
     */
    void setRightMargin(int value);

private:

    /*!     
     * \brief path Image path of the icon.
     */
    QString path;

    /*!
     * \brief title Title of the icon.
     */
    QString title;

    /*!
     * \brief topMargin Top margin of the icon.
     */
    int topMargin;

    /*!
     * \brief bottomMargin Bottom margin of the icon.
     */
    int bottomMargin;

    /*!
     * \brief leftMargin Left margin of the icon.
     */
    int leftMargin;

    /*!
     * \brief rightMargin Right margin of the icon.
     */
    int rightMargin;
};

#endif // ICON_H
