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 #ifndef _SVX_LANGITEM_HXX 24 #define _SVX_LANGITEM_HXX 25 26 // include --------------------------------------------------------------- 27 28 #include <svl/eitem.hxx> 29 #include <i18npool/lang.h> 30 #include <editeng/editengdllapi.h> 31 32 class SvXMLUnitConverter; 33 namespace rtl 34 { 35 class OUString; 36 } 37 38 // class SvxLanguageItem ------------------------------------------------- 39 40 /* [Beschreibung] 41 42 Dieses Item beschreibt eine Sprache. 43 */ 44 45 class EDITENG_DLLPUBLIC SvxLanguageItem : public SfxEnumItem 46 { 47 public: 48 TYPEINFO(); 49 50 SvxLanguageItem( const LanguageType eLang /*= LANGUAGE_GERMAN*/, 51 const sal_uInt16 nId ); 52 53 // "pure virtual Methoden" vom SfxPoolItem 54 virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, 55 SfxMapUnit eCoreMetric, 56 SfxMapUnit ePresMetric, 57 String &rText, const IntlWrapper * = 0 ) const; 58 59 virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; 60 virtual SfxPoolItem* Create(SvStream &, sal_uInt16) const; 61 virtual SvStream& Store(SvStream &, sal_uInt16 nItemVersion) const; 62 virtual sal_uInt16 GetValueCount() const; 63 operator =(const SvxLanguageItem & rLang)64 inline SvxLanguageItem& operator=(const SvxLanguageItem& rLang) 65 { 66 SetValue( rLang.GetValue() ); 67 return *this; 68 } 69 70 // enum cast GetLanguage() const71 LanguageType GetLanguage() const 72 { return (LanguageType)GetValue(); } SetLanguage(const LanguageType eLang)73 void SetLanguage( const LanguageType eLang ) 74 { SetValue( (sal_uInt16)eLang ); } 75 virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const; 76 virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ); 77 }; 78 79 #endif 80 81