flowchartentitycontainer.h

来自「大家用过UML的流程图设计器吧」· C头文件 代码 · 共 61 行

H
61
字号
#ifndef _FLOWCHARTENTITYCONTAINER_H_
#define _FLOWCHARTENTITYCONTAINER_H_

#include "DiagramEditor/DiagramEntityContainer.h"
#include "DiagramEditor/DiagramEntity.h"
#include "DiagramEditor/Tokenizer.h"
#include "FlowchartEntity.h"
#include "FlowchartLink.h"

class CFlowchartEntityContainer : public CDiagramEntityContainer {

public:
// Construction/initialization/destruction
	CFlowchartEntityContainer();
	virtual ~CFlowchartEntityContainer();

// Implementation
	// Links
	BOOL			CreateLink( CFlowchartEntity* from, CFlowchartEntity* to, const CString& title );
	BOOL			HasLinks( CFlowchartEntity* from, CFlowchartEntity* to );
	
	CFlowchartLink* GetLinkAt( int index );
	int				GetLinks();
	void			AddLink( CFlowchartLink* link );
	CFlowchartLink* FindLink( CDiagramEntity* obj1, CDiagramEntity* obj2 );
	void			DeleteLink( CFlowchartLink* link );

	BOOL			IsLinked();
	BOOL			CanLink();

	CFlowchartEntity* GetPrimaryLink();
	CFlowchartEntity* GetSecondaryLink();

	// Selection
	int					GetSelectCount();
	CFlowchartEntity*	GetPrimarySelected();
	CFlowchartEntity*	GetSecondarySelected();

// Overrides
	virtual void	RemoveAt( int index );

	virtual void	Undo();
	virtual void	Snapshot();
	virtual void	ClearUndo();

	CObArray*		GetLinkArray() { return &m_links; }

private:
// Private data
	CObArray		m_links;
	CObArray		m_undoLinks;

// Private helpers
	void ClearLinks();
	BOOL FindClosestLink( CFlowchartEntity* obj1, CFlowchartEntity* obj2, int& fromtype, int& totype );
	double	Dist( CPoint point1, CPoint point2 );

};

#endif // _FLOWCHARTENTITYCONTAINER_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?