| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef _EDITOBJ_HXX |
| #define _EDITOBJ_HXX |
| |
| #include <tools/stream.hxx> |
| #include <tools/debug.hxx> |
| #include <rsc/rscsfx.hxx> |
| #include <svl/itemset.hxx> |
| #include <editeng/eeitem.hxx> |
| #include "editeng/editengdllapi.h" |
| |
| DBG_NAMEEX( EE_EditTextObject ) |
| |
| class SfxItemPool; |
| class SfxStyleSheetPool; |
| class SvxFieldItem; |
| class EECharAttribArray; |
| |
| #define EDTOBJ_SETTINGS_ULITEMSUMMATION 0x00000001 |
| #define EDTOBJ_SETTINGS_ULITEMFIRSTPARA 0x00000002 |
| |
| class EDITENG_DLLPUBLIC EditTextObject |
| { |
| private: |
| sal_uInt16 nWhich; |
| EDITENG_DLLPRIVATE EditTextObject& operator=( const EditTextObject& ); |
| |
| protected: |
| EditTextObject( sal_uInt16 nWhich ); |
| EditTextObject( const EditTextObject& r ); |
| |
| virtual void StoreData( SvStream& rOStream ) const; |
| virtual void CreateData( SvStream& rIStream ); |
| |
| public: |
| virtual ~EditTextObject(); |
| |
| sal_uInt16 Which() const { return nWhich; } |
| |
| virtual sal_uInt16 GetUserType() const; // Fuer OutlinerMode, der kann das aber nicht kompatibel speichern |
| virtual void SetUserType( sal_uInt16 n ); |
| |
| virtual sal_uLong GetObjectSettings() const; |
| virtual void SetObjectSettings( sal_uLong n ); |
| |
| virtual sal_Bool IsVertical() const; |
| virtual void SetVertical( sal_Bool bVertical ); |
| |
| virtual sal_uInt16 GetScriptType() const; |
| |
| virtual sal_uInt16 GetVersion() const; // Solange der Outliner keine Recordlaenge speichert |
| |
| virtual EditTextObject* Clone() const = 0; |
| |
| sal_Bool Store( SvStream& rOStream ) const; |
| static EditTextObject* Create( SvStream& rIStream, |
| SfxItemPool* pGlobalTextObjectPool = 0 ); |
| void Skip( SvStream& rIStream ); |
| |
| virtual sal_uInt16 GetParagraphCount() const; |
| |
| virtual XubString GetText( sal_uInt16 nParagraph ) const; |
| virtual void Insert( const EditTextObject& rObj, sal_uInt16 nPara ); |
| virtual void RemoveParagraph( sal_uInt16 nPara ); |
| virtual EditTextObject* CreateTextObject( sal_uInt16 nPara, sal_uInt16 nParas = 1 ) const; |
| |
| virtual sal_Bool HasPortionInfo() const; |
| virtual void ClearPortionInfo(); |
| |
| virtual sal_Bool HasOnlineSpellErrors() const; |
| |
| virtual sal_Bool HasCharAttribs( sal_uInt16 nWhich = 0 ) const; |
| virtual void GetCharAttribs( sal_uInt16 nPara, EECharAttribArray& rLst ) const; |
| |
| virtual sal_Bool RemoveCharAttribs( sal_uInt16 nWhich = 0 ); |
| virtual sal_Bool RemoveParaAttribs( sal_uInt16 nWhich = 0 ); |
| |
| virtual void MergeParaAttribs( const SfxItemSet& rAttribs, sal_uInt16 nStart = EE_CHAR_START, sal_uInt16 nEnd = EE_CHAR_END ); |
| |
| virtual sal_Bool IsFieldObject() const; |
| virtual const SvxFieldItem* GetField() const; |
| virtual sal_Bool HasField( TypeId aType = NULL ) const; |
| |
| virtual SfxItemSet GetParaAttribs( sal_uInt16 nPara ) const; |
| virtual void SetParaAttribs( sal_uInt16 nPara, const SfxItemSet& rAttribs ); |
| |
| virtual sal_Bool HasStyleSheet( const XubString& rName, SfxStyleFamily eFamily ) const; |
| virtual void GetStyleSheet( sal_uInt16 nPara, XubString& rName, SfxStyleFamily& eFamily ) const; |
| virtual void SetStyleSheet( sal_uInt16 nPara, const XubString& rName, const SfxStyleFamily& eFamily ); |
| virtual sal_Bool ChangeStyleSheets( const XubString& rOldName, SfxStyleFamily eOldFamily, |
| const XubString& rNewName, SfxStyleFamily eNewFamily ); |
| virtual void ChangeStyleSheetName( SfxStyleFamily eFamily, const XubString& rOldName, const XubString& rNewName ); |
| |
| bool operator==( const EditTextObject& rCompare ) const; |
| |
| // #i102062# |
| bool isWrongListEqual(const EditTextObject& rCompare) const; |
| }; |
| |
| #endif // _EDITOBJ_HXX |