#ifndef PQMAINWINDOW_H
#define PQMAINWINDOW_H

#include <QMainWindow>
#include <QWidget>
#include "classes/pqwidget.h"
#include "classes/pqmenubar.h"

class PQMainWindow;
class PQMainWindow : public QMainWindow {
    Q_OBJECT
    PQ_WIDGET_EX(QMainWindow)

    Q_PROPERTY( QWidget* centralWidget READ centralWidget WRITE setCentralWidget )
    Q_PROPERTY( QMenuBar* menuBar READ menuBar WRITE setMenuBar )

public:
    Q_INVOKABLE explicit PQMainWindow(QWidget * parent=0);
    virtual ~PQMainWindow();

    Q_INVOKABLE QWidget *centralWidget();
    Q_INVOKABLE QMenuBar *menuBar();
    Q_INVOKABLE void setCentralWidget(QWidget *widget);
    Q_INVOKABLE void setMenuBar(QMenuBar *menubar);
    Q_INVOKABLE void addDockWidget(int area, QWidget *widget);
    Q_INVOKABLE void addToolBar(int area, QWidget *widget);

    PQ_ON_SIGNAL_DECL_START {
        PQWIDGET_ON_SIGNALS();
    } PQ_ON_SIGNAL_DECL_END
};

#endif // PQMAINWINDOW_H
