/*
 * $Id: console.h 4270 2016-11-06 11:02:47Z antonin.misek-skoda-auto.cz $
 *
 * Description  : One line description of file.
 * Author       : Vaclav Kyba <mail/Jabber: vaseo1@gmail.com>  <ICQ: 98576293>
 * 
 * Purpose      :
 *     Long description of what the file is for.
 */


#ifndef __CONSOLE_H__
#define __CONSOLE_H__

#include <wx/textctrl.h>
#include <wx/stattext.h>
#include <vector>

namespace VRUT
{
	///Console control window
	class Console: public wxTextCtrl
	{
	protected:
		///Commands history
		std::vector<wxString> cmdHistory;
		///Current history index
		size_t cmdHistoryIndex;
		///Helper window
		wxStaticText * helperWin;
		///history file path
		wxString historyFilePath;

		///Process key down event
		void onKeyDown(wxKeyEvent & evt);
		///Process command event
		void onCommand(wxCommandEvent & WXUNUSED(evt));

		// show tooltip window with a list of strings 
		void ShowHelperWin(std::vector<wxString> &strings);

	public:
		///Class constructor
		Console(wxWindow * parentWin, const wxString &appPath);
		///Class destructor
		virtual ~Console();
	};
}

#endif

