1*ecfe53c5SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ecfe53c5SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ecfe53c5SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ecfe53c5SAndrew Rist * distributed with this work for additional information 6*ecfe53c5SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ecfe53c5SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ecfe53c5SAndrew Rist * "License"); you may not use this file except in compliance 9*ecfe53c5SAndrew Rist * with the License. You may obtain a copy of the License at 10*ecfe53c5SAndrew Rist * 11*ecfe53c5SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ecfe53c5SAndrew Rist * 13*ecfe53c5SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ecfe53c5SAndrew Rist * software distributed under the License is distributed on an 15*ecfe53c5SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ecfe53c5SAndrew Rist * KIND, either express or implied. See the License for the 17*ecfe53c5SAndrew Rist * specific language governing permissions and limitations 18*ecfe53c5SAndrew Rist * under the License. 19*ecfe53c5SAndrew Rist * 20*ecfe53c5SAndrew Rist *************************************************************/ 21*ecfe53c5SAndrew Rist 22*ecfe53c5SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _XMLOFF_XMLNUMI_HXX 25cdf0e10cSrcweir #define _XMLOFF_XMLNUMI_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <com/sun/star/container/XIndexReplace.hpp> 28cdf0e10cSrcweir 29cdf0e10cSrcweir #include <xmloff/xmlstyle.hxx> 30cdf0e10cSrcweir #include <com/sun/star/style/NumberingType.hpp> 31cdf0e10cSrcweir 32cdf0e10cSrcweir namespace com { namespace sun { namespace star { namespace frame { class XModel; } } } } 33cdf0e10cSrcweir class SvI18NMap; 34cdf0e10cSrcweir class SvxXMLListStyle_Impl; 35cdf0e10cSrcweir 36cdf0e10cSrcweir class SvxXMLListStyleContext : public SvXMLStyleContext 37cdf0e10cSrcweir { 38cdf0e10cSrcweir const ::rtl::OUString sIsPhysical; 39cdf0e10cSrcweir const ::rtl::OUString sNumberingRules; 40cdf0e10cSrcweir const ::rtl::OUString sName; 41cdf0e10cSrcweir const ::rtl::OUString sIsContinuousNumbering; 42cdf0e10cSrcweir 43cdf0e10cSrcweir ::com::sun::star::uno::Reference < 44cdf0e10cSrcweir ::com::sun::star::container::XIndexReplace > xNumRules; 45cdf0e10cSrcweir 46cdf0e10cSrcweir SvxXMLListStyle_Impl *pLevelStyles; 47cdf0e10cSrcweir 48cdf0e10cSrcweir sal_Int32 nLevels; 49cdf0e10cSrcweir sal_Bool bConsecutive : 1; 50cdf0e10cSrcweir sal_Bool bOutline : 1; 51cdf0e10cSrcweir 52cdf0e10cSrcweir protected: 53cdf0e10cSrcweir 54cdf0e10cSrcweir virtual void SetAttribute( sal_uInt16 nPrefixKey, 55cdf0e10cSrcweir const ::rtl::OUString& rLocalName, 56cdf0e10cSrcweir const ::rtl::OUString& rValue ); 57cdf0e10cSrcweir 58cdf0e10cSrcweir public: 59cdf0e10cSrcweir 60cdf0e10cSrcweir TYPEINFO(); 61cdf0e10cSrcweir 62cdf0e10cSrcweir SvxXMLListStyleContext( 63cdf0e10cSrcweir SvXMLImport& rImport, sal_uInt16 nPrfx, 64cdf0e10cSrcweir const ::rtl::OUString& rLName, 65cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 66cdf0e10cSrcweir ::com::sun::star::xml::sax::XAttributeList >& xAttrList, 67cdf0e10cSrcweir sal_Bool bOutl=sal_False ); 68cdf0e10cSrcweir 69cdf0e10cSrcweir virtual ~SvxXMLListStyleContext(); 70cdf0e10cSrcweir 71cdf0e10cSrcweir virtual SvXMLImportContext *CreateChildContext( 72cdf0e10cSrcweir sal_uInt16 nPrefix, 73cdf0e10cSrcweir const ::rtl::OUString& rLocalName, 74cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 75cdf0e10cSrcweir ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); 76cdf0e10cSrcweir 77cdf0e10cSrcweir void FillUnoNumRule( 78cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 79cdf0e10cSrcweir ::com::sun::star::container::XIndexReplace > & rNumRule, 80cdf0e10cSrcweir const SvI18NMap *pI18NMap ) const; 81cdf0e10cSrcweir 82cdf0e10cSrcweir const ::com::sun::star::uno::Reference < GetNumRules() const83cdf0e10cSrcweir ::com::sun::star::container::XIndexReplace >& GetNumRules() const 84cdf0e10cSrcweir { return xNumRules; } IsOutline() const85cdf0e10cSrcweir sal_Bool IsOutline() const { return bOutline; } IsConsecutive() const86cdf0e10cSrcweir sal_Bool IsConsecutive() const { return bConsecutive; } GetLevels() const87cdf0e10cSrcweir sal_Int32 GetLevels() const { return nLevels; } 88cdf0e10cSrcweir 89cdf0e10cSrcweir static ::com::sun::star::uno::Reference < 90cdf0e10cSrcweir ::com::sun::star::container::XIndexReplace > 91cdf0e10cSrcweir CreateNumRule( 92cdf0e10cSrcweir const ::com::sun::star::uno::Reference < 93cdf0e10cSrcweir ::com::sun::star::frame::XModel > & rModel ); 94cdf0e10cSrcweir 95cdf0e10cSrcweir static void SetDefaultStyle( 96cdf0e10cSrcweir const ::com::sun::star::uno::Reference < 97cdf0e10cSrcweir ::com::sun::star::container::XIndexReplace > & rNumRule, 98cdf0e10cSrcweir sal_Int16 nLevel, 99cdf0e10cSrcweir sal_Bool bOrdered ); 100cdf0e10cSrcweir 101cdf0e10cSrcweir virtual void CreateAndInsertLate( sal_Bool bOverwrite ); 102cdf0e10cSrcweir 103cdf0e10cSrcweir void CreateAndInsertAuto() const; 104cdf0e10cSrcweir }; 105cdf0e10cSrcweir 106cdf0e10cSrcweir #endif // _XMLOFF_XMLNUMI_HXX 107cdf0e10cSrcweir 108