#ifndef		__MAIN_DLG_H__
#define		__MAIN_DLG_H__

#include "vectorwidget.h"
#include "defines.h"
#include "gui_defines.h"


class MainDialog : public Dialog {
	private:
		Panel desktop;

		Label lblEditMode;
		RadioButton rbEditStrokes, rbEditGradients;

		Label lblDrawMode;
		CheckBox chkDrawMode[3];

		VectorImage image;
		VectorWidget imgWidget;

		Label lblStrokes;
		ListBoxEx lstStrokes;
		Button btnAddStroke, btnRemoveStroke, btnColourStroke;
		CheckBox chkStrokeClose;
		Label lblStrokeCaps;
		ComboBox lstStrokeCaps;
		Label lblStrokeThickness, lblStrokeCurviness;
		Slider sldStrokeThickness, sldStrokeCurviness;

		Label lblGradients;
		ListBoxEx lstGradients;
		Button btnAddGradient, btnRemoveGradient, btnColour1Gradient, btnColour2Gradient;
		RadioButton rbGradientType[3];

		Button btnNew, btnLoad, btnSave, btnExport;
		char path[1024];

		Label lblBackground;
		Button btnBackground[4];

		Button btnExit;

		void OnEditMode(int mode);
		void OnDrawMode(int mode);
		void OnAddStroke();
		void OnRemoveStroke();
		void OnColourStroke();
		void OnAddGradient();
		void OnRemoveGradient();
		void OnColourGradient(int i);
		void OnGradientType(int type);
		void OnColourBackground(int i);
		void OnNew();
		void OnSave();
		void OnLoad();
		void OnExport();
		void OnUpdateGUI();
		void OnSelectStroke(int i);
		void OnSelectGradient(int i);
		void OnStrokeClose();
		void OnStrokeThickness(int val);
		void OnStrokeCurviness(int val);
		void OnStrokeCaps(int i);

	public:
		MainDialog();
		void HandleEvent(Widget &obj, int msg, int arg1=0, int arg2=0);
};


#endif		//__MAIN_DLG_H__
