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> 29*f120fe41SAndre Fischer #include <svx/rulritem.hxx> 30ff0525f2SOliver-Rainer Wittmann #include <unotools/viewoptions.hxx> 31*f120fe41SAndre Fischer #include <vcl/fixed.hxx> 32*f120fe41SAndre Fischer #include <vcl/field.hxx> 33*f120fe41SAndre Fischer #include <svtools/unitconv.hxx> 34ff0525f2SOliver-Rainer Wittmann #include <vector> 35ff0525f2SOliver-Rainer Wittmann 36ff0525f2SOliver-Rainer Wittmann #define SWPAGE_NARROW_VALUE 720 37ff0525f2SOliver-Rainer Wittmann #define SWPAGE_NORMAL_VALUE 1136 38ff0525f2SOliver-Rainer Wittmann #define SWPAGE_WIDE_VALUE1 1440 39ff0525f2SOliver-Rainer Wittmann #define SWPAGE_WIDE_VALUE2 2880 40ff0525f2SOliver-Rainer Wittmann #define SWPAGE_WIDE_VALUE3 1800 41ff0525f2SOliver-Rainer Wittmann 42ff0525f2SOliver-Rainer Wittmann 43ff0525f2SOliver-Rainer Wittmann namespace svx { namespace sidebar { 44ff0525f2SOliver-Rainer Wittmann class ValueSetWithTextControl; 45ff0525f2SOliver-Rainer Wittmann } } 46ff0525f2SOliver-Rainer Wittmann 47ff0525f2SOliver-Rainer Wittmann static const long MINBODY = 284; //0.5 cm in twips 48ff0525f2SOliver-Rainer Wittmann 49ff0525f2SOliver-Rainer Wittmann namespace sw { namespace sidebar { 50ff0525f2SOliver-Rainer Wittmann 51ff0525f2SOliver-Rainer Wittmann class PagePropertyPanel; 52ff0525f2SOliver-Rainer Wittmann 53ff0525f2SOliver-Rainer Wittmann 54ff0525f2SOliver-Rainer Wittmann class PageMarginControl 55ff0525f2SOliver-Rainer Wittmann : public ::svx::sidebar::PopupControl 56ff0525f2SOliver-Rainer Wittmann { 57ff0525f2SOliver-Rainer Wittmann public: 58ff0525f2SOliver-Rainer Wittmann PageMarginControl( 59ff0525f2SOliver-Rainer Wittmann Window* pParent, 60ff0525f2SOliver-Rainer Wittmann PagePropertyPanel& rPanel, 61ff0525f2SOliver-Rainer Wittmann const SvxLongLRSpaceItem& aPageLRMargin, 62ff0525f2SOliver-Rainer Wittmann const SvxLongULSpaceItem& aPageULMargin, 63ff0525f2SOliver-Rainer Wittmann const bool bMirrored, 64ff0525f2SOliver-Rainer Wittmann const Size aPageSize, 65ff0525f2SOliver-Rainer Wittmann const sal_Bool bLandscape, 66ff0525f2SOliver-Rainer Wittmann const FieldUnit eFUnit, 67ff0525f2SOliver-Rainer Wittmann const SfxMapUnit eUnit ); 68ff0525f2SOliver-Rainer Wittmann ~PageMarginControl(void); 69ff0525f2SOliver-Rainer Wittmann 70ff0525f2SOliver-Rainer Wittmann private: 71ff0525f2SOliver-Rainer Wittmann ::svx::sidebar::ValueSetWithTextControl* mpMarginValueSet; 72ff0525f2SOliver-Rainer Wittmann 73ff0525f2SOliver-Rainer Wittmann FixedText maCustom; 74ff0525f2SOliver-Rainer Wittmann FixedText maLeft; 75ff0525f2SOliver-Rainer Wittmann FixedText maInner; 76ff0525f2SOliver-Rainer Wittmann MetricField maLeftMarginEdit; 77ff0525f2SOliver-Rainer Wittmann FixedText maRight; 78ff0525f2SOliver-Rainer Wittmann FixedText maOuter; 79ff0525f2SOliver-Rainer Wittmann MetricField maRightMarginEdit; 80ff0525f2SOliver-Rainer Wittmann FixedText maTop; 81ff0525f2SOliver-Rainer Wittmann MetricField maTopMarginEdit; 82ff0525f2SOliver-Rainer Wittmann FixedText maBottom; 83ff0525f2SOliver-Rainer Wittmann MetricField maBottomMarginEdit; 84ff0525f2SOliver-Rainer Wittmann 85ff0525f2SOliver-Rainer Wittmann // hidden metric field 86ff0525f2SOliver-Rainer Wittmann MetricField maWidthHeightField; 87ff0525f2SOliver-Rainer Wittmann 88ff0525f2SOliver-Rainer Wittmann long mnPageLeftMargin; 89ff0525f2SOliver-Rainer Wittmann long mnPageRightMargin; 90ff0525f2SOliver-Rainer Wittmann long mnPageTopMargin; 91ff0525f2SOliver-Rainer Wittmann long mnPageBottomMargin; 92ff0525f2SOliver-Rainer Wittmann bool mbMirrored; 93ff0525f2SOliver-Rainer Wittmann 94ff0525f2SOliver-Rainer Wittmann const SfxMapUnit meUnit; 95ff0525f2SOliver-Rainer Wittmann 962924af3dSOliver-Rainer Wittmann bool mbUserCustomValuesAvailable; 97ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageLeftMargin; 98ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageRightMargin; 99ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageTopMargin; 100ff0525f2SOliver-Rainer Wittmann long mnUserCustomPageBottomMargin; 101ff0525f2SOliver-Rainer Wittmann bool mbUserCustomMirrored; 102ff0525f2SOliver-Rainer Wittmann 103ff0525f2SOliver-Rainer Wittmann bool mbCustomValuesUsed; 104ff0525f2SOliver-Rainer Wittmann 105ff0525f2SOliver-Rainer Wittmann PagePropertyPanel& mrPagePropPanel; 106ff0525f2SOliver-Rainer Wittmann 107ff0525f2SOliver-Rainer Wittmann DECL_LINK( ImplMarginHdl, void* ); 108ff0525f2SOliver-Rainer Wittmann DECL_LINK( ModifyLRMarginHdl, MetricField* ); 109ff0525f2SOliver-Rainer Wittmann DECL_LINK( ModifyULMarginHdl, MetricField* ); 110ff0525f2SOliver-Rainer Wittmann 111ff0525f2SOliver-Rainer Wittmann void SetMetricFieldMaxValues( const Size aPageSize ); 112ff0525f2SOliver-Rainer Wittmann 113ff0525f2SOliver-Rainer Wittmann bool GetUserCustomValues(); 114ff0525f2SOliver-Rainer Wittmann void StoreUserCustomValues(); 115ff0525f2SOliver-Rainer Wittmann 116ff0525f2SOliver-Rainer Wittmann void FillValueSet( 117ff0525f2SOliver-Rainer Wittmann const bool bLandscape, 118ff0525f2SOliver-Rainer Wittmann const bool bUserCustomValuesAvailable ); 119ff0525f2SOliver-Rainer Wittmann void SelectValueSetItem(); 120ff0525f2SOliver-Rainer Wittmann }; 121ff0525f2SOliver-Rainer Wittmann 122ff0525f2SOliver-Rainer Wittmann } } // end of namespace sw::sidebar 123ff0525f2SOliver-Rainer Wittmann 124ff0525f2SOliver-Rainer Wittmann #endif 125