#ifndef OTHER_EQUIPMENT_WIDGET_H
#define OTHER_EQUIPMENT_WIDGET_H

#include <QtGui>
#include "ui_otherEquipmentWidget.h"
#include "softProj\DetailsWidget\ParamDetailsWidget.h"
#include "softProj\clientServer\structs.h"
#include "softProj\Main\INotifyUpdate.h"
#include "softProj\Main\ConfirmDialog.h"

class OtherEquipmentWidget : public NotifyWidget {
	Q_OBJECT

private:
	Ui::OtherEquipmentWidget ui_;

	QString weightUnit_;
	QString consumptionUnit_;

	other_equipment_status state_;
private slots:
	/** Slot informing that user clicked button for unmounting life support */
	void lifeSupportUnmountButtonClickedSlot(bool);

	/** Slot informing that user clicked button for unmounting scientific lab */
	void scientificLabUnmountButtonClickedSlot(bool);

	/** Slot informing that user clicked button for unmounting plasma filter */
	void plasmaFilterUnmountButtonClickedSlot(bool);

	/** Slot informing that user clicked button for unmounting subspace transmitter */
	void subspaceTransmitterUnmountButtonClickedSlot(bool);
signals:
	/** Signals that user wants to unmount given number of items
	@param patternName Name of pattern for device to unmount
	*/
	void unmountSignal(const std::string & patternName);

	/** Signals that widget wants to show dialog */
	void showDialogSignal();

	/** Signals that widget wants to hide dialog */
	void hideDialogSignal();
public:
	OtherEquipmentWidget(QWidget * parent);

	~OtherEquipmentWidget();

	void setState(other_equipment_status & state);

	void notifyUpdate();
};

#endif