#pragma once

#include "simulationsartool_global.h"
#include "QToolAbstract.h"
#include "QSARLookTableSimualtionGUI.h"
#include "QImageSARRFPC.h"
#include "QSimulationBPImage.h"

namespace LAMPMainWidget {
    class RasterMainWidget;
}

class ToolBoxWidget;



class  SIMULATIONSARTOOL_EXPORT SARSimlulationRFPCToolButton : public QToolAbstract {
	Q_OBJECT
public:
	SARSimlulationRFPCToolButton(QWidget* parent = nullptr);
	~SARSimlulationRFPCToolButton();
public slots:
	virtual void excute() override;

};


class SIMULATIONSARTOOL_EXPORT  SARSimulationTBPImageToolButton : public QToolAbstract {
	Q_OBJECT
public:
	SARSimulationTBPImageToolButton(QWidget* parent = nullptr);
	~SARSimulationTBPImageToolButton();
public slots:
	virtual void excute() override;

};




class QSimulationSAROrbitModelToolButton :public QToolAbstract {
	Q_OBJECT
public:
	QSimulationSAROrbitModelToolButton(QWidget* parent = nullptr);
	~QSimulationSAROrbitModelToolButton();
public slots:

	virtual void excute() override;
};


class SIMULATIONSARTOOL_EXPORT  LookTableComputerClassToolButton : public QToolAbstract {
	Q_OBJECT
public:
	LookTableComputerClassToolButton(QWidget* parent = nullptr);
	~LookTableComputerClassToolButton();
public slots:
	 
	virtual void excute() override;

};

class SIMULATIONSARTOOL_EXPORT  QCreateSARIntensityByLookTableToolButton : public QToolAbstract {
	Q_OBJECT
public:
	QCreateSARIntensityByLookTableToolButton(QWidget* parent = nullptr);
	~QCreateSARIntensityByLookTableToolButton();
public  slots:

	virtual void excute() override;

};

extern "C" SIMULATIONSARTOOL_EXPORT void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox);


