// $Revision: 1.4 $ // Copyright (c) 1994-1995 Taligent, Inc. All rights reserved. #ifndef TaligentSamples_DISJOINTSELECTSTATES #define TaligentSamples_DISJOINTSELECTSTATES #ifndef TaligentSamples_STANDARDSELECTSTATES #include "StandardSelectStates.h" #endif // Similar to set select state, but leaves existing selection and just adds new one to it. class TDisjointSelectState : public TSetSelectState { public: TaligentTypeExtensionDeclarationsMacro_Abstract(TDisjointSelectState) TDisjointSelectState(MTextRepresentation*, TTextChunkIteratorReference&); virtual ~TDisjointSelectState(); virtual void Setup(const TInsertionOffset& initialOffset, const TTextArea& initialArea); virtual void Track(const TInsertionOffset& trackingOffset, TTextArea& resultArea); protected: virtual void SetOriginalArea(const TTextArea&); private: TTextArea fOriginalArea; }; // Similar to extend select state, but extends nearest portion of the selection. class TExtendDisjointSelectState : public TDisjointSelectState { public: TaligentTypeExtensionDeclarationsMacro_Abstract(TExtendDisjointSelectState) TExtendDisjointSelectState(MTextRepresentation*, TTextChunkIteratorReference&); virtual ~TExtendDisjointSelectState(); virtual void Setup(const TInsertionOffset& initialOffset, const TTextArea& initialArea); }; #endif // TaligentSamples_DISJOINTSELECTSTATES