LibreOffice Module sw (master)  1
PageBreakWin.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #include <bitmaps.hlst>
11 
12 #include <cmdid.h>
13 #include <cntfrm.hxx>
14 #include <txtfrm.hxx>
15 #include <notxtfrm.hxx>
16 #include <ndtxt.hxx>
17 #include <DashedLine.hxx>
18 #include <doc.hxx>
19 #include <edtwin.hxx>
20 #include <fmtpdsc.hxx>
21 #include <IDocumentUndoRedo.hxx>
23 #include <PageBreakWin.hxx>
24 #include <pagefrm.hxx>
25 #include <PostItMgr.hxx>
26 #include <FrameControlsManager.hxx>
27 #include <uiitems.hxx>
28 #include <view.hxx>
29 #include <viewopt.hxx>
30 #include <wrtsh.hxx>
31 
43 #include <sfx2/dispatch.hxx>
44 #include <sfx2/viewfrm.hxx>
45 #include <svl/stritem.hxx>
46 #include <vcl/canvastools.hxx>
47 #include <vcl/event.hxx>
48 #include <vcl/svapp.hxx>
49 #include <vcl/settings.hxx>
50 #include <memory>
51 
52 #define BUTTON_WIDTH 30
53 #define BUTTON_HEIGHT 19
54 #define ARROW_WIDTH 9
55 
56 using namespace basegfx;
57 using namespace basegfx::utils;
58 
59 namespace
60 {
61  class SwBreakDashedLine : public SwDashedLine
62  {
63  private:
65 
66  public:
67  SwBreakDashedLine( vcl::Window* pParent, Color& ( *pColorFn )(), SwPageBreakWin* pWin ) :
68  SwDashedLine( pParent, pColorFn ),
69  m_pWin( pWin ) {};
70  virtual ~SwBreakDashedLine() override { disposeOnce(); }
71  virtual void dispose() override { m_pWin.clear(); SwDashedLine::dispose(); }
72 
73  virtual void MouseMove( const MouseEvent& rMEvt ) override;
74  };
75 
76  void SwBreakDashedLine::MouseMove( const MouseEvent& rMEvt )
77  {
78  if ( rMEvt.IsLeaveWindow() )
79  {
80  // don't fade if we just move to the 'button'
81  Point aEventPos( GetPosPixel() + rMEvt.GetPosPixel() );
82  if ( !m_pWin->Contains( aEventPos ) || !m_pWin->IsVisible() )
83  m_pWin->Fade( false );
84  }
85  else if ( !m_pWin->IsVisible() )
86  {
87  m_pWin->Fade( true );
88  }
89 
90  if ( !rMEvt.IsSynthetic() && !m_pWin->IsVisible() )
91  {
92  m_pWin->UpdatePosition( rMEvt.GetPosPixel() );
93  }
94  }
95 }
96 
97 SwPageBreakWin::SwPageBreakWin( SwEditWin* pEditWin, const SwFrame *pFrame ) :
98  SwFrameMenuButtonBase( pEditWin, pFrame ),
99  m_aBuilder(nullptr, VclBuilderContainer::getUIRootDir(), "modules/swriter/ui/pagebreakmenu.ui", ""),
100  m_pPopupMenu(m_aBuilder.get_menu("menu")),
101  m_pLine( nullptr ),
102  m_bIsAppearing( false ),
103  m_nFadeRate( 100 ),
104  m_nDelayAppearing( 0 ),
105  m_bDestroyed( false )
106 {
107  // Use pixels for the rest of the drawing
108  SetMapMode( MapMode ( MapUnit::MapPixel ) );
109 
110  // Create the line control
112 
113  // Set the popup menu
114  m_pPopupMenu->SetDeactivateHdl( LINK( this, SwPageBreakWin, HideHandler ) );
116 
117  m_aFadeTimer.SetTimeout( 50 );
118  m_aFadeTimer.SetInvokeHandler( LINK( this, SwPageBreakWin, FadeHandler ) );
119 }
120 
122 {
123  disposeOnce();
124 }
125 
127 {
128  m_bDestroyed = true;
129  m_aFadeTimer.Stop();
130 
134 
136 }
137 
138 void SwPageBreakWin::Paint(vcl::RenderContext& rRenderContext, const ::tools::Rectangle&)
139 {
140  const ::tools::Rectangle aRect(::tools::Rectangle(Point(0, 0), rRenderContext.PixelToLogic(GetSizePixel())));
141 
142  // Properly paint the control
144 
145  BColor aHslLine = rgb2hsl(aColor);
146  double nLuminance = aHslLine.getZ();
147  nLuminance += (1.0 - nLuminance) * 0.75;
148  if ( aHslLine.getZ() > 0.7 )
149  nLuminance = aHslLine.getZ() * 0.7;
150  aHslLine.setZ(nLuminance);
151  BColor aOtherColor = hsl2rgb(aHslLine);
152 
154  if (rSettings.GetHighContrastMode())
155  {
156  aColor = rSettings.GetDialogTextColor().getBColor();
157  aOtherColor = rSettings.GetDialogColor().getBColor();
158  }
159 
160  bool bRtl = AllSettings::GetLayoutRTL();
161 
164  B2DPolygon aPolygon = createPolygonFromRect(aBRect, 3.0 / BUTTON_WIDTH, 3.0 / BUTTON_HEIGHT);
165 
166  // Create the polygon primitives
168  B2DPolyPolygon(aPolygon), aOtherColor));
170  aPolygon, aColor));
171 
172  // Create the primitive for the image
173  BitmapEx aBmpEx(RID_BMP_PAGE_BREAK);
174  double nImgOfstX = 3.0;
175  if (bRtl)
176  nImgOfstX = aRect.Right() - aBmpEx.GetSizePixel().Width() - 3.0;
178  aBmpEx, B2DPoint(nImgOfstX, 1.0)));
179 
180  double nTop = double(aRect.getHeight()) / 2.0;
181  double nBottom = nTop + 4.0;
182  double nLeft = aRect.getWidth() - ARROW_WIDTH - 6.0;
183  if (bRtl)
184  nLeft = ARROW_WIDTH - 2.0;
185  double nRight = nLeft + 8.0;
186 
187  B2DPolygon aTriangle;
188  aTriangle.append(B2DPoint(nLeft, nTop));
189  aTriangle.append(B2DPoint(nRight, nTop));
190  aTriangle.append(B2DPoint((nLeft + nRight) / 2.0, nBottom));
191  aTriangle.setClosed(true);
192 
193  BColor aTriangleColor = COL_BLACK.getBColor();
194  if (Application::GetSettings().GetStyleSettings().GetHighContrastMode())
195  aTriangleColor = COL_WHITE.getBColor();
196 
197  aSeq.emplace_back();
199  B2DPolyPolygon(aTriangle), aTriangleColor));
200 
202  double nFadeRate = double(m_nFadeRate) / 100.0;
203  const basegfx::BColorModifierSharedPtr aBColorModifier(
205  1.0 - nFadeRate));
207  aSeq, aBColorModifier));
208 
209  // Create the processor and process the primitives
210  const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
211  std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
213 
214  pProcessor->process(aGhostedSeq);
215 }
216 
218 {
220 
221  OString sIdent = GetCurItemIdent();
222  if (sIdent == "edit")
223  {
224  const SwLayoutFrame* pBodyFrame = static_cast< const SwLayoutFrame* >( GetPageFrame()->Lower() );
225  while ( pBodyFrame && !pBodyFrame->IsBodyFrame() )
226  pBodyFrame = static_cast< const SwLayoutFrame* >( pBodyFrame->GetNext() );
227 
228  SwEditWin* pEditWin = GetEditWin();
229 
230  if ( pBodyFrame )
231  {
232  SwWrtShell& rSh = pEditWin->GetView().GetWrtShell();
233  bool bOldLock = rSh.IsViewLocked();
234  rSh.LockView( true );
235 
236  if ( pBodyFrame->Lower()->IsTabFrame() )
237  {
238  rSh.Push( );
239  rSh.ClearMark();
240 
241  SwContentFrame *pCnt = const_cast< SwContentFrame* >( pBodyFrame->ContainsContent() );
242  SwContentNode* pNd = pCnt->IsTextFrame()
243  ? static_cast<SwTextFrame*>(pCnt)->GetTextNodeFirst()
244  : static_cast<SwNoTextFrame*>(pCnt)->GetNode();
245  rSh.SetSelection( *pNd );
246 
247  SfxStringItem aItem(pEditWin->GetView().GetPool().GetWhich(FN_FORMAT_TABLE_DLG), "textflow");
248  pEditWin->GetView().GetViewFrame()->GetDispatcher()->ExecuteList(
250  SfxCallMode::SYNCHRON | SfxCallMode::RECORD,
251  { &aItem });
252 
254  }
255  else
256  {
257  SwContentFrame *pCnt = const_cast< SwContentFrame* >( pBodyFrame->ContainsContent() );
258  SwContentNode* pNd = pCnt->IsTextFrame()
259  ? static_cast<SwTextFrame*>(pCnt)->GetTextNodeFirst()
260  : static_cast<SwNoTextFrame*>(pCnt)->GetNode();
261 
262  SwPaM aPaM( *pNd );
263  SwPaMItem aPaMItem( pEditWin->GetView().GetPool( ).GetWhich( FN_PARAM_PAM ), &aPaM );
264  SfxStringItem aItem( pEditWin->GetView().GetPool( ).GetWhich( SID_PARA_DLG ), "textflow" );
265  pEditWin->GetView().GetViewFrame()->GetDispatcher()->ExecuteList(
266  SID_PARA_DLG,
267  SfxCallMode::SYNCHRON | SfxCallMode::RECORD,
268  { &aItem, &aPaMItem });
269  }
270  rSh.LockView( bOldLock );
271  pEditWin->GrabFocus( );
272  }
273  }
274  else if (sIdent == "delete")
275  {
276  const SwLayoutFrame* pBodyFrame = static_cast< const SwLayoutFrame* >( GetPageFrame()->Lower() );
277  while ( pBodyFrame && !pBodyFrame->IsBodyFrame() )
278  pBodyFrame = static_cast< const SwLayoutFrame* >( pBodyFrame->GetNext() );
279 
280  if ( pBodyFrame )
281  {
282 
283  SwContentFrame *pCnt = const_cast< SwContentFrame* >( pBodyFrame->ContainsContent() );
284  SwContentNode* pNd = pCnt->IsTextFrame()
285  ? static_cast<SwTextFrame*>(pCnt)->GetTextNodeFirst()
286  : static_cast<SwNoTextFrame*>(pCnt)->GetNode();
287 
289 
290  SfxItemSet aSet(
291  GetEditWin()->GetView().GetWrtShell().GetAttrPool(),
293  aSet.Put( SvxFormatBreakItem( SvxBreak::NONE, RES_BREAK ) );
294  aSet.Put( SwFormatPageDesc( nullptr ) );
295 
296  SwPaM aPaM( *pNd );
298  aPaM, aSet, SetAttrMode::DEFAULT, GetPageFrame()->getRootFrame());
299 
301  }
302  }
303 
304  // Only fade if there is more than this temporary shared pointer:
305  // The main reference has been deleted due to a page break removal
306  if ( pThis.use_count() > 1 )
307  Fade( false );
308 }
309 
311 {
312  if ( rMEvt.IsLeaveWindow() )
313  {
314  // don't fade if we just move to the 'line', or the popup menu is open
315  Point aEventPos( rMEvt.GetPosPixel() + rMEvt.GetPosPixel() );
316  if ( !Contains( aEventPos ) && !PopupMenu::IsInExecute() )
317  Fade( false );
318  }
319  else if ( !IsVisible() )
320  Fade( true );
321 }
322 
324 {
325  Fade( true );
327 }
328 
329 void SwPageBreakWin::UpdatePosition(const o3tl::optional<Point>& xEvtPt)
330 {
331  if ( xEvtPt )
332  {
333  if ( xEvtPt == m_xMousePt )
334  return;
335  m_xMousePt = xEvtPt;
336  }
337 
338  const SwPageFrame* pPageFrame = GetPageFrame();
339  const SwFrame* pPrevPage = pPageFrame;
340  do
341  {
342  pPrevPage = pPrevPage->GetPrev();
343  }
344  while ( pPrevPage && ( ( pPrevPage->getFrameArea().Top( ) == pPageFrame->getFrameArea().Top( ) )
345  || static_cast< const SwPageFrame* >( pPrevPage )->IsEmptyPage( ) ) );
346 
347  ::tools::Rectangle aBoundRect = GetEditWin()->LogicToPixel( pPageFrame->GetBoundRect(GetEditWin()).SVRect() );
348  ::tools::Rectangle aFrameRect = GetEditWin()->LogicToPixel( pPageFrame->getFrameArea().SVRect() );
349 
350  long nYLineOffset = ( aBoundRect.Top() + aFrameRect.Top() ) / 2;
351  if ( pPrevPage )
352  {
353  ::tools::Rectangle aPrevFrameRect = GetEditWin()->LogicToPixel( pPrevPage->getFrameArea().SVRect() );
354  nYLineOffset = ( aPrevFrameRect.Bottom() + aFrameRect.Top() ) / 2;
355  }
356 
357  // Get the page + sidebar coords
358  long nPgLeft = aFrameRect.Left();
359  long nPgRight = aFrameRect.Right();
360 
361  unsigned long nSidebarWidth = 0;
362  const SwPostItMgr* pPostItMngr = GetEditWin()->GetView().GetWrtShell().GetPostItMgr();
363  if ( pPostItMngr && pPostItMngr->HasNotes() && pPostItMngr->ShowNotes() )
364  nSidebarWidth = pPostItMngr->GetSidebarBorderWidth( true ) + pPostItMngr->GetSidebarWidth( true );
365 
367  nPgLeft -= nSidebarWidth;
368  else if ( pPageFrame->SidebarPosition( ) == sw::sidebarwindows::SidebarPosition::RIGHT )
369  nPgRight += nSidebarWidth;
370 
372 
373  // Place the button on the left or right?
374  ::tools::Rectangle aVisArea = GetEditWin()->LogicToPixel( GetEditWin()->GetView().GetVisArea() );
375 
376  long nLineLeft = std::max( nPgLeft, aVisArea.Left() );
377  long nLineRight = std::min( nPgRight, aVisArea.Right() );
378  long nBtnLeft = nLineLeft;
379 
380  if ( m_xMousePt )
381  {
382  nBtnLeft = nLineLeft + m_xMousePt->X() - aBtnSize.getWidth() / 2;
383 
384  if ( nBtnLeft < nLineLeft )
385  nBtnLeft = nLineLeft;
386  else if ( ( nBtnLeft + aBtnSize.getWidth() ) > nLineRight )
387  nBtnLeft = nLineRight - aBtnSize.getWidth();
388  }
389 
390  // Set the button position
391  Point aBtnPos( nBtnLeft, nYLineOffset - BUTTON_HEIGHT / 2 );
392  SetPosSizePixel( aBtnPos, aBtnSize );
393 
394  // Set the line position
395  Point aLinePos( nLineLeft, nYLineOffset - 5 );
396  Size aLineSize( nLineRight - nLineLeft, 10 );
397  m_pLine->SetPosSizePixel( aLinePos, aLineSize );
398 }
399 
400 void SwPageBreakWin::ShowAll( bool bShow )
401 {
402  m_pLine->Show( bShow );
403 }
404 
405 bool SwPageBreakWin::Contains( const Point &rDocPt ) const
406 {
408  if ( aRect.IsInside( rDocPt ) )
409  return true;
410 
412  return aLineRect.IsInside( rDocPt );
413 }
414 
415 void SwPageBreakWin::SetReadonly( bool bReadonly )
416 {
417  ShowAll( !bReadonly );
418 }
419 
420 void SwPageBreakWin::Fade( bool bFadeIn )
421 {
422  m_bIsAppearing = bFadeIn;
423  if ( bFadeIn )
424  m_nDelayAppearing = 0;
425 
426  if ( !m_bDestroyed && m_aFadeTimer.IsActive( ) )
427  m_aFadeTimer.Stop();
428  if ( !m_bDestroyed )
429  m_aFadeTimer.Start( );
430 }
431 
432 IMPL_LINK_NOARG(SwPageBreakWin, HideHandler, Menu *, bool)
433 {
434  Fade( false );
435 
436  return false;
437 }
438 
439 IMPL_LINK_NOARG(SwPageBreakWin, FadeHandler, Timer *, void)
440 {
441  const int TICKS_BEFORE_WE_APPEAR = 10;
442  if ( m_bIsAppearing && m_nDelayAppearing < TICKS_BEFORE_WE_APPEAR )
443  {
444  ++m_nDelayAppearing;
445  m_aFadeTimer.Start();
446  return;
447  }
448 
449  if ( m_bIsAppearing && m_nFadeRate > 0 )
450  m_nFadeRate -= 25;
451  else if ( !m_bIsAppearing && m_nFadeRate < 100 )
452  m_nFadeRate += 25;
453 
454  if ( m_nFadeRate != 100 && !IsVisible() )
455  Show();
456  else if ( m_nFadeRate == 100 && IsVisible( ) )
457  Hide();
458  else
459  {
460  UpdatePosition();
461  Invalidate();
462  }
463 
464  if (IsVisible( ) && m_nFadeRate > 0 && m_nFadeRate < 100)
465  m_aFadeTimer.Start();
466 }
467 
468 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual Point GetPosPixel() const
SfxViewFrame * GetViewFrame() const
long Width() const
Base class of the Writer layout elements.
Definition: frame.hxx:295
Represents the visualization of a paragraph.
Definition: txtfrm.hxx:149
const SfxPoolItem * ExecuteList(sal_uInt16 nSlot, SfxCallMode nCall, std::initializer_list< SfxPoolItem const * > args, std::initializer_list< SfxPoolItem const * > internalargs=std::initializer_list< SfxPoolItem const * >())
o3tl::optional< Point > m_xMousePt
#define BUTTON_WIDTH
void append(const basegfx::B2DPoint &rPoint, sal_uInt32 nCount)
BColor rgb2hsl(const BColor &rRGBColor)
const Color & GetDialogColor() const
constexpr::Color COL_BLACK(0x00, 0x00, 0x00)
virtual void dispose() override
SwContentNode * GetNode(SwPaM &rPam, bool &rbFirst, SwMoveFnCollection const &fnMove, bool const bInReadOnly, SwRootFrame const *const i_pLayout)
This function returns the next node in direction of search.
Definition: pam.cxx:768
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
Definition: fmtpdsc.hxx:35
VclPtr< PopupMenu > m_pPopupMenu
virtual void InsertItemSet(const SwPaM &rRg, const SfxItemSet &, const SetAttrMode nFlags=SetAttrMode::DEFAULT, SwRootFrame const *pLayout=nullptr)=0
const SwView & GetView() const
Definition: edtwin.hxx:241
SfxDispatcher * GetDispatcher()
void UpdatePosition(const o3tl::optional< Point > &xEvtPt=o3tl::optional< Point >())
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
bool Pop(SwCursorShell::PopMode=SwCursorShell::PopMode::DeleteStack)
Definition: wrtsh1.cxx:1708
VclPtr< vcl::Window > m_pLine
virtual SwUndoId EndUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Closes undo block.
virtual Size GetSizePixel() const
#define FN_FORMAT_TABLE_DLG
Definition: cmdid.h:312
void SetDeactivateHdl(const Link< Menu *, bool > &rLink)
double getZ() const
sw::sidebarwindows::SidebarPosition SidebarPosition() const
asks the page on which side a margin should be shown, e.g for notes returns true for left side...
Definition: pagechg.cxx:1372
IDocumentUndoRedo & GetIDocumentUndoRedo()
Definition: doc.cxx:143
virtual const SwFrame * GetFrame() override
unsigned long GetSidebarBorderWidth(bool bPx=false) const
Definition: PostItMgr.cxx:2092
Class for displaying a dashed line in the Writer GUI.
Definition: DashedLine.hxx:16
IDocumentContentOperations const & getIDocumentContentOperations() const
Definition: doc.cxx:314
void SetMapMode()
SwWrtShell & GetWrtShell() const
Definition: view.hxx:400
bool IsActive() const
Used by the UI to modify the document model.
Definition: wrtsh.hxx:90
long Right() const
SwFrameControlsManager & GetFrameControlsManager()
Definition: edtwin.cxx:6416
void Top(const long nTop)
Definition: swrect.hxx:202
const SwRect & getFrameArea() const
Definition: frame.hxx:175
std::shared_ptr< BColorModifier > BColorModifierSharedPtr
IMPL_LINK_NOARG(SwPageBreakWin, HideHandler, Menu *, bool)
Class for the page break control window.
void SetReadonly(bool bReadonly) override
int m_nDelayAppearing
Before we show the control, let it transparent for a few timer ticks to avoid appearing with every mo...
bool IsTextFrame() const
Definition: frame.hxx:1210
bool GetHighContrastMode() const
long Top() const
#define BUTTON_HEIGHT
SfxItemPool & GetPool() const
BColor hsl2rgb(const BColor &rHSLColor)
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:136
void clear()
virtual bool Contains(const Point &rDocPt) const override
Returns true if the point is inside the control.
virtual SwUndoId StartUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Opens undo block.
virtual void MouseMove(const MouseEvent &rMEvt) override
bool IsLeaveWindow() const
OString const & GetCurItemIdent() const
Window class for the Writer edit area, this is the one handling mouse and keyboard events and doing t...
Definition: edtwin.hxx:58
SwRect GetBoundRect(OutputDevice const *pOutputDevice) const
Definition: paintfrm.cxx:6114
virtual void Activate() override
virtual void dispose() override
void Push()
store a copy of the current cursor on the cursor stack
Definition: crsrsh.cxx:2229
const SwFrame * Lower() const
Definition: layfrm.hxx:101
B2DPolygon createPolygonFromRect(const B2DRectangle &rRect, double fRadiusX, double fRadiusY)
SwDoc * GetDoc()
Definition: node.hxx:702
void SetSelection(const SwPaM &rCursor)
Definition: crsrsh.cxx:3486
long Bottom() const
static bool GetLayoutRTL()
virtual void Start() override
SwFrame * GetPrev()
Definition: frame.hxx:655
bool IsInside(const Point &rPOINT) const
virtual void dispose() override
Class sharing some MenuButton code.
void SetTimeout(sal_uInt64 nTimeoutMs)
void GrabFocus()
A page of the document layout.
Definition: pagefrm.hxx:40
virtual void Paint(vcl::RenderContext &, const tools::Rectangle &rRect) override
static bool IsInExecute()
static Color & GetPageBreakColor()
Definition: viewopt.cxx:440
virtual void SetPosSizePixel(const Point &rNewPos, const Size &rNewSize)
basegfx::B2DRange b2DRectangleFromRectangle(const ::tools::Rectangle &rRect)
Point PixelToLogic(const Point &rDevicePt) const
Point LogicToPixel(const Point &rLogicPt) const
std::unique_ptr< drawinglayer::processor2d::BaseProcessor2D > createBaseProcessor2DFromOutputDevice(OutputDevice &rTargetOutDev, const drawinglayer::geometry::ViewInformation2D &rViewInformation2D)
virtual void Select() override
void setClosed(bool bNew)
void disposeBuilder()
tools::Rectangle SVRect() const
Definition: swrect.hxx:282
void Stop()
bool IsTabFrame() const
Definition: frame.hxx:1194
const SwPageFrame * GetPageFrame() const
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
bool IsSynthetic() const
void LockView(bool b)
Definition: viewsh.hxx:465
bool IsVisible() const
void SetPopupMenu(PopupMenu *pNewMenu)
static VclPtr< reference_type > Create(Arg &&...arg)
#define FN_PARAM_PAM
Definition: cmdid.h:810
SwFrameControlPtr GetControl(FrameControlType eType, const SwFrame *pFrame)
Sequence< sal_Int8 > aSeq
void SetInvokeHandler(const Link< Timer *, void > &rLink)
bool HasNotes() const
Definition: PostItMgr.cxx:2061
const Point & GetPosPixel() const
virtual void ShowAll(bool bShow) override
constexpr::Color COL_WHITE(0xFF, 0xFF, 0xFF)
long Left() const
void ClearMark()
Definition: crsrsh.cxx:930
basegfx::BColor getBColor() const
const SwPostItMgr * GetPostItMgr() const
Definition: viewsh.hxx:559
unsigned long GetSidebarWidth(bool bPx=false) const
Definition: PostItMgr.cxx:2066
void Fade(bool bFadeIn)
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame...
Definition: layfrm.hxx:35
virtual ~SwPageBreakWin() override
bool ShowNotes() const
Definition: PostItMgr.cxx:2055
std::shared_ptr< SwFrameControl > SwFrameControlPtr
const Size & GetSizePixel() const
const Color & GetDialogTextColor() const
#define RES_BREAK
Definition: hintids.hxx:294
SwPageBreakWin(SwEditWin *pEditWin, const SwFrame *pFrame)
VclBuilder m_aBuilder
virtual SwEditWin * GetEditWin() override
const SwContentFrame * ContainsContent() const
Checks if the frame contains one or more ContentFrame's anywhere in his subsidiary structure; if so t...
Definition: findfrm.cxx:66
bool IsBodyFrame() const
Definition: frame.hxx:1182
long getWidth() const
#define ARROW_WIDTH
void setZ(double fZ)
bool IsViewLocked() const
Definition: viewsh.hxx:464
virtual void Activate() override
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
SwFrame * GetNext()
Definition: frame.hxx:654