#ifndef INKSCREENCONTROLLER_H
#define INKSCREENCONTROLLER_H

#include <Controller/controller.h>
#include <View/inkscreen.h>

/*!
 * \brief The InkScreenController class.
 */
class InkScreenController : public Controller
{
public:

    /*!
     * \brief InkScreenController constructor.
     * \param view Ink screen view.
     */
    InkScreenController(InkScreen *view);

    /*!
     * \brief heightView Gets the screen height and sets it into the ink model.
     */
    void heightView();

    /*!
     * \brief widthView Gets the screen width and sets it into the ink model.
     */
    void widthView();

    /*!
     * \brief checkMenuSize Checks the number of elements and if it is correct, sets the value into the ink model.
     */
    void checkMenuSize();

    /*!
     * \brief textProperty Gets ink screen option sets it into the ink model.
     */
    void textProperty();

    /*!
     * \brief inkColor Gets the selected color and sets it into the ink model.
     * \param btnPosition Position of the last clicked color selector icon.
     */
    void inkColor(int btnPosition);

    /*!
     * \brief setModel Sets the ink model.
     * \param ink Interface model.
     */
    void setModel(Interfaz *ink);

    /*!
     * \brief finish Finish the edition and shows the preview of the QML interface.
     */
    void finish();

private slots:

    /*!
     * \brief selectedIcon
     */
    void selectedIcon();
};

#endif // INKSCREENCONTROLLER_H
