/*---------------------------------------------------------------------------
				ExampleTool
				-----------

	Example tool class

	(C) Silicon Dream Ltd 1995

  ---------------------------------------------------------------------------

Changes:							Date:
* Created file							08/02/95
*/

#include <tool.h>

#include "resource.h"

// YOU DO: Change the class name below to describe your tool and anywhere else
//	   this class name is used in this file
class ExampleTool: public Tool
	{
	private:
		// YOU DO: Declare your private variables here. eg.
		//  Vec		vecCursorPos;
		//	   (Non C++ users: 'private' means those
		//	    variables which have global scope from
		//	    within the functions you define here)

		// YOU DO: Uncomment any functions to trap events you're interested in
		// void _cppdyn Initialise();			// Called once when DLL loaded
		// Redraw _cppdyn OnSelect(Vec &vec);		// Called when tool is selected
		// Redraw _cppdyn OnUnSelect(bool *pbOkToChange); // Called when tool is selected
		// void _cppdyn OnConfigure();			// Called to configure tool
		// Redraw _cppdyn OnButtonDown(Vec &vec);	// Called when button pressed
		// Redraw _cppdyn OnMouseMove(Vec &vec);	// Called when mouse moves with button down
		// Redraw _cppdyn OnButtonUp(Vec &vec);		// Called when button is released
		// Redraw _cppdyn OnSet(Vec &vec);		// Called when the 'Set' button is clicked
		// Redraw _cppdyn OnDo(Vec &vec);		// Called to end use of tool
		// Redraw _cppdyn OnUndo();			// Called when user wishes to undo effect of tool
		// void _cppdyn FreeUndo();			// Called when tool no longer needs to keep stuff for undoing
		// void _cppdyn OnViewChange(HanCoorSys hcsys, Vec &vec); // Called when active view changes
		// Redraw _cppdyn OnPaste(Vec &vec, HanObject *ahobj, // Called when objects are pasted into the current view
		//			  ulong ulNumObjects);
		// void _cppdyn OnCommand(ushort usID);		// Called when a tool specific menu item/toolbar button selected
		// CmdUpdate _cppdyn OnCommandUpdate(ushort usID, // Called when a tool specific menu item/toolbar button needs updating
		//				     char *szText, ushort usBuffSize);
		// void _cppdyn DrawSoFar(HDC hdc, HanCoorSys hcsys, // Called to draw object so far into the view
		//			  void *pvViewData, bool bInvalid);

	public:
		_cppdyn ~ExampleTool() {};
	};

IMPLEMENT_OBJECT(ExampleTool)

// YOU DO: Uncomment and fill in any functions for events you want to trap.
//	   (Non C++ users: If you create any functions of your own which need
//	    to access your private variables (see above), you must make the
//	    funtion part of your class by declaring it along with the other
//	    functions (see above), and prefixing the function name with
//	    'classname::' in the implementation)

/*
void _cppdyn ExampleTool::Initialise()
	{
	}
*/
/*
Redraw _cppdyn ExampleTool::OnSelect(Vec &vec)
	{
	return REDRAW_NONE;
	}
*/
/*
Redraw _cppdyn ExampleTool::OnUnSelect(bool *pbOkToChange)
	{
	*pbOkToChange=TRUE;
	return REDRAW_NONE;
	}
*/
/*
void _cppdyn ExampleTool::OnConfigure()
	{
	}
*/
/*
Redraw _cppdyn ExampleTool::OnButtonDown(Vec &vec)
	{
	return REDRAW_NONE;
	}
*/
/*
Redraw _cppdyn ExampleTool::OnMouseMove(Vec &vec)
	{
	return REDRAW_NONE;
	}
*/
/*
Redraw _cppdyn ExampleTool::OnButtonUp(Vec &vec)
	{
	return REDRAW_NONE;
	}
*/
/*
Redraw _cppdyn ExampleTool::OnSet(Vec &vec)
	{
	return REDRAW_NONE;
	}
*/
/*
Redraw _cppdyn ExampleTool::OnDo(Vec &vec)
	{
	return REDRAW_NONE;
	}
*/
/*
Redraw _cppdyn ExampleTool::OnUndo()
	{
	return REDRAW_NONE;
	}
*/
/*
void _cppdyn ExampleTool::FreeUndo()
	{
	}
*/
/*
void _cppdyn ExampleTool::OnViewChange(HanCoorSys hcsys, Vec &vec)
	{
	}
*/
/*
Redraw _cppdyn ExampleTool::OnPaste(Vec &vec, HanObject *ahobj,
				    ulong ulNumObjects)
	{
	return REDRAW_NONE;
	}
*/
/*
void _cppdyn ExampleTool::OnCommand(ushort usID)
	{
	}
*/
/*
CmdUpdate _cppdyn ExampleTool::OnCommandUpdate(ushort usID,
					       char *szText, ushort usBuffSize)
	{
	return ENABLE;
	}
*/
/*
void _cppdyn ExampleTool::DrawSoFar(HDC hdc, HanCoorSys hcsys,
				    void *pvViewData, bool bInvalid)
	{
	}
*/
