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 
44 #include <sfx2/dispatch.hxx>
45 #include <sfx2/viewfrm.hxx>
46 #include <svl/stritem.hxx>
47 #include <vcl/canvastools.hxx>
48 #include <vcl/event.hxx>
49 #include <vcl/svapp.hxx>
50 #include <vcl/settings.hxx>
51 #include <memory>
52 
53 #define BUTTON_WIDTH 30
54 #define BUTTON_HEIGHT 19
55 #define ARROW_WIDTH 9
56 
57 using namespace basegfx;
58 using namespace basegfx::utils;
59 
60 namespace
61 {
62  class SwBreakDashedLine : public SwDashedLine
63  {
64  private:
66 
67  public:
68  SwBreakDashedLine( vcl::Window* pParent, Color& ( *pColorFn )(), SwPageBreakWin* pWin ) :
69  SwDashedLine( pParent, pColorFn ),
70  m_pWin( pWin ) {};
71  virtual ~SwBreakDashedLine() override { disposeOnce(); }
72  virtual void dispose() override { m_pWin.clear(); SwDashedLine::dispose(); }
73 
74  virtual void MouseMove( const MouseEvent& rMEvt ) override;
75  };
76 
77  void SwBreakDashedLine::MouseMove( const MouseEvent& rMEvt )
78  {
79  if ( rMEvt.IsLeaveWindow() )
80  {
81  // don't fade if we just move to the 'button'
82  Point aEventPos( GetPosPixel() + rMEvt.GetPosPixel() );
83  if ( !m_pWin->Contains( aEventPos ) || !m_pWin->IsVisible() )
84  m_pWin->Fade( false );
85  }
86  else if ( !m_pWin->IsVisible() )
87  {
88  m_pWin->Fade( true );
89  }
90 
91  if ( !rMEvt.IsSynthetic() && !m_pWin->IsVisible() )
92  {
93  m_pWin->UpdatePosition( rMEvt.GetPosPixel() );
94  }
95  }
96 }
97 
98 SwPageBreakWin::SwPageBreakWin( SwEditWin* pEditWin, const SwFrame *pFrame ) :
99  SwFrameMenuButtonBase( pEditWin, pFrame ),
100  m_aBuilder(nullptr, AllSettings::GetUIRootDir(), "modules/swriter/ui/pagebreakmenu.ui", ""),
101  m_pPopupMenu(m_aBuilder.get_menu("menu")),
102  m_pLine( nullptr ),
103  m_bIsAppearing( false ),
104  m_nFadeRate( 100 ),
105  m_nDelayAppearing( 0 ),
106  m_bDestroyed( false )
107 {
108  // Use pixels for the rest of the drawing
109  SetMapMode( MapMode ( MapUnit::MapPixel ) );
110 
111  // Create the line control
113 
114  // Set the popup menu
115  m_pPopupMenu->SetDeactivateHdl( LINK( this, SwPageBreakWin, HideHandler ) );
117 
118  m_aFadeTimer.SetTimeout( 50 );
119  m_aFadeTimer.SetInvokeHandler( LINK( this, SwPageBreakWin, FadeHandler ) );
120 }
121 
123 {
124  disposeOnce();
125 }
126 
128 {
129  m_bDestroyed = true;
130  m_aFadeTimer.Stop();
131 
135 
137 }
138 
139 void SwPageBreakWin::Paint(vcl::RenderContext& rRenderContext, const ::tools::Rectangle&)
140 {
141  const ::tools::Rectangle aRect(::tools::Rectangle(Point(0, 0), rRenderContext.PixelToLogic(GetSizePixel())));
142 
143  // Properly paint the control
145 
146  BColor aHslLine = rgb2hsl(aColor);
147  double nLuminance = aHslLine.getZ();
148  nLuminance += (1.0 - nLuminance) * 0.75;
149  if ( aHslLine.getZ() > 0.7 )
150  nLuminance = aHslLine.getZ() * 0.7;
151  aHslLine.setZ(nLuminance);
152  BColor aOtherColor = hsl2rgb(aHslLine);
153 
155  if (rSettings.GetHighContrastMode())
156  {
157  aColor = rSettings.GetDialogTextColor().getBColor();
158  aOtherColor = rSettings.GetDialogColor().getBColor();
159  }
160 
161  bool bRtl = AllSettings::GetLayoutRTL();
162 
165  B2DPolygon aPolygon = createPolygonFromRect(aBRect, 3.0 / BUTTON_WIDTH, 3.0 / BUTTON_HEIGHT);
166 
167  // Create the polygon primitives
169  B2DPolyPolygon(aPolygon), aOtherColor));
171  aPolygon, aColor));
172 
173  // Create the primitive for the image
174  BitmapEx aBmpEx(RID_BMP_PAGE_BREAK);
175  double nImgOfstX = 3.0;
176  if (bRtl)
177  nImgOfstX = aRect.Right() - aBmpEx.GetSizePixel().Width() - 3.0;
179  aBmpEx, B2DPoint(nImgOfstX, 1.0)));
180 
181  double nTop = double(aRect.getHeight()) / 2.0;
182  double nBottom = nTop + 4.0;
183  double nLeft = aRect.getWidth() - ARROW_WIDTH - 6.0;
184  if (bRtl)
185  nLeft = ARROW_WIDTH - 2.0;
186  double nRight = nLeft + 8.0;
187 
188  B2DPolygon aTriangle;
189  aTriangle.append(B2DPoint(nLeft, nTop));
190  aTriangle.append(B2DPoint(nRight, nTop));
191  aTriangle.append(B2DPoint((nLeft + nRight) / 2.0, nBottom));
192  aTriangle.setClosed(true);
193 
194  BColor aTriangleColor = COL_BLACK.getBColor();
195  if (Application::GetSettings().GetStyleSettings().GetHighContrastMode())
196  aTriangleColor = COL_WHITE.getBColor();
197 
198  aSeq.emplace_back();
200  B2DPolyPolygon(aTriangle), aTriangleColor));
201 
203  double nFadeRate = double(m_nFadeRate) / 100.0;
204  const basegfx::BColorModifierSharedPtr aBColorModifier =
205  std::make_shared<basegfx::BColorModifier_interpolate>(COL_WHITE.getBColor(),
206  1.0 - nFadeRate);
208  aSeq, aBColorModifier));
209 
210  // Create the processor and process the primitives
211  const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
212  std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
214 
215  pProcessor->process(aGhostedSeq);
216 }
217 
219 {
221 
222  OString sIdent = GetCurItemIdent();
223  if (sIdent == "edit")
224  {
225  const SwLayoutFrame* pBodyFrame = static_cast< const SwLayoutFrame* >( GetPageFrame()->Lower() );
226  while ( pBodyFrame && !pBodyFrame->IsBodyFrame() )
227  pBodyFrame = static_cast< const SwLayoutFrame* >( pBodyFrame->GetNext() );
228 
229  SwEditWin* pEditWin = GetEditWin();
230 
231  if ( pBodyFrame )
232  {
233  SwWrtShell& rSh = pEditWin->GetView().GetWrtShell();
234  bool bOldLock = rSh.IsViewLocked();
235  rSh.LockView( true );
236 
237  if ( pBodyFrame->Lower()->IsTabFrame() )
238  {
239  rSh.Push( );
240  rSh.ClearMark();
241 
242  SwContentFrame *pCnt = const_cast< SwContentFrame* >( pBodyFrame->ContainsContent() );
243  SwContentNode* pNd = pCnt->IsTextFrame()
244  ? static_cast<SwTextFrame*>(pCnt)->GetTextNodeFirst()
245  : static_cast<SwNoTextFrame*>(pCnt)->GetNode();
246  rSh.SetSelection( *pNd );
247 
248  SfxStringItem aItem(pEditWin->GetView().GetPool().GetWhich(FN_FORMAT_TABLE_DLG), "textflow");
249  pEditWin->GetView().GetViewFrame()->GetDispatcher()->ExecuteList(
251  SfxCallMode::SYNCHRON | SfxCallMode::RECORD,
252  { &aItem });
253 
255  }
256  else
257  {
258  SwContentFrame *pCnt = const_cast< SwContentFrame* >( pBodyFrame->ContainsContent() );
259  SwContentNode* pNd = pCnt->IsTextFrame()
260  ? static_cast<SwTextFrame*>(pCnt)->GetTextNodeFirst()
261  : static_cast<SwNoTextFrame*>(pCnt)->GetNode();
262 
263  SwPaM aPaM( *pNd );
264  SwPaMItem aPaMItem( pEditWin->GetView().GetPool( ).GetWhich( FN_PARAM_PAM ), &aPaM );
265  SfxStringItem aItem( pEditWin->GetView().GetPool( ).GetWhich( SID_PARA_DLG ), "textflow" );
266  pEditWin->GetView().GetViewFrame()->GetDispatcher()->ExecuteList(
267  SID_PARA_DLG,
268  SfxCallMode::SYNCHRON | SfxCallMode::RECORD,
269  { &aItem, &aPaMItem });
270  }
271  rSh.LockView( bOldLock );
272  pEditWin->GrabFocus( );
273  }
274  }
275  else if (sIdent == "delete")
276  {
277  const SwLayoutFrame* pBodyFrame = static_cast< const SwLayoutFrame* >( GetPageFrame()->Lower() );
278  while ( pBodyFrame && !pBodyFrame->IsBodyFrame() )
279  pBodyFrame = static_cast< const SwLayoutFrame* >( pBodyFrame->GetNext() );
280 
281  if ( pBodyFrame )
282  {
283 
284  SwContentFrame *pCnt = const_cast< SwContentFrame* >( pBodyFrame->ContainsContent() );
285  SwContentNode* pNd = pCnt->IsTextFrame()
286  ? static_cast<SwTextFrame*>(pCnt)->GetTextNodeFirst()
287  : static_cast<SwNoTextFrame*>(pCnt)->GetNode();
288 
290 
291  SfxItemSet aSet(
292  GetEditWin()->GetView().GetWrtShell().GetAttrPool(),
294  aSet.Put( SvxFormatBreakItem( SvxBreak::NONE, RES_BREAK ) );
295  aSet.Put( SwFormatPageDesc( nullptr ) );
296 
297  SwPaM aPaM( *pNd );
299  aPaM, aSet, SetAttrMode::DEFAULT, GetPageFrame()->getRootFrame());
300 
302  }
303  }
304 
305  // Only fade if there is more than this temporary shared pointer:
306  // The main reference has been deleted due to a page break removal
307  if ( pThis.use_count() > 1 )
308  Fade( false );
309 }
310 
312 {
313  if ( rMEvt.IsLeaveWindow() )
314  {
315  // don't fade if we just move to the 'line', or the popup menu is open
316  Point aEventPos( rMEvt.GetPosPixel() + rMEvt.GetPosPixel() );
317  if ( !Contains( aEventPos ) && !PopupMenu::IsInExecute() )
318  Fade( false );
319  }
320  else if ( !IsVisible() )
321  Fade( true );
322 }
323 
325 {
326  Fade( true );
328 }
329 
330 void SwPageBreakWin::UpdatePosition(const std::optional<Point>& xEvtPt)
331 {
332  if ( xEvtPt )
333  {
334  if ( xEvtPt == m_xMousePt )
335  return;
336  m_xMousePt = xEvtPt;
337  }
338 
339  const SwPageFrame* pPageFrame = GetPageFrame();
340  const SwFrame* pPrevPage = pPageFrame;
341  do
342  {
343  pPrevPage = pPrevPage->GetPrev();
344  }
345  while ( pPrevPage && ( ( pPrevPage->getFrameArea().Top( ) == pPageFrame->getFrameArea().Top( ) )
346  || static_cast< const SwPageFrame* >( pPrevPage )->IsEmptyPage( ) ) );
347 
348  ::tools::Rectangle aBoundRect = GetEditWin()->LogicToPixel( pPageFrame->GetBoundRect(GetEditWin()).SVRect() );
349  ::tools::Rectangle aFrameRect = GetEditWin()->LogicToPixel( pPageFrame->getFrameArea().SVRect() );
350 
351  tools::Long nYLineOffset = ( aBoundRect.Top() + aFrameRect.Top() ) / 2;
352  if ( pPrevPage )
353  {
354  ::tools::Rectangle aPrevFrameRect = GetEditWin()->LogicToPixel( pPrevPage->getFrameArea().SVRect() );
355  nYLineOffset = ( aPrevFrameRect.Bottom() + aFrameRect.Top() ) / 2;
356  }
357 
358  // Get the page + sidebar coords
359  tools::Long nPgLeft = aFrameRect.Left();
360  tools::Long nPgRight = aFrameRect.Right();
361 
362  unsigned long nSidebarWidth = 0;
363  const SwPostItMgr* pPostItMngr = GetEditWin()->GetView().GetWrtShell().GetPostItMgr();
364  if ( pPostItMngr && pPostItMngr->HasNotes() && pPostItMngr->ShowNotes() )
365  nSidebarWidth = pPostItMngr->GetSidebarBorderWidth( true ) + pPostItMngr->GetSidebarWidth( true );
366 
368  nPgLeft -= nSidebarWidth;
369  else if ( pPageFrame->SidebarPosition( ) == sw::sidebarwindows::SidebarPosition::RIGHT )
370  nPgRight += nSidebarWidth;
371 
373 
374  // Place the button on the left or right?
375  ::tools::Rectangle aVisArea = GetEditWin()->LogicToPixel( GetEditWin()->GetView().GetVisArea() );
376 
377  tools::Long nLineLeft = std::max( nPgLeft, aVisArea.Left() );
378  tools::Long nLineRight = std::min( nPgRight, aVisArea.Right() );
379  tools::Long nBtnLeft = nLineLeft;
380 
381  if ( m_xMousePt )
382  {
383  nBtnLeft = nLineLeft + m_xMousePt->X() - aBtnSize.getWidth() / 2;
384 
385  if ( nBtnLeft < nLineLeft )
386  nBtnLeft = nLineLeft;
387  else if ( ( nBtnLeft + aBtnSize.getWidth() ) > nLineRight )
388  nBtnLeft = nLineRight - aBtnSize.getWidth();
389  }
390 
391  // Set the button position
392  Point aBtnPos( nBtnLeft, nYLineOffset - BUTTON_HEIGHT / 2 );
393  SetPosSizePixel( aBtnPos, aBtnSize );
394 
395  // Set the line position
396  Point aLinePos( nLineLeft, nYLineOffset - 5 );
397  Size aLineSize( nLineRight - nLineLeft, 10 );
398  m_pLine->SetPosSizePixel( aLinePos, aLineSize );
399 }
400 
401 void SwPageBreakWin::ShowAll( bool bShow )
402 {
403  m_pLine->Show( bShow );
404 }
405 
406 bool SwPageBreakWin::Contains( const Point &rDocPt ) const
407 {
409  if ( aRect.IsInside( rDocPt ) )
410  return true;
411 
413  return aLineRect.IsInside( rDocPt );
414 }
415 
416 void SwPageBreakWin::SetReadonly( bool bReadonly )
417 {
418  ShowAll( !bReadonly );
419 }
420 
421 void SwPageBreakWin::Fade( bool bFadeIn )
422 {
423  m_bIsAppearing = bFadeIn;
424  if ( bFadeIn )
425  m_nDelayAppearing = 0;
426 
427  if ( !m_bDestroyed && m_aFadeTimer.IsActive( ) )
428  m_aFadeTimer.Stop();
429  if ( !m_bDestroyed )
430  m_aFadeTimer.Start( );
431 }
432 
433 IMPL_LINK_NOARG(SwPageBreakWin, HideHandler, Menu *, bool)
434 {
435  Fade( false );
436 
437  return false;
438 }
439 
440 IMPL_LINK_NOARG(SwPageBreakWin, FadeHandler, Timer *, void)
441 {
442  const int TICKS_BEFORE_WE_APPEAR = 10;
443  if ( m_bIsAppearing && m_nDelayAppearing < TICKS_BEFORE_WE_APPEAR )
444  {
445  ++m_nDelayAppearing;
446  m_aFadeTimer.Start();
447  return;
448  }
449 
450  if ( m_bIsAppearing && m_nFadeRate > 0 )
451  m_nFadeRate -= 25;
452  else if ( !m_bIsAppearing && m_nFadeRate < 100 )
453  m_nFadeRate += 25;
454 
455  if ( m_nFadeRate != 100 && !IsVisible() )
456  Show();
457  else if ( m_nFadeRate == 100 && IsVisible( ) )
458  Hide();
459  else
460  {
461  UpdatePosition();
462  Invalidate();
463  }
464 
465  if (IsVisible( ) && m_nFadeRate > 0 && m_nFadeRate < 100)
466  m_aFadeTimer.Start();
467 }
468 
469 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual Point GetPosPixel() const
SfxViewFrame * GetViewFrame() const
Base class of the Writer layout elements.
Definition: frame.hxx:297
Represents the visualization of a paragraph.
Definition: txtfrm.hxx:151
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 * >())
#define BUTTON_WIDTH
void append(const basegfx::B2DPoint &rPoint, sal_uInt32 nCount)
BColor rgb2hsl(const BColor &rRGBColor)
const Color & GetDialogColor() const
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:816
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:243
tools::Long getWidth() const
SfxDispatcher * GetDispatcher()
void UpdatePosition(const std::optional< Point > &xEvtPt=std::optional< Point >())
long Long
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
bool Pop(SwCursorShell::PopMode=SwCursorShell::PopMode::DeleteStack)
Definition: wrtsh1.cxx:1722
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:320
void SetDeactivateHdl(const Link< Menu *, bool > &rLink)
std::optional< Point > m_xMousePt
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(94)
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:1369
IDocumentUndoRedo & GetIDocumentUndoRedo()
Definition: doc.cxx:144
virtual const SwFrame * GetFrame() override
unsigned long GetSidebarBorderWidth(bool bPx=false) const
Definition: PostItMgr.cxx:2130
Class for displaying a dashed line in the Writer GUI.
Definition: DashedLine.hxx:16
IDocumentContentOperations const & getIDocumentContentOperations() const
Definition: doc.cxx:315
void SetMapMode()
SwWrtShell & GetWrtShell() const
Definition: view.hxx:398
bool IsActive() const
Used by the UI to modify the document model.
Definition: wrtsh.hxx:90
SwFrameControlsManager & GetFrameControlsManager()
Definition: edtwin.cxx:6634
tools::Long Left() const
const SwRect & getFrameArea() const
Definition: frame.hxx:177
class SAL_WARN_UNUSED UNLESS_MERGELIBS(BASEGFX_DLLPUBLIC) BColorModifier_black_and_white final class SAL_WARN_UNUSED UNLESS_MERGELIBS(BASEGFX_DLLPUBLIC) BColorModifier_gamma final class SAL_WARN_UNUSED UNLESS_MERGELIBS(BASEGFX_DLLPUBLIC) BColorModifier_RGBLuminanceContrast final typedef 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...
tools::Long Bottom() const
bool IsTextFrame() const
Definition: frame.hxx:1212
bool GetHighContrastMode() 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
SwDoc & GetDoc()
Definition: node.hxx:211
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:6104
virtual void Activate() override
virtual void dispose() override
void Push()
store a copy of the current cursor on the cursor stack
Definition: crsrsh.cxx:2236
const SwFrame * Lower() const
Definition: layfrm.hxx:101
B2DPolygon createPolygonFromRect(const B2DRectangle &rRect, double fRadiusX, double fRadiusY)
tools::Long Width() const
void SetSelection(const SwPaM &rCursor)
Definition: crsrsh.cxx:3497
static bool GetLayoutRTL()
virtual void Start() override
SwFrame * GetPrev()
Definition: frame.hxx:657
bool IsInside(const Point &rPOINT) const
virtual void dispose() override
Class sharing some MenuButton code.
tools::Long Top() const
void SetTimeout(sal_uInt64 nTimeoutMs)
void GrabFocus()
A page of the document layout.
Definition: pagefrm.hxx:41
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:280
void Stop()
bool IsTabFrame() const
Definition: frame.hxx:1196
const SwPageFrame * GetPageFrame() const
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
bool IsSynthetic() const
void LockView(bool b)
Definition: viewsh.hxx:462
bool IsVisible() const
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_WHITE
void SetPopupMenu(PopupMenu *pNewMenu)
static VclPtr< reference_type > Create(Arg &&...arg)
#define FN_PARAM_PAM
Definition: cmdid.h:823
void Top(const tools::Long nTop)
Definition: swrect.hxx:204
SwFrameControlPtr GetControl(FrameControlType eType, const SwFrame *pFrame)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
Sequence< sal_Int8 > aSeq
void SetInvokeHandler(const Link< Timer *, void > &rLink)
bool HasNotes() const
Definition: PostItMgr.cxx:2099
const Point & GetPosPixel() const
virtual void ShowAll(bool bShow) override
void ClearMark()
Definition: crsrsh.cxx:937
basegfx::BColor getBColor() const
const SwPostItMgr * GetPostItMgr() const
Definition: viewsh.hxx:556
unsigned long GetSidebarWidth(bool bPx=false) const
Definition: PostItMgr.cxx:2104
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:2093
std::shared_ptr< SwFrameControl > SwFrameControlPtr
const Size & GetSizePixel() const
const Color & GetDialogTextColor() const
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:1184
#define ARROW_WIDTH
tools::Long Right() const
bool IsViewLocked() const
Definition: viewsh.hxx:461
virtual void Activate() override
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
SwFrame * GetNext()
Definition: frame.hxx:656