///////////////////////////////////////////////////////////
// File:			wksp_simplefeature_manager.h
//
// Author:			Stefan Liersch
// Contact:			stefan.liersch@googlemail.com,
//					stefan.liersch@ufz.de
//
// Date:			2008-04-05
// last modified:	2008-04-05
//
//---------------------------------------------------------
// DESCRIPTION
//---------------------------------------------------------
// This class is inherited from CWKSP_Shapes_Manager and
// is necessary to incorporate the Simple Features into SAGA
//---------------------------------------------------------
// ToDo
//---------------------------------------------------------
// 
// This function is not yet ready for usage,
// still the implementation of CWKSP_Shapes is used here.
//
///////////////////////////////////////////////////////////

//---------------------------------------------------------
#ifndef _HEADER_INCLUDED__SAGA_GUI__WKSP_SimpleFeature_Manager_H
#define _HEADER_INCLUDED__SAGA_GUI__WKSP_SimpleFeature_Manager_H

//---------------------------------------------------------
#include "wksp_shapes_manager.h"

#include "wksp_simplefeature_type.h"
//---------------------------------------------------------

class CWKSP_SimpleFeature_Manager : public CWKSP_Shapes_Manager
{
public:
	CWKSP_SimpleFeature_Manager(void);
	virtual ~CWKSP_SimpleFeature_Manager(void);


	wxString CWKSP_SimpleFeature_Manager::Get_Name(void);

	virtual TWKSP_Item					Get_Type		(void)	{	return( WKSP_ITEM_SimpleFeature_Manager );	}

	class CWKSP_SimpleFeature_Type *	Get_Shapes_Type	(int Shape_Type);

	class CWKSP_SimpleFeature*			Get_Shapes		(class CSG_SimpleFeature* pSimpleFeature);

	bool								Exists			(class CSG_SimpleFeature* pSimpleFeature);

	CWKSP_SimpleFeature*				Add				(class CSG_SimpleFeature* pSimpleFeature);
	

//---------------------------------------------------------

private:

	class CWKSP_SimpleFeature_Type*		_Get_Shapes_Type(int Shape_Type);

};


#endif /* _HEADER_INCLUDED__SAGA_GUI__WKSP_SimpleFeature_Manager_H */