20#ifndef INCLUDED_SW_INC_POSTITMGR_HXX
21#define INCLUDED_SW_INC_POSTITMGR_HXX
29#include <rtl/ustring.hxx>
34#include <com/sun/star/uno/Any.hxx>
58namespace i18nutil {
struct SearchOptions2; }
60#define COL_NOTES_SIDEPANE_ARROW_ENABLED Color(0,0,0)
61#define COL_NOTES_SIDEPANE_ARROW_DISABLED Color(172,168,153)
98 css::uno::Sequence< css::uno::Any > aValues =
GetProperties(rNames);
99 const css::uno::Any*
pValues = aValues.getConstArray();
100 SAL_WARN_IF(aValues.getLength() != rNames.getLength(),
"sw",
"GetProperties failed");
101 if (aValues.hasElements())
111 static css::uno::Sequence< OUString > aNames;
112 if(!aNames.hasElements())
115 OUString* pNames = aNames.getArray();
116 pNames[0] =
"ShowAnkor";
121 virtual void Notify(
const css::uno::Sequence< OUString >& aPropertyNames )
override;
131 std::vector<std::unique_ptr<SwPostItPageItem>>
mPages;
148 void AddPostIts(
bool bCheckExistence =
true,
bool bFocus =
true);
149 void RemoveSidebarWin();
150 void PreparePageContainer();
154 bool LayoutByPage( std::vector<sw::annotation::SwAnnotationWin*> &aVisiblePostItList,
158 bool CheckForRemovedPostIts();
159 bool ArrowEnabled(sal_uInt16 aDirection,
tools::ULong aPage)
const;
161 bool HasScrollbars()
const;
164 sal_Int32 GetInitialAnchorDistance()
const;
165 sal_Int32 GetScrollSize()
const;
166 sal_Int32 GetSpaceBetween()
const;
167 void SetReadOnlyState();
179 typedef std::vector< std::unique_ptr<SwSidebarItem> >::const_iterator
const_iterator;
185 void LayoutPostIts();
191 bool HasNotes()
const ;
192 bool ShowNotes()
const;
195 tools::ULong GetSidebarBorderWidth(
bool bPx =
false)
const;
197 void PrepareView(
bool bIgnoreCount =
false);
199 void CorrectPositions();
202 void Delete(
const OUString& aAuthor);
203 void Delete(sal_uInt32 nPostItId);
205 void DeleteCommentThread(sal_uInt32 nPostItId);
206 void ToggleResolved(sal_uInt32 nPostItId);
207 void ToggleResolvedForThread(sal_uInt32 nPostItId);
209 void ExecuteFormatAllDialog(
SwView& rView);
212 void Hide( std::u16string_view rAuthor );
216 void ShowHideResolvedNotes(
bool visible);
223 bool IsHit(
const Point &aPointPixel);
240 bool HasActiveAnnotationWin()
const;
241 void GrabFocusOnActiveSidebarWin();
243 void DeleteActiveSidebarWin();
244 void HideActiveSidebarWin();
245 void ToggleInsModeOnActiveSidebarWin();
247 sal_Int32 GetMinimumSizeWithMeta()
const;
248 sal_Int32 GetSidebarScrollerHeight()
const;
250 void SetShadowState(
const SwPostItField* pField,
bool bCursor =
true);
252 void SetSpellChecking();
254 static Color GetColorDark(std::size_t aAuthorIndex);
255 static Color GetColorLight(std::size_t aAuthorIndex);
256 static Color GetColorAnchor(std::size_t aAuthorIndex);
262 void CheckMetaText();
268 void AssureStdModeAtShell();
270 void ConnectSidebarWinToFrame(
const SwFrame& rFrame,
273 void DisconnectSidebarWinFromFrame(
const SwFrame& rFrame,
275 bool HasFrameConnectedSidebarWins(
const SwFrame& rFrame );
277 const sal_Int32 nIndex );
278 void GetAllSidebarWinForFrame(
const SwFrame& rFrame,
279 std::vector< vcl::Window* >* pChildren );
281 void DrawNotesForPage(
OutputDevice *pOutDev, sal_uInt32 nPage);
const PropertyValue * pValues
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
Window class for the Writer edit area, this is the one handling mouse and keyboard events and doing t...
Base class of the Writer layout elements.
virtual void Notify(const css::uno::Sequence< OUString > &aPropertyNames) override
virtual void ImplCommit() override
static css::uno::Sequence< OUString > & GetPropertyNames()
bool IsShowAnchor() const
std::vector< std::unique_ptr< SwPostItPageItem > > mPages
const_iterator begin() const
std::vector< std::unique_ptr< SwSidebarItem > > mvPostItFields
void RegisterAnswerText(const OUString &aAnswerText)
void RegisterAnswer(const OutlinerParaObject *pAnswer)
FieldShadowState mShadowState
OutlinerParaObject * IsAnswer()
std::unique_ptr< sw::sidebarwindows::SwFrameSidebarWinContainer > mpFrameSidebarWinContainer
VclPtr< SwEditWin > mpEditWin
std::optional< OutlinerParaObject > mpAnswer
VclPtr< sw::annotation::SwAnnotationWin > mpActivePostIt
std::vector< std::unique_ptr< SwSidebarItem > >::const_iterator const_iterator
bool IsShowAnchor() const
const_iterator end() const
tools::Long mbLayoutHeight
const OUString & GetAnswerText() const
bool mbWaitingForCalcRects
DECL_DLLPRIVATE_LINK(CalcHdl, void *, void)
sw::annotation::SwAnnotationWin * GetActiveSidebarWin()
Of course Writer needs its own rectangles.
Used by the UI to modify the document model.
ConfigItem(ConfigItem const &)=default
static css::uno::Sequence< css::uno::Any > GetProperties(css::uno::Reference< css::container::XHierarchicalNameAccess > const &xHierarchyAccess, const css::uno::Sequence< OUString > &rNames, bool bAllLocales)
#define SAL_WARN_IF(condition, area, stream)
Dialog to specify the properties of date form field.
const SwPostItField * mpShadowField
sw::sidebarwindows::SidebarPosition eSidebarPosition
std::vector< SwSidebarItem * > mvSidebarItems