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 _UNOSETT_HXX 24 #define _UNOSETT_HXX 25 26 #include <swtypes.hxx> 27 #include <calbck.hxx> 28 #include <com/sun/star/text/XTextColumns.hpp> 29 #include <com/sun/star/lang/XServiceInfo.hpp> 30 #include <com/sun/star/lang/XUnoTunnel.hpp> 31 #include <com/sun/star/container/XIndexReplace.hpp> 32 #include <com/sun/star/beans/XPropertySet.hpp> 33 #include <com/sun/star/beans/PropertyValue.hpp> 34 #include <com/sun/star/container/XNamed.hpp> 35 #include <com/sun/star/lang/XUnoTunnel.hpp> 36 #include <cppuhelper/implbase2.hxx> 37 #include <cppuhelper/implbase4.hxx> 38 #include <cppuhelper/implbase5.hxx> 39 #include <tools/string.hxx> 40 #include <svl/itemprop.hxx> 41 42 class SwDoc; 43 class SwFmtCol; 44 class SwDocShell; 45 class SwNumRule; 46 /****************************************************************************** 47 * 48 ******************************************************************************/ 49 /* -----------------04.05.98 12:28------------------- 50 * 51 * --------------------------------------------------*/ 52 class SwXFootnoteProperties : public cppu::WeakAggImplHelper2 53 < 54 ::com::sun::star::beans::XPropertySet, 55 ::com::sun::star::lang::XServiceInfo 56 > 57 { 58 SwDoc* pDoc; 59 const SfxItemPropertySet* m_pPropertySet; 60 protected: 61 virtual ~SwXFootnoteProperties(); 62 public: 63 SwXFootnoteProperties(SwDoc* pDoc); 64 65 66 //XPropertySet 67 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ); 68 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ); 69 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ); 70 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ); 71 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ); 72 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 73 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 74 75 //XServiceInfo 76 virtual rtl::OUString SAL_CALL getImplementationName(void); 77 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName); 78 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void); 79 Invalidate()80 void Invalidate() {pDoc = 0;} 81 }; 82 83 /* -----------------04.05.98 12:28------------------- 84 * 85 * --------------------------------------------------*/ 86 class SwXEndnoteProperties : public cppu::WeakAggImplHelper2 87 < 88 ::com::sun::star::beans::XPropertySet, 89 ::com::sun::star::lang::XServiceInfo 90 > 91 { 92 SwDoc* pDoc; 93 const SfxItemPropertySet* m_pPropertySet; 94 protected: 95 virtual ~SwXEndnoteProperties(); 96 public: 97 SwXEndnoteProperties(SwDoc* pDoc); 98 99 100 //XPropertySet 101 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ); 102 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ); 103 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ); 104 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ); 105 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ); 106 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 107 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 108 109 //XServiceInfo 110 virtual rtl::OUString SAL_CALL getImplementationName(void); 111 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName); 112 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void); 113 Invalidate()114 void Invalidate() {pDoc = 0;} 115 }; 116 117 /* -----------------04.05.98 12:28------------------- 118 * 119 * --------------------------------------------------*/ 120 class SwXLineNumberingProperties : public cppu::WeakAggImplHelper2 121 < 122 ::com::sun::star::beans::XPropertySet, 123 ::com::sun::star::lang::XServiceInfo 124 > 125 { 126 SwDoc* pDoc; 127 const SfxItemPropertySet* m_pPropertySet; 128 protected: 129 virtual ~SwXLineNumberingProperties(); 130 public: 131 SwXLineNumberingProperties(SwDoc* pDoc); 132 133 134 //XPropertySet 135 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ); 136 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ); 137 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ); 138 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ); 139 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ); 140 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 141 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 142 143 //XServiceInfo 144 virtual rtl::OUString SAL_CALL getImplementationName(void); 145 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName); 146 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void); 147 Invalidate()148 void Invalidate() {pDoc = 0;} 149 }; 150 151 /* -----------------25.05.98 08:21------------------- 152 * 153 * --------------------------------------------------*/ 154 class SwXNumberingRules : public cppu::WeakAggImplHelper5 155 < 156 ::com::sun::star::container::XIndexReplace, 157 ::com::sun::star::lang::XUnoTunnel, 158 ::com::sun::star::beans::XPropertySet, 159 ::com::sun::star::container::XNamed, 160 ::com::sun::star::lang::XServiceInfo 161 >, 162 public SwClient 163 { 164 String sNewCharStyleNames[MAXLEVEL]; 165 String sNewBulletFontNames[MAXLEVEL]; 166 String sCreatedNumRuleName; //connects to a numbering in SwDoc 167 SwDoc* pDoc; // wird nur fuers anmelden gebraucht 168 SwDocShell* pDocShell; //nur, wenn als ChapterNumbering verwendet 169 SwNumRule* pNumRule; 170 const SfxItemPropertySet* m_pPropertySet; 171 sal_Bool bOwnNumRuleCreated; 172 static String sInvalidStyle; 173 protected: 174 virtual ~SwXNumberingRules(); 175 176 //SwClient 177 virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew); 178 179 public: 180 SwXNumberingRules(SwDocShell& rDocSh); // chapter numbering 181 SwXNumberingRules(const SwNumRule& rRule); // NumRule for paragraphs, numbering styles 182 SwXNumberingRules(SwDoc& rDoc); //create a new instance 183 184 185 static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId(); 186 187 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ); 188 189 190 //XIndexReplace 191 virtual void SAL_CALL replaceByIndex( sal_Int32 Index, const ::com::sun::star::uno::Any& Element ); 192 193 //XIndexAccess 194 virtual sal_Int32 SAL_CALL getCount( ); 195 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex); 196 197 //XElementAccess 198 virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ); 199 virtual sal_Bool SAL_CALL hasElements( ); 200 201 //XPropertySet 202 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ); 203 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ); 204 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ); 205 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ); 206 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ); 207 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 208 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 209 210 //XNamed 211 virtual rtl::OUString SAL_CALL getName(void); 212 virtual void SAL_CALL setName(const rtl::OUString& Name_); 213 214 //XServiceInfo 215 virtual rtl::OUString SAL_CALL getImplementationName(void); 216 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName); 217 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void); 218 219 ::com::sun::star::uno::Sequence< 220 ::com::sun::star::beans::PropertyValue> 221 GetNumberingRuleByIndex(const SwNumRule& rNumRule, sal_Int32 nIndex)const; 222 void SetNumberingRuleByIndex(SwNumRule& rNumRule, 223 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rProperties, sal_Int32 nIndex); 224 GetNewCharStyleNames() const225 const String* GetNewCharStyleNames() const {return sNewCharStyleNames;} GetBulletFontNames() const226 const String* GetBulletFontNames() const {return sNewBulletFontNames;} GetNumRule()227 const SwNumRule* GetNumRule() {return pNumRule;} 228 229 static const String& GetInvalidStyle(); Invalidate()230 void Invalidate() {pDocShell = 0;} GetCreatedNumRuleName() const231 const String& GetCreatedNumRuleName() const{return sCreatedNumRuleName; } 232 }; 233 /*-----------------12.02.98 08:27------------------- 234 235 --------------------------------------------------*/ 236 class SwXChapterNumbering : public SwXNumberingRules 237 { 238 protected: 239 virtual ~SwXChapterNumbering(); 240 public: 241 SwXChapterNumbering(SwDocShell& rDocSh); 242 243 Invalidate()244 void Invalidate() {SwXNumberingRules::Invalidate();} 245 246 //XServiceInfo 247 virtual rtl::OUString SAL_CALL getImplementationName(void); 248 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName); 249 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void); 250 251 }; 252 253 /* -----------------27.05.98 15:44------------------- 254 * 255 * --------------------------------------------------*/ 256 class SwXTextColumns : public cppu::WeakAggImplHelper4 257 < 258 259 ::com::sun::star::lang::XUnoTunnel, 260 ::com::sun::star::beans::XPropertySet, 261 ::com::sun::star::text::XTextColumns, 262 ::com::sun::star::lang::XServiceInfo 263 > 264 { 265 sal_Int32 nReference; 266 ::com::sun::star::uno::Sequence< ::com::sun::star::text::TextColumn> aTextColumns; 267 sal_Bool bIsAutomaticWidth; 268 sal_Int32 nAutoDistance; 269 270 const SfxItemPropertySet* m_pPropSet; 271 272 //separator line 273 sal_Int32 nSepLineWidth; 274 sal_Int32 nSepLineColor; 275 sal_Int8 nSepLineHeightRelative; 276 sal_Int8 nSepLineVertAlign;//style::VerticalAlignment 277 sal_Bool bSepLineIsOn; 278 protected: 279 virtual ~SwXTextColumns(); 280 public: 281 SwXTextColumns(sal_uInt16 nColCount); 282 SwXTextColumns(const SwFmtCol& rFmtCol); 283 284 285 286 static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId(); 287 288 //XUnoTunnel 289 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ); 290 291 //XTextColumns 292 virtual sal_Int32 SAL_CALL getReferenceValue( ); 293 virtual sal_Int16 SAL_CALL getColumnCount( ); 294 virtual void SAL_CALL setColumnCount( sal_Int16 nColumns ); 295 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::text::TextColumn > SAL_CALL getColumns( ); 296 virtual void SAL_CALL setColumns( const ::com::sun::star::uno::Sequence< ::com::sun::star::text::TextColumn >& Columns ); 297 298 //XPropertySet 299 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ); 300 virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ); 301 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ); 302 virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ); 303 virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ); 304 virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 305 virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ); 306 307 //XServiceInfo 308 virtual rtl::OUString SAL_CALL getImplementationName(void); 309 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName); 310 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void); 311 GetSepLineWidth() const312 sal_Int32 GetSepLineWidth() const {return nSepLineWidth;} GetSepLineColor() const313 sal_Int32 GetSepLineColor() const {return nSepLineColor;} GetSepLineHeightRelative() const314 sal_Int8 GetSepLineHeightRelative() const {return nSepLineHeightRelative;} GetSepLineVertAlign() const315 sal_Int8 GetSepLineVertAlign() const {return nSepLineVertAlign;} GetSepLineIsOn() const316 sal_Bool GetSepLineIsOn() const {return bSepLineIsOn;} 317 IsAutomaticWidth() const318 sal_Bool IsAutomaticWidth() const {return bIsAutomaticWidth;} 319 }; 320 #endif 321