diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2009-09-16 13:55:36 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2009-09-16 13:55:36 +0000 |
commit | 5d431414afa79d392fe6a885940c559236c25aa2 (patch) | |
tree | 22b5a1b61050f20ca7cf3dd5d413ef8d5e0d211c /sd/source/ui/annotations/annotationmanagerimpl.hxx | |
parent | CWS-TOOLING: integrate CWS l10nframework01 (diff) | |
download | core-5d431414afa79d392fe6a885940c559236c25aa2.tar.gz core-5d431414afa79d392fe6a885940c559236c25aa2.zip |
CWS-TOOLING: integrate CWS impressnotes01
2009-09-11 13:52:41 +0200 cl r276061 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@276043 (milestone: DEV300:m58)
2009-09-10 15:44:57 +0200 cl r276039 : #i103139# continued work on the impress annotation feature
2009-09-10 14:52:31 +0200 cl r276032 : #i103139# continued work on the impress annotation feature
2009-09-10 14:50:32 +0200 cl r276031 : #i103139# continued work on the impress annotation feature
2009-09-10 14:48:29 +0200 cl r276030 : #i103139# continued work on the impress annotation feature
2009-09-10 11:36:11 +0200 cl r276027 : #i103139# continued work on the impress annotation feature
2009-09-09 20:22:41 +0200 cl r276018 : #i103139# continued work on the impress annotation feature
2009-09-09 20:21:45 +0200 cl r276017 : #i103139# continued work on the impress annotation feature
2009-09-09 19:32:29 +0200 sj r276015 : #i103139# added import of comments (ppt binary)
2009-09-09 19:31:07 +0200 sj r276014 : #i103139# added import of comments (ppt binary)
2009-09-09 19:16:41 +0200 cl r276011 : #i103139# continued work on the impress annotation feature
2009-09-09 19:15:19 +0200 cl r276010 : #i103139# continued work on the impress annotation feature
2009-09-09 16:27:19 +0200 cl r276001 : #i104579# fixed isEmptyPresObj()
2009-09-09 15:12:02 +0200 cl r275997 : #i103139# continued work on the impress annotation feature
2009-09-09 15:06:29 +0200 sj r275996 : #i103139# added import of comments (ppt binary)
2009-09-09 14:53:01 +0200 cl r275995 : #i103139# continued work on the impress annotation feature
2009-09-09 14:51:32 +0200 cl r275994 : #i103139# continued work on the impress annotation feature
2009-09-09 12:11:17 +0200 cl r275982 : #i103139# continued work on the impress annotation feature
2009-09-09 11:47:55 +0200 cl r275981 : #i103139# continued work on the impress annotation feature
2009-09-09 11:47:23 +0200 cl r275980 : #i103139# continued work on the impress annotation feature
2009-09-09 11:44:47 +0200 cl r275978 : #i104315# added missing tab pages
2009-09-08 16:04:44 +0200 cl r275936 : #i103139# continued work on the impress annotation feature
2009-09-08 16:03:28 +0200 cl r275935 : #i103139# continued work on the impress annotation feature
2009-09-08 11:45:47 +0200 cl r275920 : #i103139# continued work on the impress annotation feature
2009-09-08 11:41:51 +0200 cl r275919 : #i103139# continued work on the impress annotation feature
2009-09-07 18:30:55 +0200 cl r275910 : #i103139# continued work on the impress annotation feature
2009-09-07 18:29:37 +0200 cl r275909 : #i103139# continued work on the impress annotation feature
2009-09-07 17:25:43 +0200 cl r275905 : #i103139# continued work on the impress annotation feature
2009-09-07 12:00:28 +0200 cl r275884 : #i103139# continued work on the impress annotation feature
2009-09-06 14:14:00 +0200 cl r275859 : #i103139# continued work on the impress annotation feature
2009-09-05 20:57:24 +0200 cl r275854 : #i103139# continued work on the impress annotation feature
2009-09-05 20:56:29 +0200 cl r275853 : #i103139# continued work on the impress annotation feature
2009-09-05 20:55:27 +0200 cl r275852 : #i103139# continued work on the impress annotation feature
2009-09-05 20:11:42 +0200 cl r275851 : #i103139# continued work on the impress annotation feature
2009-09-05 20:11:09 +0200 cl r275850 : #i103139# continued work on the impress annotation feature
2009-09-05 17:43:33 +0200 cl r275845 : #i103139# continued work on the impress annotation feature
2009-09-05 17:04:41 +0200 cl r275843 : #i103139# continued work on the impress annotation feature
2009-09-05 17:03:26 +0200 cl r275842 : #i103139# continued work on the impress annotation feature
2009-09-05 17:02:53 +0200 cl r275841 : #i103139# continued work on the impress annotation feature
2009-09-05 13:15:04 +0200 pl r275839 : #i104823# WB_NEEDSFOCUS
2009-09-05 13:14:41 +0200 pl r275838 : #i104823# WB_NEEDSFOCUS
2009-09-04 17:48:21 +0200 cl r275826 : #i103139# continued work on the impress annotation feature
2009-09-04 17:35:03 +0200 cl r275825 : #i103139# continued work on the impress annotation feature
2009-09-04 17:15:46 +0200 cl r275824 : #i103139# continued work on the impress annotation feature
2009-09-04 17:12:54 +0200 cl r275823 : #i103139# continued work on the impress annotation feature
2009-09-04 17:05:23 +0200 cl r275822 : #i103139# continued work on the impress annotation feature
2009-09-04 16:48:28 +0200 cl r275820 : #i103139# continued work on the impress annotation feature
2009-09-04 16:44:02 +0200 cl r275818 : #i103139# continued work on the impress annotation feature
2009-09-04 16:43:23 +0200 cl r275817 : #i103139# continued work on the impress annotation feature
2009-09-04 16:06:04 +0200 cl r275812 : #i103139# continued work on the impress annotation feature
2009-09-04 16:05:45 +0200 cl r275811 : #i103139# continued work on the impress annotation feature
2009-09-04 15:04:33 +0200 cl r275806 : #i103139# continued work on the impress annotation feature
2009-09-04 11:43:14 +0200 cl r275795 : #i103139# continued work on the impress annotation feature
2009-09-04 11:27:10 +0200 cl r275793 : #i103139# continued work on the impress annotation feature
2009-09-04 11:10:02 +0200 cl r275792 : #i103139# continued work on the impress annotation feature
2009-09-04 11:07:05 +0200 cl r275790 : #i103139# continued work on the impress annotation feature
2009-09-04 11:05:01 +0200 cl r275789 : #i103139# continued work on the impress annotation feature
2009-09-04 10:55:51 +0200 cl r275785 : #i103139# renamed notes to comments
2009-09-04 10:54:57 +0200 cl r275784 : #i103139# renamed notes to comments
2009-09-03 20:37:35 +0200 cl r275772 : #i103139# continued work on the impress annotation feature
2009-09-03 20:35:31 +0200 cl r275771 : #i103139# continued work on the impress annotation feature
2009-09-01 18:17:55 +0200 cl r275680 : #i103139# continued work on the impress annotation feature
2009-09-01 18:15:08 +0200 cl r275678 : #i103139# continued work on the impress annotation feature
2009-09-01 18:13:38 +0200 cl r275677 : #i103139#
continued work on the impress annotation feature
2009-08-18 12:35:42 +0200 cl r275089 : fixed merge error
2009-08-18 11:39:58 +0200 cl r275086 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@275001 (milestone: DEV300:m55)
2009-07-30 13:45:10 +0200 cl r274481 : fixed merge errrors
2009-07-30 13:41:21 +0200 cl r274480 : fixed merge errrors
2009-07-30 13:39:40 +0200 cl r274478 : fixed merge errrors
2009-07-22 18:07:30 +0200 cl r274256 : CWS-TOOLING: rebase CWS impressnotes01 to trunk@273858 (milestone: DEV300:m52)
2009-07-21 17:21:31 +0200 cl r274208 : merging
2009-07-20 14:28:34 +0200 cl r274137 : #i103139# annotation support for impress
2009-07-20 14:28:04 +0200 cl r274136 : #i103139# annotation support for impress
2009-07-20 14:27:20 +0200 cl r274135 : #i103139# annotation support for impress
2009-07-20 14:21:17 +0200 cl r274134 : #i103139# annotation support for impress
2009-07-20 14:20:56 +0200 cl r274133 : #i103139# annotation support for impress
2009-07-20 14:20:09 +0200 cl r274132 : #i103139# annotation support for impress
2009-07-20 14:19:00 +0200 cl r274131 : #i103139# annotation support for impress
2009-07-20 14:17:50 +0200 cl r274130 : #i103139# annotation support for impress
2009-07-20 14:12:24 +0200 cl r274129 : #i103139# annotation support for impress
2009-07-20 13:52:03 +0200 cl r274128 : #i103139# annotation support for impress
2009-07-20 13:51:11 +0200 cl r274127 : #i103139# annotation support for impress
2009-07-20 13:48:59 +0200 cl r274126 : #i103139# annotation support for impress
2009-07-20 13:43:56 +0200 cl r274125 : #i103139# annotation support for impress
2009-07-20 13:31:55 +0200 cl r274123 : #i103139# annotation support for impress
2009-07-20 13:30:45 +0200 cl r274122 : #i103139# annotation support for impress
Diffstat (limited to 'sd/source/ui/annotations/annotationmanagerimpl.hxx')
-rwxr-xr-x | sd/source/ui/annotations/annotationmanagerimpl.hxx | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/sd/source/ui/annotations/annotationmanagerimpl.hxx b/sd/source/ui/annotations/annotationmanagerimpl.hxx new file mode 100755 index 000000000000..a64421c26262 --- /dev/null +++ b/sd/source/ui/annotations/annotationmanagerimpl.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: AnnotationPanel.hxx,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SD_ANNOTATIONMANAGER_IMPL_HXX +#define _SD_ANNOTATIONMANAGER_IMPL_HXX + +#include <com/sun/star/document/XEventListener.hpp> +#include <com/sun/star/office/XAnnotationAccess.hpp> + +#include <rtl/ustring.hxx> + +#include <cppuhelper/basemutex.hxx> +#include <cppuhelper/compbase1.hxx> + +#include "ViewShellBase.hxx" + +#include "annotationtag.hxx" + +class SfxRequest; + +namespace sd +{ + +typedef std::vector< rtl::Reference< AnnotationTag > > AnnotationTagVector; + +namespace tools { +class EventMultiplexerEvent; +} + +typedef ::cppu::WeakComponentImplHelper1 < + com::sun::star::document::XEventListener + > AnnotationManagerImplBase; + +class AnnotationManagerImpl : private ::cppu::BaseMutex, public AnnotationManagerImplBase +{ +public: + AnnotationManagerImpl( ViewShellBase& rViewShellBase ); + + void init(); + + // WeakComponentImplHelper1 + virtual void SAL_CALL disposing (); + + // XEventListener + virtual void SAL_CALL notifyEvent( const ::com::sun::star::document::EventObject& Event ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException); + + // + void ExecuteAnnotation (SfxRequest& rRequest); + void GetAnnotationState (SfxItemSet& rItemSet); + + void ExecuteInsertAnnotation(SfxRequest& rReq); + void ExecuteDeleteAnnotation(SfxRequest& rReq); + void ExecuteReplyToAnnotation(SfxRequest& rReq); + + void SelectNextAnnotation(bool bForeward); + + void SelectAnnotation( ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > xAnnotation, bool bEdit = FALSE ); + void GetSelectedAnnotation( ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation >& xAnnotation ); + + void InsertAnnotation(); + void DeleteAnnotation( ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > xAnnotation ); + void DeleteAnnotationsByAuthor( const rtl::OUString& sAuthor ); + void DeleteAllAnnotations(); + + void ExecuteAnnotationContextMenu( ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > xAnnotation, ::Window* pParent, const Rectangle& rContextRect, bool bButtonMenu = false ); + + Color GetColorDark(sal_uInt16 aAuthorIndex); + Color GetColorLight(sal_uInt16 aAuthorIndex); + Color GetColor(sal_uInt16 aAuthorIndex); + + + // callbacks + void onTagSelected( AnnotationTag& rTag ); + void onTagDeselected( AnnotationTag& rTag ); + + void onSelectionChanged(); + + rtl::OUString GetHelpText( ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation >& xAnnotation ); + + void addListener(); + void removeListener(); + + void invalidateSlots(); + + DECL_LINK(EventMultiplexerListener, tools::EventMultiplexerEvent*); + DECL_LINK(UpdateTagsHdl, void *); + + void UpdateTags(bool bSynchron = false); + void CreateTags(); + void DisposeTags(); + + SdPage* GetNextPage( SdPage* pPage, bool bForeward ); + SdPage* GetFirstPage(); + SdPage* GetLastPage(); + + SdPage* GetCurrentPage(); + + SdDrawDocument* GetDoc() { return mpDoc; } +private: + ViewShellBase& mrBase; + SdDrawDocument* mpDoc; + + AnnotationTagVector maTagVector; + + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawView > mxView; + ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotationAccess > mxCurrentPage; + ::com::sun::star::uno::Reference< ::com::sun::star::office::XAnnotation > mxSelectedAnnotation; + + bool mbShowAnnotations; + ULONG mnUpdateTagsEvent; + Font maFont; +}; + +} + +#endif // _SD_ANNOTATIONMANAGER_IMPL_HXX |