office-gobmx/include/svx/pagectrl.hxx
Armin Le Grand 7d9bb549d4 Related: #i124638# Second step of DrawingLayer FillAttributes...
for Writer objects, now added support for Paragraph and PageStyle (including
Header and Footer) for direct attributes and style attributes

(cherry picked from commit cc25c58f7052827bfebdc9fbeec668c8fa29ed1b)

Conflicts:
	cui/source/factory/dlgfact.cxx
	cui/source/factory/dlgfact.hxx
	cui/source/inc/bbdlg.hxx
	cui/source/inc/cuires.hrc
	cui/source/tabpages/bbdlg.cxx
	cui/source/tabpages/bbdlg.src
	cui/source/tabpages/page.cxx
	cui/source/tabpages/tparea.cxx
	include/svx/pagectrl.hxx
	include/svx/svxdlg.hxx
	include/svx/svxids.hrc
	include/xmloff/PageMasterStyleMap.hxx
	include/xmloff/prstylei.hxx
	include/xmloff/txtprmap.hxx
	svx/Package_inc.mk
	svx/inc/svx/hdft.hxx
	svx/source/dialog/hdft.cxx
	svx/source/dialog/pagectrl.cxx
	svx/source/tbxctrls/tbxcolorupdate.cxx
	svx/source/unodraw/unobrushitemhelper.cxx
	sw/Library_sw.mk
	sw/inc/fillattributes.hxx
	sw/inc/format.hxx
	sw/inc/frmatr.hxx
	sw/inc/frmfmt.hxx
	sw/inc/hintids.hxx
	sw/inc/hints.hxx
	sw/inc/ndtxt.hxx
	sw/inc/node.hxx
	sw/inc/swunohelper.hxx
	sw/inc/unobrushitemhelper.hxx
	sw/inc/unoprnms.hxx
	sw/source/core/attr/format.cxx
	sw/source/core/attr/hints.cxx
	sw/source/core/doc/docdesc.cxx
	sw/source/core/doc/docdraw.cxx
	sw/source/core/doc/docfmt.cxx
	sw/source/core/doc/docnew.cxx
	sw/source/core/doc/docredln.cxx
	sw/source/core/doc/poolfmt.cxx
	sw/source/core/doc/visiturl.cxx
	sw/source/core/docnode/node.cxx
	sw/source/core/inc/frame.hxx
	sw/source/core/inc/frmtool.hxx
	sw/source/core/inc/rolbck.hxx
	sw/source/core/layout/atrfrm.cxx
	sw/source/core/layout/fillattributes.cxx
	sw/source/core/layout/findfrm.cxx
	sw/source/core/layout/paintfrm.cxx
	sw/source/core/txtnode/ndtxt.cxx
	sw/source/core/txtnode/thints.cxx
	sw/source/core/txtnode/txtedt.cxx
	sw/source/core/undo/rolbck.cxx
	sw/source/core/unocore/swunohelper.cxx
	sw/source/core/unocore/unoframe.cxx
	sw/source/core/unocore/unomap.cxx
	sw/source/core/unocore/unoparagraph.cxx
	sw/source/core/unocore/unoprnms.cxx
	sw/source/core/unocore/unostyle.cxx
	sw/source/ui/chrdlg/paradlg.src
	sw/source/ui/chrdlg/pardlg.cxx
	sw/source/ui/fmtui/tmpdlg.cxx
	sw/source/ui/fmtui/tmpdlg.src
	sw/source/uibase/app/docst.cxx
	sw/source/uibase/app/docstyle.cxx
	sw/source/uibase/frmdlg/colex.cxx
	sw/source/uibase/shells/basesh.cxx
	sw/source/uibase/shells/textsh1.cxx
	sw/source/uibase/uiview/viewstat.cxx
	sw/source/uibase/utlui/uitool.cxx
	xmloff/inc/PageMasterImportContext.hxx
	xmloff/inc/xmloff/XMLShapeStyleContext.hxx
	xmloff/source/draw/XMLShapeStyleContext.cxx
	xmloff/source/draw/sdpropls.hxx
	xmloff/source/style/PageMasterExportPropMapper.cxx
	xmloff/source/style/PageMasterImportContext.cxx
	xmloff/source/style/PageMasterPropHdlFactory.cxx
	xmloff/source/style/PageMasterStyleMap.cxx
	xmloff/source/style/prstylei.cxx
	xmloff/source/text/txtexppr.cxx
	xmloff/source/text/txtprhdl.cxx
	xmloff/source/text/txtprmap.cxx
	xmloff/source/text/txtstyli.cxx

Conflicts:
	svx/source/dialog/hdft.cxx
	sw/source/core/doc/visiturl.cxx
	sw/source/core/txtnode/thints.cxx
	sw/source/core/txtnode/txtatr2.cxx
	sw/source/core/unocore/unostyle.cxx

Change-Id: I7e8779db6c0cbd1e242b63eab888f468f2de509a
2014-07-01 13:30:09 +02:00

170 lines
7 KiB
C++

/* -*- 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 .
*/
#ifndef INCLUDED_SVX_PAGECTRL_HXX
#define INCLUDED_SVX_PAGECTRL_HXX
#include <vcl/window.hxx>
#include <svx/svxdllapi.h>
#include <svx/sdr/attribute/sdrallfillattributeshelper.hxx>
// forward ---------------------------------------------------------------
class SvxBoxItem;
// class SvxPageWindow ---------------------------------------------------
class SVX_DLLPUBLIC SvxPageWindow : public Window
{
using Window::GetBorder;
private:
Size aWinSize;
Size aSize;
long nTop;
long nBottom;
long nLeft;
long nRight;
SvxBoxItem* pBorder;
sal_Bool bResetBackground;
sal_Bool bFrameDirection;
sal_Int32 nFrameDirection;
long nHdLeft;
long nHdRight;
long nHdDist;
long nHdHeight;
SvxBoxItem* pHdBorder;
long nFtLeft;
long nFtRight;
long nFtDist;
long nFtHeight;
SvxBoxItem* pFtBorder;
//UUUU
drawinglayer::attribute::SdrAllFillAttributesHelperPtr maHeaderFillAttributes;
drawinglayer::attribute::SdrAllFillAttributesHelperPtr maFooterFillAttributes;
drawinglayer::attribute::SdrAllFillAttributesHelperPtr maPageFillAttributes;
bool bFooter :1;
bool bHeader :1;
bool bTable :1;
bool bHorz :1;
bool bVert :1;
sal_uInt16 eUsage;
OUString aLeftText;
OUString aRightText;
protected:
virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
virtual void DrawPage( const Point& rPoint,
const bool bSecond,
const bool bEnabled );
//UUUU
void drawFillAttributes(
const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& rFillAttributes,
const Rectangle& rPaintRange,
const Rectangle& rDefineRange);
public:
SvxPageWindow( Window* pParent );
virtual ~SvxPageWindow();
//UUUU
void setHeaderFillAttributes(const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& rFillAttributes) { maHeaderFillAttributes = rFillAttributes; }
void setFooterFillAttributes(const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& rFillAttributes) { maFooterFillAttributes = rFillAttributes; }
void setPageFillAttributes(const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& rFillAttributes) { maPageFillAttributes = rFillAttributes; }
const drawinglayer::attribute::SdrAllFillAttributesHelperPtr& getPageFillAttributes() const { return maPageFillAttributes; }
void SetWidth(long nW) { aSize.Width() = nW; }
void SetHeight(long nH) { aSize.Height() = nH; }
void SetSize(const Size& rSz) { aSize = rSz; }
const Size& GetSize() const { return aSize; }
void SetTop(long nNew) { nTop = nNew; }
void SetBottom(long nNew) { nBottom = nNew; }
void SetLeft(long nNew) { nLeft = nNew; }
void SetRight(long nNew) { nRight = nNew; }
void SetBorder(const SvxBoxItem& rNew);
long GetTop() const { return nTop; }
long GetBottom() const { return nBottom; }
long GetLeft() const { return nLeft; }
long GetRight() const { return nRight; }
const SvxBoxItem& GetBorder() const;
void SetHdLeft(long nNew) { nHdLeft = nNew; }
void SetHdRight(long nNew) { nHdRight = nNew; }
void SetHdDist(long nNew) { nHdDist = nNew; }
void SetHdHeight(long nNew) { nHdHeight = nNew; }
void SetHdBorder(const SvxBoxItem& rNew);
long GetHdLeft() const { return nHdLeft; }
long GetHdRight() const { return nHdRight; }
long GetHdDist() const { return nHdDist; }
long GetHdHeight() const { return nHdHeight; }
const SvxBoxItem& GetHdBorder() const { return *pHdBorder; }
void SetFtLeft(long nNew) { nFtLeft = nNew; }
void SetFtRight(long nNew) { nFtRight = nNew; }
void SetFtDist(long nNew) { nFtDist = nNew; }
void SetFtHeight(long nNew) { nFtHeight = nNew; }
void SetFtBorder(const SvxBoxItem& rNew);
long GetFtLeft() const { return nFtLeft; }
long GetFtRight() const { return nFtRight; }
long GetFtDist() const { return nFtDist; }
long GetFtHeight() const { return nFtHeight; }
const SvxBoxItem& GetFtBorder() const { return *pFtBorder; }
void SetUsage(sal_uInt16 eU) { eUsage = eU; }
sal_uInt16 GetUsage() const { return eUsage; }
void SetHeader( bool bNew ) { bHeader = bNew; }
bool GetHeader() const { return bHeader;}
void SetFooter( bool bNew ) { bFooter = bNew; }
bool GetFooter() const { return bFooter;}
void SetTable( bool bNew ) { bTable = bNew; }
bool GetTable() const { return bTable;}
void SetHorz( bool bNew ) { bHorz = bNew; }
bool GetHorz() const { return bHorz;}
void SetVert( bool bNew ) { bVert = bNew; }
bool GetVert() const { return bVert;}
void EnableFrameDirection(bool bEnable);
//uses enum SvxFrameDirection
void SetFrameDirection(sal_Int32 nDirection);
void ResetBackground();
virtual Size GetOptimalSize() const SAL_OVERRIDE;
};
#endif // INCLUDED_SVX_PAGECTRL_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */