diff options
Diffstat (limited to 'sw/inc/PostItMgr.hxx')
-rw-r--r-- | sw/inc/PostItMgr.hxx | 298 |
1 files changed, 0 insertions, 298 deletions
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx deleted file mode 100644 index 120e66b71d..0000000000 --- a/sw/inc/PostItMgr.hxx +++ /dev/null @@ -1,298 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 _POSTITMGR_HXX -#define _POSTITMGR_HXX - -#include <list> -#include <vector> -#include <editeng/outlobj.hxx> -#include <tools/string.hxx> -#include <tools/link.hxx> -#include <swrect.hxx> -#include <unotools/configitem.hxx> -#include <unotools/options.hxx> -#include <com/sun/star/util/SearchOptions.hpp> -#include <com/sun/star/uno/Any.hxx> -#include <SidebarWindowsTypes.hxx> -#include <svl/lstner.hxx> - -class SwWrtShell; -class SwDoc; -class SwView; -class SwPostItField; -class SwFmtFld; -class SwField; -class SfxBroadcaster; -class SfxHint; -class SwEditWin; -class Color; -class SvxSearchItem; -class SvxLanguageItem; -namespace sw { namespace annotation { - class SwAnnotationWin; -}} -namespace sw { namespace sidebarwindows { - class SwSidebarWin; - class SwFrmSidebarWinContainer; -}} -class SwSidebarItem; -class SwFrm; -class Window; - -#define SORT_POS 1 -#define SORT_AUTHOR 2 -#define SORT_DATE 3 - -#define COL_NOTES_SIDEPANE_ARROW_ENABLED RGB_COLORDATA(0,0,0) -#define COL_NOTES_SIDEPANE_ARROW_DISABLED RGB_COLORDATA(172,168,153) - -typedef std::list<SwSidebarItem*> SwSidebarItem_list; -typedef std::list<SwSidebarItem*>::iterator SwSidebarItem_iterator; - - -struct SwPostItPageItem -{ - bool bScrollbar; - sw::sidebarwindows::SidebarPosition eSidebarPosition; - long lOffset; - SwRect mPageRect; - SwSidebarItem_list* mList; - SwPostItPageItem(): bScrollbar(false), eSidebarPosition( sw::sidebarwindows::SIDEBAR_LEFT ), lOffset(0) - { - mList = new SwSidebarItem_list; - } - ~SwPostItPageItem() - { - mList->clear(); - delete mList; - } - -}; - -struct FieldShadowState -{ - const SwPostItField* mpShadowFld; - bool bCursor; - bool bMouse; - FieldShadowState(): mpShadowFld(0),bCursor(false),bMouse(false) - { - } -}; - -class SwNoteProps: public utl::ConfigItem -{ - private: - bool bIsShowAnchor; - public: - SwNoteProps() - : ConfigItem(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office.Writer/Notes"))) - , bIsShowAnchor(false) - { - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rNames = GetPropertyNames(); - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > aValues = GetProperties(rNames); - const ::com::sun::star::uno::Any* pValues = aValues.getConstArray(); - OSL_ENSURE(aValues.getLength() == rNames.getLength(), "GetProperties failed"); - if (aValues.getLength()) - pValues[0]>>=bIsShowAnchor; - } - - bool IsShowAnchor() - { - return bIsShowAnchor; - } - ::com::sun::star::uno::Sequence< ::rtl::OUString >& GetPropertyNames() - { - static ::com::sun::star::uno::Sequence< ::rtl::OUString > aNames; - if(!aNames.getLength()) - { - aNames.realloc(1); - ::rtl::OUString* pNames = aNames.getArray(); - pNames[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ShowAnkor")); - } - return aNames; - } - - virtual void Commit(); - virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ); -}; - -class SwPostItMgr: public SfxListener -{ - private: - SwView* mpView; - SwWrtShell* mpWrtShell; - SwEditWin* mpEditWin; - std::list< SwSidebarItem*> mvPostItFlds; - std::vector<SwPostItPageItem*> mPages; - sal_uLong mnEventId; - bool mbWaitingForCalcRects; - sw::sidebarwindows::SwSidebarWin* mpActivePostIt; - bool mbLayout; - long mbLayoutHeight; - long mbLayouting; - bool mbReadOnly; - bool mbDeleteNote; - FieldShadowState mShadowState; - OutlinerParaObject* mpAnswer; - bool mbIsShowAnchor; - - // data structure to collect the <SwSidebarWin> instances for certain <SwFrm> instances. - sw::sidebarwindows::SwFrmSidebarWinContainer* mpFrmSidebarWinContainer; - - typedef std::list<sw::sidebarwindows::SwSidebarWin*>::iterator SwSidebarWin_iterator; - - void AddPostIts(bool bCheckExistance = true,bool bFocus = true); - void RemoveSidebarWin(); - void PreparePageContainer(); - void Scroll(const long lScroll,const unsigned long aPage ); - void AutoScroll(const sw::sidebarwindows::SwSidebarWin* pPostIt,const unsigned long aPage ); - bool ScrollbarHit(const unsigned long aPage,const Point &aPoint); - bool LayoutByPage( std::list<sw::sidebarwindows::SwSidebarWin*> &aVisiblePostItList, - const Rectangle aBorder, - long lNeededHeight); - void CheckForRemovedPostIts(); - bool ArrowEnabled(sal_uInt16 aDirection,unsigned long aPage) const; - bool BorderOverPageBorder(unsigned long aPage) const; - bool HasScrollbars() const; - void Focus(SfxBroadcaster& rBC); - - sal_Int32 GetInitialAnchorDistance() const; - sal_Int32 GetScrollSize() const; - sal_Int32 GetSpaceBetween() const; - void SetReadOnlyState(); - DECL_LINK( CalcHdl, void*); - - sw::sidebarwindows::SwSidebarWin* GetSidebarWin(const SfxBroadcaster* pBroadcaster) const; - - void InsertItem( SfxBroadcaster* pItem, bool bCheckExistance, bool bFocus); - void RemoveItem( SfxBroadcaster* pBroadcast ); - - void Sort(const short aType); - - public: - SwPostItMgr(SwView* aDoc); - ~SwPostItMgr(); - - typedef std::list< SwSidebarItem* >::const_iterator const_iterator; - const_iterator begin() const { return mvPostItFlds.begin(); } - const_iterator end() const { return mvPostItFlds.end(); } - - void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); - - void LayoutPostIts(); - bool CalcRects(); - - void MakeVisible( const sw::sidebarwindows::SwSidebarWin* pPostIt, - long aPage = -1); - - bool ShowScrollbar(const unsigned long aPage) const; - bool HasNotes() const ; - bool ShowNotes() const; - bool IsShowAnchor() { return mbIsShowAnchor;} - unsigned long GetSidebarWidth(bool bPx = false) const; - unsigned long GetSidebarBorderWidth(bool bPx = false) const; - unsigned long GetNoteWidth(); - - void PrepareView(bool bIgnoreCount = false); - - void CorrectPositions(); - - void SetLayout() { mbLayout = true; }; - void Delete(String aAuthor); - void Delete(); - - void Hide( const String& rAuthor ); - void Hide(); - void Show(); - - void Rescale(); - - Rectangle GetBottomScrollRect(const unsigned long aPage) const; - Rectangle GetTopScrollRect(const unsigned long aPage) const; - - bool IsHit(const Point &aPointPixel); - Color GetArrowColor(sal_uInt16 aDirection,unsigned long aPage) const; - - sw::annotation::SwAnnotationWin* GetAnnotationWin(const SwPostItField* pFld) const; - - sw::sidebarwindows::SwSidebarWin* GetNextPostIt( sal_uInt16 aDirection, - sw::sidebarwindows::SwSidebarWin* aPostIt); - long GetNextBorder(); - - sw::sidebarwindows::SwSidebarWin* GetActiveSidebarWin() { return mpActivePostIt; } - void SetActiveSidebarWin( sw::sidebarwindows::SwSidebarWin* p); - bool HasActiveSidebarWin() const; - bool HasActiveAnnotationWin() const; - void GrabFocusOnActiveSidebarWin(); - void UpdateDataOnActiveSidebarWin(); - void DeleteActiveSidebarWin(); - void HideActiveSidebarWin(); - void ToggleInsModeOnActiveSidebarWin(); - - sal_Int32 GetMinimumSizeWithMeta() const; - sal_Int32 GetSidebarScrollerHeight() const; - - void SetShadowState(const SwPostItField* pFld,bool bCursor = true); - - void SetSpellChecking(); - - Color GetColorDark(sal_uInt16 aAuthorIndex); - Color GetColorLight(sal_uInt16 aAuthorIndex); - Color GetColorAnchor(sal_uInt16 aAuthorIndex); - - - void RegisterAnswer(OutlinerParaObject* pAnswer) { mpAnswer = pAnswer;} - OutlinerParaObject* IsAnswer() {return mpAnswer;} - void CheckMetaText(); - void StartSpelling(); - - sal_uInt16 Replace(SvxSearchItem* pItem); - sal_uInt16 SearchReplace(const SwFmtFld &pFld, const ::com::sun::star::util::SearchOptions& rSearchOptions,bool bSrchForward); - sal_uInt16 FinishSearchReplace(const ::com::sun::star::util::SearchOptions& rSearchOptions,bool bSrchForward); - - void AssureStdModeAtShell(); - - void ConnectSidebarWinToFrm( const SwFrm& rFrm, - const SwFmtFld& rFmtFld, - sw::sidebarwindows::SwSidebarWin& rSidebarWin ); - void DisconnectSidebarWinFromFrm( const SwFrm& rFrm, - sw::sidebarwindows::SwSidebarWin& rSidebarWin ); - bool HasFrmConnectedSidebarWins( const SwFrm& rFrm ); - Window* GetSidebarWinForFrmByIndex( const SwFrm& rFrm, - const sal_Int32 nIndex ); - void GetAllSidebarWinForFrm( const SwFrm& rFrm, - std::vector< Window* >* pChildren ); -}; - -#endif - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |