// ShapeActivity.h: interface for the ShapeActivity class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SHAPEACTIVITY_H__1D0D9B7E_9AAC_4198_B319_B64E53AAB810__INCLUDED_)
#define AFX_SHAPEACTIVITY_H__1D0D9B7E_9AAC_4198_B319_B64E53AAB810__INCLUDED_

#include "ShapeElement.h"	// Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class ShapeTransEdge;
class ShapeSwimlane;
class ShapeActivityGraph;
class ShapeActivity : public ShapeElement  
{
public:
	ShapeActivity();
	virtual ~ShapeActivity();
public:
	void SetVisitedNum(int n);
	BOOL GetChecked();
	void SetChecked(BOOL c);
	int GetVisitedNum();
	void ClearVisitedNum( );
	void DecreaseVisitedNum();
	void IncreaseVisitedNum();
	int visitedNum;
	ShapeNamespace* GetShapeNamespace();
	void Save(CFile &file , int &tabnum );
	void SaveAsText(CFile &file );
	ShapeType GetType();
	BOOL In(CPoint pt );
	void Draw( CDC *pDC );
	UMLActivity* m_pUMLActivity;//对应的活动
	BOOL m_ShowExpression;//是否显示表达式
	CPtrTempl<ShapeTransEdge*>m_pInTransEdges;//入边
	CPtrTempl<ShapeTransEdge*>m_pOutTransEdges;//出边
    BOOL sync;
	//ShapeSwimlane *m_pShapeSwimlane;//属于哪个泳道
	//ShapeActivityGraph *m_pShapeActivityGraph;//属于哪个活动图
	ShapeElement *m_pOwnedShape;//属于泳道或者活动图
protected:
	BOOL checked;
};

#endif // !defined(AFX_SHAPEACTIVITY_H__1D0D9B7E_9AAC_4198_B319_B64E53AAB810__INCLUDED_)
