// $Revision: 1.5 $ //------------------------------------------------------------------------------ // // Copyright (C) 1994, 1995 Taligent, Inc. All rights reserved. // // Project: TaligentSelectionTool // File: SelectionToolhandler.h // Build/Version: 1.0.0 // // Description: Implement a selection tool handler that supports the arrow tool. // //------------------------------------------------------------------------------ #ifndef TaligentSamples_SELECTIONTOOLHANDLER #define TaligentSamples_SELECTIONTOOLHANDLER #ifndef Taligent_CURSORTOOLS #include #endif #ifndef Taligent_GUICOMPOUNDDOCUMENTTOOLSUPPORT #include #endif class MFeedbacker; //from Feedbacker.h class MSelectionMapping; //from SelectionMapping.h class MGUIBundle; //from class TTypeDescription; //from class TGPoint; //from class TToken; //from //................................................................................ class MSelectionToolHandler : public MGUIToolHandler { public: TaligentTypeExtensionDeclarationsMacro_Abstract(MSelectionToolHandler) public: MSelectionToolHandler(MFeedbacker* feedbacker, MSelectionMapping* mapping, MGUIBundle* bundle); virtual ~MSelectionToolHandler(); virtual MToolTarget* CreateToolTarget(const TTypeDescription&, const TGPoint&) const; virtual TToolInteractor* CreateToolInteractor(const TGPoint&, const TToken& hint) const; virtual void AdoptAndDo(TToolCommandBinding*); virtual void DoBegin(TToolCommandBinding&); virtual void DoIncrement(TToolCommandBinding&); virtual void AdoptAndDoEnd(TToolCommandBinding*); protected: MFeedbacker* GetFeedbacker() const; MSelectionMapping* GetSelectionMapping() const; MGUIBundle* GetGUIBundle() const; private: MSelectionToolHandler& operator=(const MSelectionToolHandler& source); MFeedbacker* fFeedbacker; MSelectionMapping* fMapping; MGUIBundle* fBundle; }; #endif