class SwWrtShell; class SwView; class SwAnchorMarker; class SdrObject; class SwShadowCursor; class SvxAutoCorrect; class SwPaM; struct SwApplyTemplate; struct QuickHelpData; class SdrDropMarkerOverlay; class SwFrameControlsManager; enumclass SdrHitKind; class SwTextFrame;
// input window
/** Window class for the Writer edit area, this is the one handling mouse andkeyboardeventsanddoingthefinalpaintingofthedocumentfrom thebufferedlayout.
TotranslatethepixelpositionsfromthebufferOutputDevicetothereal pixelpositions,usethePixelToLogicmethodsofthisclass.
*/ class SAL_DLLPUBLIC_RTTI SwEditWin final : public vcl::DocWindow, public DropTargetHelper, public DragSourceHelper
{ static QuickHelpData* s_pQuickHlpData;
Color m_aWaterCanTextColor; // text color; for the watering can
Color m_aWaterCanTextBackColor; // text background; for the watering can
/* *timerandhandlerforscrollingonwhenthemousepointer *stopsoutsideofEditWinduringadrag-operation. *Theselectionisincreasedtowardsthemouseposition *regularly.
*/
AutoTimer m_aTimer;
sal_uInt32 m_nTimerCalls; // timer for ANY-KeyInput question without a following KeyInputEvent
Timer m_aKeyInputFlushTimer;
OUString m_aInBuffer;
LanguageType m_eBufferLanguage;
Point m_aStartPos;
Point m_aMovePos;
ScrollSizeMode m_eScrollSizeMode;
Point m_aRszMvHdlPt;
Timer m_aTemplateTimer;
// type/object where the mouse pointer is
SwCallMouseEvent m_aSaveCallEvent;
std::unique_ptr<SwApplyTemplate> m_pApplyTempl;
std::unique_ptr<SwAnchorMarker> m_pAnchorMarker; // for relocating the anchor
std::unique_ptr<SdrDropMarkerOverlay> m_pUserMarker;
SdrObject *m_pUserMarkerObj;
std::unique_ptr<SwShadowCursor, o3tl::default_delete<SwShadowCursor>> m_pShadCursor;
sal_Int16 m_eOrient;
std::optional<Point> m_xRowColumnSelectionStart; // save position where table row/column selection has been started
SwView &m_rView;
SdrHitKind m_aActHitType; // current mouse pointer
SotClipboardFormatId m_nDropFormat; // format from the last QueryDrop
sal_uInt8 m_nDropAction; // action from the last QueryDrop
SotExchangeDest m_nDropDestination; // destination from the last QueryDrop
sal_uInt16 m_eBezierMode;
sal_uInt16 m_nInsFrameColCount; // column number for interactive frame
SdrObjKind m_eDrawMode; bool m_bMBPressed : 1,
m_bInsDraw : 1,
m_bInsFrame : 1,
m_bIsInMove : 1,
m_bIsInDrag : 1, // don't execute StartExecuteDrag twice
m_bOldIdle : 1, // to stop to idle
m_bOldIdleSet : 1, // during QeueryDrop
m_bChainMode : 1, // connect frames
m_bWasShdwCursor : 1, // ShadowCursor was on in MouseButtonDown
m_bLockInput : 1, // lock while calc panel is active
m_bIsRowDrag : 1, //selection of rows is used, in combination with m_pRowColumnSelectionStart /** #i42732# display status of font size/name depending on either the input language or the selectionpositiondependingonwhathaschangedlately
*/
m_bUseInputLanguage: 1,
m_bObjectSelect : 1,
mbIsDragSidebar : 1,
m_bMaybeShowTooltipAfterBufferFlush : 1 = false;
// helper function for D&D void DropCleanup(); void CleanupDropUserMarker();
SotExchangeDest GetDropDestination( const Point& rPixPnt,
SdrObject ** ppObj = nullptr ); //select the object/cursor at the mouse position of the context menu request void SelectMenuPosition(SwWrtShell& rSh, const Point& rMousePos );
/// Returns true if in header/footer area, or in the header/footer control. bool IsInHeaderFooter( const Point &rDocPt, FrameControlType &rControl ) const;
/** #i42732# display status of font size/name depending on either the input languageortheselectionpositiondependingonwhathaschangedlately
*/ void SetUseInputLanguage( bool bNew ); bool IsUseInputLanguage() const { return m_bUseInputLanguage; }
/** fdo#55546 cut very long tooltips to 2/3 of the width of the screen viacenterellipsis
*/
OUString ClipLongToolTip(const OUString& rText);
/// @see Window::LogicInvalidate(). void LogicInvalidate(const tools::Rectangle* pRectangle) override; /// Allows adjusting the point or mark of the selection to a document coordinate. void SetCursorTwipPosition(const Point& rPosition, bool bPoint, bool bClearMark); /// Allows starting or ending a graphic move or resize action. void SetGraphicTwipPosition(bool bStart, const Point& rPosition);
bool IsViewReadonly() const;
const SwTextFrame* GetSavedOutlineFrame() const { return m_pSavedOutlineFrame; } void SetSavedOutlineFrame(SwTextFrame* pFrame) { m_pSavedOutlineFrame = pFrame; } // bSubs set true, sets all sub level outline content to same visibility as nOutlinePos. // It is only applicable when not treating sub outline levels as content. void ToggleOutlineContentVisibility(const size_t nOutlinePos, constbool bSubs);
// Draws a guide line at the specified position void DrawCommentGuideLine(Point aPointPixel); // Stops drawing the guide line void ReleaseCommentGuideLine(); void SetSidebarWidth(const Point& rPointPixel);
};
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.