/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ #pragma once
class OutputDevice; class SwWrtShell; class SwView; class SwPostItField; class SwFormatField; class SwEditWin; class Color; class SfxItemSet; class SvxSearchItem; namespace sw::annotation { class SwAnnotationWin; } namespace sw::sidebarwindows { class SwFrameSidebarWinContainer; } class SwAnnotationItem; class SwFrame; namespace vcl { class Window; } struct ImplSVEvent; namespace i18nutil { struct SearchOptions2; }
// data structure to collect the <SwAnnotationWin> instances for certain <SwFrame> instances.
std::unique_ptr<sw::sidebarwindows::SwFrameSidebarWinContainer> mpFrameSidebarWinContainer;
void AddPostIts(bool bCheckExistence = true,bool bFocus = true); void RemoveSidebarWin(); void PreparePageContainer(); void Scroll(const tools::Long lScroll,const tools::ULong aPage ); void AutoScroll(const sw::annotation::SwAnnotationWin* pPostIt,const tools::ULong aPage ); bool ScrollbarHit(const tools::ULong aPage,const Point &aPoint); bool LayoutByPage( std::vector<sw::annotation::SwAnnotationWin*> &aVisiblePostItList, const tools::Rectangle& rBorder,
tools::Long lNeededHeight); // return true if a postit was found to have been removed bool CheckForRemovedPostIts(); bool ArrowEnabled(sal_uInt16 aDirection,tools::ULong aPage) const; bool BorderOverPageBorder(tools::ULong aPage) const; bool HasScrollbars() const; void Focus(const SfxBroadcaster& rBC);
bool IsHit(const Point &aPointPixel); /// Get the matching window that is responsible for handling mouse events of rPointLogic, if any.
vcl::Window* IsHitSidebarWindow(const Point& rPointLogic); bool IsHitSidebarDragArea(const Point& rPointLogic);
Color GetArrowColor(sal_uInt16 aDirection, tools::ULong aPage) const;
static Color GetColorDark(std::size_t aAuthorIndex); static Color GetColorLight(std::size_t aAuthorIndex); static Color GetColorAnchor(std::size_t aAuthorIndex);
// The commands that directly delete comments (as opposed to deletion of the text that the // comments are anchored to) behave differently, depending on the document type, when the // change tracking is on. For ODF, we allow comments to be marked as deleted; for external // document types, we delete them immediately, as if change tracking os off. class CommentDeleteFlagsRestore
{ public: virtual ~CommentDeleteFlagsRestore() = default;
}; // Checks if the respective configuration must be changed for 'delete' operation, makes the // change if needed, and returns a RAII object that will restore the original configuration // in its dtor.
[[nodiscard]] std::unique_ptr<CommentDeleteFlagsRestore> ConfigureForCommentDelete();
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.