Click here to Skip to main content
15,891,828 members
Articles / Desktop Programming / MFC

CFlowchartEditor - linking things in CDiagramEditor

Rate me:
Please Sign up or sign in to vote.
4.94/5 (136 votes)
5 Jul 2006Public Domain8 min read 365.7K   33.9K   278  
A flowchart editor with linked objects, based on CDiagramEditor.
#if !defined(AFX_FLOWCHARTEDITOR_H__609E7C31_5443_4059_8ED9_DF9A743CFD2F__INCLUDED_)
#define AFX_FLOWCHARTEDITOR_H__609E7C31_5443_4059_8ED9_DF9A743CFD2F__INCLUDED_

#include "DiagramEditor\DiagramEditor.h"
#include "FlowchartEntity.h"

class CFlowchartEditor : public CDiagramEditor
{

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

// Operations
	BOOL CanLink();
	BOOL IsLinked();

protected:
// Overrides:
	virtual void DrawGrid( CDC* dc, CRect rect, double zoom ) const;
	virtual void DrawObjects( CDC* dc, double zoom ) const;
	virtual void SaveObjects( CStringArray& stra );

// Message handlers
	virtual afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	virtual afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);

public:
// Command handlers
	afx_msg void OnLink();
	afx_msg void OnUnlink();
	afx_msg void OnLinkDirection();
	afx_msg void OnLinkProperties();
	DECLARE_MESSAGE_MAP()

private:
// Private helpers
	void	ModifyLinkedPositions();
	void	AdjustLinkedObjects( CFlowchartEntity* parent, CFlowchartEntity* filter = NULL );

	CFlowchartEntity*	GetNamedObject( const CString& name ) const;

};

#endif // !defined(AFX_FLOWCHARTEDITOR_H__609E7C31_5443_4059_8ED9_DF9A743CFD2F__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under A Public Domain dedication


Written By
Software Developer (Senior) Abstrakt Mekanik AB
Sweden Sweden
45 years old, married, three kids.

Started with computers more than 20 years ago on a CBM-64.

Read Theoretical Philosophy at the University of Lund.

Working as a C++ consultant developer.

Science-fiction freak. Enjoy vintage punkrock.

Comments and Discussions