#ifndef MAINWINDOWCONTROLLER_H
#define MAINWINDOWCONTROLLER_H

#include <View/mainwindow.h>
#include <Model/interfaz.h>
#include <QLabel>

/*!
 * \brief The MainWindowController class.
 */
class MainWindowController
{

public:

    /*!
     * \brief MainWindowController controller.
     * \param view Main window view.
     */
    MainWindowController(MainWindow *view);
    ~MainWindowController();

    /*!
     * \brief settingsOption Changes the view to the settings view.
     */
    void settingsOption();

    /*!
     * \brief helpOption Shows the help into the web explorer.
     */
    void helpOption();

    /*!
     * \brief createMenuScreen Changes the view to the creates menu view.
     */
    void createMenuScreen();

    /*!
     * \brief createInformationScreen Changes the view to the creates information view.
     */
    void createInformationScreen();

    /*!
     * \brief createInkScreen Changes the view to the creates ink view.
     */
    void createInkScreen();

    /*!
     * \brief edit Shows edit view.
     */
    void edit();

    /*!
     * \brief editScreenFromFile Obtains the interface which represents the QML file.
     * \param file QML file path
     */
    void editScreenFromFile(QString file);

private:

    /*!
     * \brief view Main window view.
     */
    MainWindow *view;

    /*!
     * \brief editScreen Edit screen view.
     */
    QWidget *editScreen;

private:    

    /*!
     * \brief selectedType Shows the edit view depends on the type of the interface.
     * \param interfaz Interface to edit.
     * \param type Tpye of the interface.
     */
    void selectedType(Interfaz *interfaz, int type);

};

#endif // MAINWINDOWCONTROLLER_H
