/*
* Neural Networks Tearm Project
* Martin Johne
* 04.10.2006
*/
#pragma once
#include "Muele.h"

//! The neural network window where the user can change the settings of the neural network.
class CNeuralNetworkWindow
{
public:

	// methods

	CNeuralNetworkWindow(CMuele *pMueleClass, int yPossiton);
	~CNeuralNetworkWindow(void);

	//! Switches if the window can be seen or not.
	void toggleVisiblility();
	//! Called on a gui even from irrlicht to manage the window behavior.
	void onGuiEvent(SEvent &event);
	//! Redraws the content of the window.
	void resetWindow(bool setHiddenNeurons);

	// variables
	
	gui::IGUICheckBox	*pCheckLargeInputVector, *pCheckStopAutomatically;
	int hiddenNeurons;
	gui::IGUIStaticText *pTextName, *pTextTrainCount, *pTextLearnRate;
	gui::IGUIStaticText *pTextNeurons, *pTextStepSize, *pTextTime, *pTextError;
	gui::IGUIEditBox    *pEditNeurons, *pEditTrainCylcles;
	gui::IGUIEditBox    *pEditMaxErrorStart, *pEditMaxErrorEnd;
	gui::IGUIEditBox    *pEditTrainRateStart, *pEditTrainRateEnd;
	gui::IGUIEditBox    *pEditStepSizeStart, *pEditStepSizeEnd;

		
private:

	CMuele			*pMuele;
	gui::IGUIWindow	*pWindow;

};
