/************************************************************************* * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: richtextviewport.hxx,v $ * * $Revision: 1.4 $ * * last change: $Author: rt $ $Date: 2005-09-08 23:10:09 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. * * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2005 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * ************************************************************************/ #ifndef FORMS_SOURCE_RICHTEXT_RICHTEXTVIEWPORT_HXX #define FORMS_SOURCE_RICHTEXT_RICHTEXTVIEWPORT_HXX #ifndef _SV_CTRL_HXX #include #endif class EditView; //........................................................................ namespace frm { //........................................................................ //==================================================================== //= RichTextViewPort //==================================================================== class RichTextViewPort : public Control { private: EditView* m_pView; Link m_aInvalidationHandler; bool m_bHideInactiveSelection; public: RichTextViewPort( Window* _pParent ); void setView( EditView& _rView ); inline void setAttributeInvalidationHandler( const Link& _rHandler ) { m_aInvalidationHandler = _rHandler; } void SetHideInactiveSelection( bool _bHide ); bool GetHideInactiveSelection() const; protected: virtual void Paint( const Rectangle& rRect ); virtual void GetFocus(); virtual void LoseFocus(); virtual void KeyInput( const KeyEvent& _rKEvt ); virtual void MouseMove( const MouseEvent& _rMEvt ); virtual void MouseButtonDown( const MouseEvent& _rMEvt ); virtual void MouseButtonUp( const MouseEvent& _rMEvt ); private: inline void implInvalidateAttributes() const { if ( m_aInvalidationHandler.IsSet() ) m_aInvalidationHandler.Call( NULL ); } }; //........................................................................ } // namespace frm //........................................................................ #endif // FORMS_SOURCE_RICHTEXT_RICHTEXTVIEWPORT_HXX