1ff0525f2SOliver-Rainer Wittmann /************************************************************** 2ff0525f2SOliver-Rainer Wittmann * 3ff0525f2SOliver-Rainer Wittmann * Licensed to the Apache Software Foundation (ASF) under one 4ff0525f2SOliver-Rainer Wittmann * or more contributor license agreements. See the NOTICE file 5ff0525f2SOliver-Rainer Wittmann * distributed with this work for additional information 6ff0525f2SOliver-Rainer Wittmann * regarding copyright ownership. The ASF licenses this file 7ff0525f2SOliver-Rainer Wittmann * to you under the Apache License, Version 2.0 (the 8ff0525f2SOliver-Rainer Wittmann * "License"); you may not use this file except in compliance 9ff0525f2SOliver-Rainer Wittmann * with the License. You may obtain a copy of the License at 10ff0525f2SOliver-Rainer Wittmann * 11ff0525f2SOliver-Rainer Wittmann * http://www.apache.org/licenses/LICENSE-2.0 12ff0525f2SOliver-Rainer Wittmann * 13ff0525f2SOliver-Rainer Wittmann * Unless required by applicable law or agreed to in writing, 14ff0525f2SOliver-Rainer Wittmann * software distributed under the License is distributed on an 15ff0525f2SOliver-Rainer Wittmann * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ff0525f2SOliver-Rainer Wittmann * KIND, either express or implied. See the License for the 17ff0525f2SOliver-Rainer Wittmann * specific language governing permissions and limitations 18ff0525f2SOliver-Rainer Wittmann * under the License. 19ff0525f2SOliver-Rainer Wittmann * 20ff0525f2SOliver-Rainer Wittmann *************************************************************/ 21ff0525f2SOliver-Rainer Wittmann 22ff0525f2SOliver-Rainer Wittmann #ifndef _SW_SIDEBAR_PAGE_MARGIN_CONTROL_HXX_ 23ff0525f2SOliver-Rainer Wittmann #define _SW_SIDEBAR_PAGE_MARGIN_CONTROL_HXX_ 24ff0525f2SOliver-Rainer Wittmann 25ff0525f2SOliver-Rainer Wittmann #include <svx/sidebar/PopupControl.hxx> 26ff0525f2SOliver-Rainer Wittmann 27ff0525f2SOliver-Rainer Wittmann #include <tools/fldunit.hxx> 28ff0525f2SOliver-Rainer Wittmann #include <svl/poolitem.hxx> 29ff0525f2SOliver-Rainer Wittmann #include <unotools/viewoptions.hxx> 30ff0525f2SOliver-Rainer Wittmann 31ff0525f2SOliver-Rainer Wittmann #include <vector> 32ff0525f2SOliver-Rainer Wittmann 33ff0525f2SOliver-Rainer Wittmann #define SWPAGE_NARROW_VALUE 720 34ff0525f2SOliver-Rainer Wittmann #define SWPAGE_NORMAL_VALUE 1136 35ff0525f2SOliver-Rainer Wittmann #define SWPAGE_WIDE_VALUE1 1440 36ff0525f2SOliver-Rainer Wittmann #define SWPAGE_WIDE_VALUE2 2880 37ff0525f2SOliver-Rainer Wittmann #define SWPAGE_WIDE_VALUE3 1800 38ff0525f2SOliver-Rainer Wittmann 39ff0525f2SOliver-Rainer Wittmann 40ff0525f2SOliver-Rainer Wittmann namespace svx { namespace sidebar { 41ff0525f2SOliver-Rainer Wittmann class ValueSetWithTextControl; 42ff0525f2SOliver-Rainer Wittmann } } 43ff0525f2SOliver-Rainer Wittmann 44ff0525f2SOliver-Rainer Wittmann static const long MINBODY = 284; //0.5 cm in twips 45ff0525f2SOliver-Rainer Wittmann 46ff0525f2SOliver-Rainer Wittmann namespace sw { namespace sidebar { 47ff0525f2SOliver-Rainer Wittmann 48ff0525f2SOliver-Rainer Wittmann class PagePropertyPanel; 49ff0525f2SOliver-Rainer Wittmann 50ff0525f2SOliver-Rainer Wittmann 51ff0525f2SOliver-Rainer Wittmann class PageMarginControl 52ff0525f2SOliver-Rainer Wittmann : public ::svx::sidebar::PopupControl 53ff0525f2SOliver-Rainer Wittmann { 54ff0525f2SOliver-Rainer Wittmann public: 55ff0525f2SOliver-Rainer Wittmann PageMarginControl( 56ff0525f2SOliver-Rainer Wittmann Window* pParent, 57ff0525f2SOliver-Rainer Wittmann PagePropertyPanel& rPanel, 58ff0525f2SOliver-Rainer Wittmann const SvxLongLRSpaceItem& aPageLRMargin, 59ff0525f2SOliver-Rainer Wittmann const SvxLongULSpaceItem& aPageULMargin, 60ff0525f2SOliver-Rainer Wittmann const bool bMirrored, 61ff0525f2SOliver-Rainer Wittmann const Size aPageSize, 62ff0525f2SOliver-Rainer Wittmann const sal_Bool bLandscape, 63ff0525f2SOliver-Rainer Wittmann const FieldUnit eFUnit, 64ff0525f2SOliver-Rainer Wittmann const SfxMapUnit eUnit ); 65ff0525f2SOliver-Rainer Wittmann ~PageMarginControl(void); 66ff0525f2SOliver-Rainer Wittmann 67ff0525f2SOliver-Rainer Wittmann private: 68ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::ValueSetWithTextControl* mpMarginValueSet; 69ff0525f2SOliver-Rainer Wittmann 70ff0525f2SOliver-Rainer Wittmann FixedText maCustom; 71ff0525f2SOliver-Rainer Wittmann FixedText maLeft; 72ff0525f2SOliver-Rainer Wittmann FixedText maInner; 73ff0525f2SOliver-Rainer Wittmann MetricField maLeftMarginEdit; 74ff0525f2SOliver-Rainer Wittmann FixedText maRight; 75ff0525f2SOliver-Rainer Wittmann FixedText maOuter; 76ff0525f2SOliver-Rainer Wittmann MetricField maRightMarginEdit; 77ff0525f2SOliver-Rainer Wittmann FixedText maTop; 78ff0525f2SOliver-Rainer Wittmann MetricField maTopMarginEdit; 79ff0525f2SOliver-Rainer Wittmann FixedText maBottom; 80ff0525f2SOliver-Rainer Wittmann MetricField maBottomMarginEdit; 81ff0525f2SOliver-Rainer Wittmann 82ff0525f2SOliver-Rainer Wittmann // hidden metric field 83ff0525f2SOliver-Rainer Wittmann MetricField maWidthHeightField; 84ff0525f2SOliver-Rainer Wittmann 85ff0525f2SOliver-Rainer Wittmann long mnPageLeftMargin; 86ff0525f2SOliver-Rainer Wittmann long mnPageRightMargin; 87ff0525f2SOliver-Rainer Wittmann long mnPageTopMargin; 88ff0525f2SOliver-Rainer Wittmann long mnPageBottomMargin; 89ff0525f2SOliver-Rainer Wittmann bool mbMirrored; 90ff0525f2SOliver-Rainer Wittmann 91ff0525f2SOliver-Rainer Wittmann const SfxMapUnit meUnit; 92ff0525f2SOliver-Rainer Wittmann 93*2924af3dSOliver-Rainer Wittmann bool mbUserCustomValuesAvailable; 94ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageLeftMargin; 95ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageRightMargin; 96ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageTopMargin; 97ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageBottomMargin; 98ff0525f2SOliver-Rainer Wittmann bool mbUserCustomMirrored; 99ff0525f2SOliver-Rainer Wittmann 100ff0525f2SOliver-Rainer Wittmann bool mbCustomValuesUsed; 101ff0525f2SOliver-Rainer Wittmann 102ff0525f2SOliver-Rainer Wittmann PagePropertyPanel& mrPagePropPanel; 103ff0525f2SOliver-Rainer Wittmann 104ff0525f2SOliver-Rainer Wittmann DECL_LINK( ImplMarginHdl, void* ); 105ff0525f2SOliver-Rainer Wittmann DECL_LINK( ModifyLRMarginHdl, MetricField* ); 106ff0525f2SOliver-Rainer Wittmann DECL_LINK( ModifyULMarginHdl, MetricField* ); 107ff0525f2SOliver-Rainer Wittmann 108ff0525f2SOliver-Rainer Wittmann void SetMetricFieldMaxValues( const Size aPageSize ); 109ff0525f2SOliver-Rainer Wittmann 110ff0525f2SOliver-Rainer Wittmann bool GetUserCustomValues(); 111ff0525f2SOliver-Rainer Wittmann void StoreUserCustomValues(); 112ff0525f2SOliver-Rainer Wittmann 113ff0525f2SOliver-Rainer Wittmann void FillValueSet( 114ff0525f2SOliver-Rainer Wittmann const bool bLandscape, 115ff0525f2SOliver-Rainer Wittmann const bool bUserCustomValuesAvailable ); 116ff0525f2SOliver-Rainer Wittmann void SelectValueSetItem(); 117ff0525f2SOliver-Rainer Wittmann }; 118ff0525f2SOliver-Rainer Wittmann 119ff0525f2SOliver-Rainer Wittmann } } // end of namespace sw::sidebar 120ff0525f2SOliver-Rainer Wittmann 121ff0525f2SOliver-Rainer Wittmann #endif 122