/* -*- 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 #include #include // forward --------------------------------------------------------------- class SvxBoxItem; // class SvxPageWindow --------------------------------------------------- class SVX_DLLPUBLIC SvxPageWindow : public vcl::Window { using Window::GetBorder; private: Size aWinSize; Size aSize; long nTop; long nBottom; long nLeft; long nRight; SvxBoxItem* pBorder; bool bResetBackground; 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( vcl::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: */