1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 #ifndef FORMS_SOURCE_RICHTEXT_RICHTEXTVIEWPORT_HXX 28 #define FORMS_SOURCE_RICHTEXT_RICHTEXTVIEWPORT_HXX 29 30 #include <vcl/ctrl.hxx> 31 32 class EditView; 33 //........................................................................ 34 namespace frm 35 { 36 //........................................................................ 37 38 //==================================================================== 39 //= RichTextViewPort 40 //==================================================================== 41 class RichTextViewPort : public Control 42 { 43 private: 44 EditView* m_pView; 45 Link m_aInvalidationHandler; 46 bool m_bHideInactiveSelection; 47 48 public: 49 RichTextViewPort( Window* _pParent ); 50 51 void setView( EditView& _rView ); 52 53 inline void setAttributeInvalidationHandler( const Link& _rHandler ) { m_aInvalidationHandler = _rHandler; } 54 55 void SetHideInactiveSelection( bool _bHide ); 56 bool GetHideInactiveSelection() const; 57 58 protected: 59 virtual void Paint( const Rectangle& rRect ); 60 virtual void GetFocus(); 61 virtual void LoseFocus(); 62 virtual void KeyInput( const KeyEvent& _rKEvt ); 63 virtual void MouseMove( const MouseEvent& _rMEvt ); 64 virtual void MouseButtonDown( const MouseEvent& _rMEvt ); 65 virtual void MouseButtonUp( const MouseEvent& _rMEvt ); 66 67 private: 68 inline void implInvalidateAttributes() const 69 { 70 if ( m_aInvalidationHandler.IsSet() ) 71 m_aInvalidationHandler.Call( NULL ); 72 } 73 }; 74 75 //........................................................................ 76 } // namespace frm 77 //........................................................................ 78 79 #endif // FORMS_SOURCE_RICHTEXT_RICHTEXTVIEWPORT_HXX 80 81