#ifndef __ToolTimeLabel_h
#define __ToolTimeLabel_h

#ifdef _DD_PRO

#include "ToolSelectTmpl.h"	// Super class.
#include "ToolBaseFDA.h"	// Super class.

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS FCToolSelectTmpl<FCToolBaseFDA, long, FCToolTimeLabelId>

// FCToolSelectTmpl _xZkqqHx_iCmMiDgFiDjDiDhGiDiMiBfLiDgH_xHqqkZx_ID_xZkqqHx_iCpAjCoIiLgAiBeC_xHqqkZx_
typedef struct FCToolTimeLabelId {} *XXX_TimeLabel;
#define XXX_TIME_LABEL	XXX_TimeLabel(NULL)

class FCObjPoint;

class FCToolTimeLabel : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;

public:
	//----- _xZkqqHx_iDfEiDhFiDeOiDiJiDfIiCmFjEeDiInD_xHqqkZx_ -----
	virtual BOOL	CanSelectTool () const;
// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	OnDraw (CDC* pDC);
	virtual void	Select (CDC* pDC);
	virtual void	Unselect (CDC* pDC);
	virtual BOOL	CanDelete () const;
	virtual void	OnDelete (CDC* pDC);
	virtual BOOL	CanObjectPutTimeLabel () const;
	virtual void	OnObjectPutTimeLabel ();
	virtual BOOL	CanObjectTimeLabelProperty () const;
	virtual void	OnObjectTimeLabelProperty ();
	virtual BOOL	IsObjectCommandEnable (DWORD dwCmdID) const;

protected:
	virtual void	DrawSelectMark (CDC* pDC, long lId) const;

	//----- FCToolSelectTmpl_xZkqqHx_iCmMiDfEiDhFiDeOiDiJiDfIiCmFjFeLjAhL_xHqqkZx_ -----
	virtual long	InvalidValueXXX (XXX_TimeLabel) const;
	virtual long	GetSelectedXXX (XXX_TimeLabel, vector<long>* vXxx = NULL, set<long>* stXxx = NULL) const;
	virtual long	GetSelectableXXX (XXX_TimeLabel, vector<long>* vXxx = NULL) const;
	virtual void	SelectXXX (XXX_TimeLabel, long xxx, CDC* pDC);
	virtual void	UnselectXXX (XXX_TimeLabel, long xxx, CDC* pDC);
	virtual DBLRect	GetFrameRectXXX (XXX_TimeLabel, long xxx) const;

	//----- FCToolSelectTmpl_xZkqqHx_iCmMiDfEiDhFiDeOiDiJiDfIiCmFiBeB_xHqqkZx_XXX_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHiCpAiInKjDkOiClHiCoJiPoKiNiHiCmNjFeLjAhL_xHqqkZx_ -----
	virtual BOOL	CanMoveXXX (XXX_TimeLabel) const;
	virtual void	DrawFirstImageXXX (XXX_TimeLabel, CDC* pDC);
	virtual void	RedrawMovingImageXXX (XXX_TimeLabel, const DBLPoint& mmptMove, CDC* pDC);
// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual void	OnDrawMovingImageXXX (XXX_TimeLabel, CDC* pDC);
	virtual void	DrawLastImageXXX (XXX_TimeLabel, CDC* pDC);
	virtual void	MoveXXX (XXX_TimeLabel, const longVector& vXxx, const DBLPointVector& vmmptMove);

	//----- FCToolBaseFDA_xZkqqHx_iCmMiDfEiDhFiDeOiDiJiDfIiCmFjFeLjHhGiCmJiJjOiClGiCmE_xHqqkZx_ -----
	virtual HCURSOR	GetDefaultIdleCursor () const;
	virtual int		GetSubMenuIndex () const;

	//----- _xZkqqHx_jBeKiInKiPpDjBnEiPiIjHjN_xHqqkZx_ -----
// 06.12.09 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual void	OnDrawState (CDC* pDC, int iState);

protected:
// _xZkqqHx_iClBiCmMiDeOiDiJiDfIiMmFjHeMiCmMjCoIiLgAiBeC_xHqqkZx_
enum
{
	STATE_BEGIN = BASE_CLASS::STATE_END,	// _xZkqqHx_iPpDjBnEiKeKiOgOiBeC_xHqqkZx_
	STATE_END,								// _xZkqqHx_iPpDjBnEiPeJjHlJiBeC_xHqqkZx_
};

// _xZkqqHx_iDiBiDjDiDgPiBfLjFmPjAjEiBeC_xHqqkZx_
protected:
	mmetol	m_mmMoveOffset;		// _xZkqqHx_iOjOiKnEiDiJiDhIiDiLiInKjDkOiOjOiCmMiBeBiDhNiDeFiDfIiCmGiDiJiDhIiDiLiCmMiDeJiDhEiDfKiDgCiDgHiBeC_xHqqkZx_
}; // class FCToolTimeLabel.

#else //_DD_PRO

#include "ToolBaseFDA.h"	// Super class.

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS FCToolBaseFDA

class FCToolTimeLabel : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;
}; // class FCToolTimeLabel.

#endif//_DD_PRO

#endif//__ToolTimeLabel_h
