Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / sw / source / uibase / inc / colex.hxx
blob2abe4429825eebc6eda62c4ac9277f994e644340
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_COLEX_HXX
20 #define INCLUDED_SW_SOURCE_UIBASE_INC_COLEX_HXX
22 #include <svx/pagectrl.hxx>
23 #include <editeng/paperinf.hxx>
24 #include <swdllapi.h>
25 #include <tgrditem.hxx>
26 #include <fmtclds.hxx>
28 class SwColMgr;
29 class SfxItemSet;
31 class SW_DLLPUBLIC SwPageExample : public SvxPageWindow
33 protected:
34 bool m_bVertical;
35 public:
36 SwPageExample()
37 : m_bVertical(false)
39 SetSize(SvxPaperInfo::GetPaperSize(PAPER_A4));
42 void UpdateExample( const SfxItemSet& rSet );
45 class SW_DLLPUBLIC SwPageGridExample final : public SwPageExample
47 std::unique_ptr<SwTextGridItem> m_pGridItem;
49 virtual void DrawPage(vcl::RenderContext& rRenderContext,
50 const Point& rPoint,
51 const bool bSecond,
52 const bool bEnabled) override;
53 public:
54 SwPageGridExample();
56 void UpdateExample( const SfxItemSet& rSet );
60 class SW_DLLPUBLIC SwColExample final : public SwPageExample
62 SwColMgr* m_pColMgr;
64 using SwPageExample::UpdateExample;
66 virtual void DrawPage(vcl::RenderContext& rRenderContext,
67 const Point& rPoint,
68 const bool bSecond,
69 const bool bEnabled) override;
71 public:
72 SwColExample()
73 : m_pColMgr(nullptr)
77 void UpdateExample( const SfxItemSet& rSet, SwColMgr* pMgr )
79 m_pColMgr = pMgr;
80 SwPageExample::UpdateExample(rSet);
84 class SW_DLLPUBLIC SwColumnOnlyExample final : public weld::CustomWidgetController
86 private:
87 Size m_aWinSize;
89 Size m_aFrameSize;
90 SwFormatCol m_aCols;
92 virtual void Resize() override;
93 virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
95 public:
96 SwColumnOnlyExample();
98 void SetColumns(const SwFormatCol& rCol);
100 virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override;
103 #endif // INCLUDED_SW_SOURCE_UIBASE_INC_COLEX_HXX
105 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */