#ifndef SETTINGDIALOG_H
#define SETTINGDIALOG_H

#include <map>
#include <string>
#include "settings.h"
#include "PlottWareControlMain.h"

//(*Headers(SettingDialog)
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/msgdlg.h>
#include <wx/checkbox.h>
#include <wx/listbox.h>
#include <wx/spinctrl.h>
#include <wx/statline.h>
#include <wx/statbox.h>
#include <wx/choice.h>
#include <wx/button.h>
#include <wx/dialog.h>
//*)

class SettingDialog: public wxDialog
{
	public:

		SettingDialog(wxWindow* parent,wxWindowID id=wxID_ANY,PlottWareControlFrame *_p=NULL);
		virtual ~SettingDialog();

		//(*Declarations(SettingDialog)
		wxStaticText* StaticText10;
		wxCheckBox* DebugModeCheck;
		wxTextCtrl* PenColorText;
		wxStaticText* StaticText9;
		wxButton* CancelSettingsButton;
		wxChoice* BaudRateChoice;
		wxButton* PrinterAutoDetectButton;
		wxStaticText* StaticText2;
		wxStaticText* StaticText6;
		wxListBox* PensListBox;
		wxSpinCtrl* PencountSpinner;
		wxStaticText* StaticText8;
		wxStaticText* StaticText11;
		wxButton* PenColorSetButton;
		wxStaticText* StaticText1;
		wxStaticText* StaticText3;
		wxSpinCtrl* LengthSpinner;
		wxStaticBox* StaticBox1;
		wxSpinCtrl* WidthSpinner;
		wxButton* SaveSettingsButton;
		wxSpinCtrl* SerialPortSpinner;
		wxStaticText* StaticText5;
		wxStaticText* StaticText7;
		wxStaticLine* StaticLine1;
		wxStaticText* StaticText12;
		wxMessageDialog* MessageDialog1;
		wxStaticText* StaticText4;
		//*)

	protected:

		//(*Identifiers(SettingDialog)
		static const long ID_STATICTEXT1;
		static const long ID_STATICBOX1;
		static const long ID_STATICTEXT2;
		static const long ID_SPINCTRL1;
		static const long ID_STATICTEXT3;
		static const long ID_STATICTEXT4;
		static const long ID_SPINCTRL2;
		static const long ID_STATICTEXT5;
		static const long ID_STATICTEXT6;
		static const long ID_SPINCTRL3;
		static const long ID_STATICTEXT7;
		static const long ID_LISTBOX1;
		static const long ID_TEXTCTRL1;
		static const long ID_STATICTEXT8;
		static const long ID_BUTTON1;
		static const long ID_STATICLINE1;
		static const long ID_STATICTEXT9;
		static const long ID_STATICTEXT10;
		static const long ID_BUTTON2;
		static const long ID_STATICTEXT11;
		static const long ID_CHECKBOX1;
		static const long ID_BUTTON3;
		static const long ID_BUTTON4;
		static const long ID_CHOICE2;
		static const long ID_SPINCTRL4;
		static const long ID_STATICTEXT12;
		static const long ID_MESSAGEDIALOG1;
		//*)

	private:

		//(*Handlers(SettingDialog)
		void OnSpinCtrl1Change(wxSpinEvent& event);
		void OnCancelSettingsButtonClick(wxCommandEvent& event);
		void OnPencountSpinnerChange(wxSpinEvent& event);
		void OnPenColorSetButtonClick(wxCommandEvent& event);
		void OnPensListBoxSelect(wxCommandEvent& event);
		void OnSaveSettingsButtonClick(wxCommandEvent& event);
		void OnPrinterAutoDetectButtonClick(wxCommandEvent& event);
		//*)

		DECLARE_EVENT_TABLE()

        PlottWareControlFrame *p;
        std::map<int, std::string> s_pens;
};

#endif
