#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class CMapView;
class Menu;
class LayerControlWidget;
class InfoDisplayWidget;
class OsgEarthWidget;

class QDockWidget;
class QLabel;
class QSplitter;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
    ~MainWindow();

public slots:
    void setMenuVisiable();

    void openLocalFile();

signals:
    void signalQuit();

private:
    void initUI();
    void initMenu();

    void connects();

private slots:
    void quitProgram();


private:
    Menu* mMenu;

    QLabel* mStatusLabel;

    LayerControlWidget* mLayerControlWidget;
    QDockWidget* mLayerControlDockWidget;

    InfoDisplayWidget* mInfoDisplayWidget;
    QDockWidget* mInfoDisplayDockWidget;

    CMapView* mMapView;

    QString mLastDirPath;
};

#endif // MAINWINDOW_H
