///////////////////////////////////////////////////////////
// File:			wksp_simplefeature_point.h
//
// Author:			Stefan Liersch
// Contact:			stefan.liersch@googlemail.com,
//					stefan.liersch@ufz.de
//
// Date:			2008-04-06
// last modified:	2008-04-06
//
//---------------------------------------------------------
// DESCRIPTION
//---------------------------------------------------------
//
//---------------------------------------------------------
// ToDo
//---------------------------------------------------------
// 
//
///////////////////////////////////////////////////////////

#ifndef _HEADER_INCLUDED__SAGA_GUI__WKSP_SimpleFeature_Point_H
#define _HEADER_INCLUDED__SAGA_GUI__WKSP_SimpleFeature_Point_H


///////////////////////////////////////////////////////////
//														 //
//														 //
//														 //
///////////////////////////////////////////////////////////

//---------------------------------------------------------
#include "wksp_simplefeature.h"


///////////////////////////////////////////////////////////
//														 //
//														 //
//														 //
///////////////////////////////////////////////////////////

//---------------------------------------------------------
class CWKSP_SimpleFeature_Point : public CWKSP_SimpleFeature
{
public:
	CWKSP_SimpleFeature_Point(CSG_SimpleFeature *pSimpleFeature);

	virtual ~CWKSP_SimpleFeature_Point(void);

	bool						Get_Style				(wxPen &Pen, wxBrush &Brush, bool &bOutline, wxString *pName = NULL);
	bool						Get_Style_Size			(int &min_Size, int &max_Size, double &min_Value, double &dValue, wxString *pName);

	void						Draw_Symbol				(wxDC &dc, int x, int y, int size);

protected:

	bool						m_bOutline;

	int							m_iSize, m_Size_Type, m_Symbol_Type;

	double						m_Size, m_dSize, m_Size_Min;

	wxPen						m_Pen;

	wxBrush						m_Brush;

	wxImage						m_Symbol;


	virtual void				On_Create_Parameters	(void);
	virtual void				On_DataObject_Changed	(void);
	virtual void				On_Parameters_Changed	(void);

	virtual int					On_Parameter_Changed	(CSG_Parameters *pParameters, CSG_Parameter *pParameter);

	virtual void				_Draw_Initialize		(CWKSP_Map_DC &dc_Map);
	virtual void				_Draw_Shape				(CWKSP_Map_DC &dc_Map, CSG_Shape *pShape, bool bSelection);
	virtual void				_Draw_Label				(CWKSP_Map_DC &dc_Map, CSG_Shape *pShape);

	virtual wxMenu *			On_Edit_Get_Menu		(void);

	wxMenu*						On_Edit_Get_Menu_SF		(wxMenu* pMenu);
};


//---------------------------------------------------------
#endif /* #ifndef _HEADER_INCLUDED__SAGA_GUI__WKSP_SimpleFeature_Point_H */