#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QListWidgetItem>
#include <QVector>
#include "projection.h"
#include "datum.h"
#include "units2.h"
#include "projections.h"
#include "datums.h"
#include "units.h"
#include <QObject>
#include <dialog.h>
#include <dialog2.h>

namespace Ui {
    class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    static Widget *getInstance();

private:    
    Ui::Widget *ui;

    static Widget *instance;
    QString proj_dir;
    bool file;
    QString file_path;
    QString result;
    QString getTargetParameters();
    QString getSourceParameters();

private slots:
    void on_button_add_ellips_FROM_clicked();
    //void on_comboBox_currentIndexChanged(QString );
    void on_button_cancel_lod_clicked();
    void on_ellips_edit_FROM_textChanged(QString );
    void on_proj_edit_FROM_textChanged(QString ); //ellips FROM
    void on_ellips_edit_TO_textChanged(QString); //ellips TO
    void on_proj_edit_TO_textChanged(QString); //proj TO
    void on_load_file_button_clicked();
    void on_button_invproj_clicked();
    void on_button_proj_clicked();
    void on_button_export_clicked();
    void on_compute_button_clicked();
    void on_geod_clicked(bool checked);
    void on_invgeod_clicked(bool checked);
    void on_tabWidget_currentChanged(int index);
    void on_advanced_stateChanged(int );
    void on_radioButton_Proj_clicked();
    void on_radioButton_Cs_clicked();
};

#endif // WIDGET_H
