1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _SVX_XLNDSIT_HXX 25 #define _SVX_XLNDSIT_HXX 26 27 #include <svx/xit.hxx> 28 29 #ifndef _SVX_XLINIIT_HXX //autogen 30 #include <svx/xdash.hxx> 31 #endif 32 #include "svx/svxdllapi.h" 33 34 class SdrModel; 35 36 //-------------------- 37 // class XLineDashItem 38 //-------------------- 39 class SVX_DLLPUBLIC XLineDashItem : public NameOrIndex 40 { 41 XDash aDash; 42 43 public: 44 TYPEINFO(); XLineDashItem()45 XLineDashItem() : NameOrIndex(XATTR_LINEDASH, -1) {} 46 XLineDashItem(sal_Int32 nIndex, const XDash& rTheDash); 47 XLineDashItem(const String& rName, const XDash& rTheDash); 48 XLineDashItem(SfxItemPool* pPool, const XDash& rTheDash); 49 XLineDashItem(SfxItemPool* pPool ); 50 XLineDashItem(const XLineDashItem& rItem); 51 XLineDashItem(SvStream& rIn); 52 53 virtual int operator==(const SfxPoolItem& rItem) const; 54 virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const; 55 virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nVer) const; 56 virtual SvStream& Store(SvStream& rOut, sal_uInt16 nItemVersion ) const; 57 58 virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const; 59 virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ); 60 61 virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, 62 SfxMapUnit eCoreMetric, 63 SfxMapUnit ePresMetric, 64 String &rText, const IntlWrapper * = 0 ) const; 65 virtual FASTBOOL HasMetrics() const; 66 virtual FASTBOOL ScaleMetrics(long nMul, long nDiv); 67 68 const XDash& GetDashValue(const XDashList* pTable = 0) const; // GetValue -> GetDashValue SetDashValue(const XDash & rNew)69 void SetDashValue(const XDash& rNew) { aDash = rNew; Detach(); } // SetValue -> SetDashValue 70 71 static sal_Bool CompareValueFunc( const NameOrIndex* p1, const NameOrIndex* p2 ); 72 XLineDashItem* checkForUniqueItem( SdrModel* pModel ) const; 73 }; 74 75 #endif 76 77