summaryrefslogtreecommitdiff
path: root/sw/inc/PostItMgr.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/inc/PostItMgr.hxx')
-rw-r--r--sw/inc/PostItMgr.hxx298
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: */