Commits

Anonymous committed aee17d6 Merge

tl77: merge DEV300_m92

Comments (0)

Files changed (299)

dtrans/source/win32/ftransl/ftransl.cxx

 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-svim;windows_formatname=\"SVIM (StarView ImageMap)\"", "SVIM (StarView ImageMap)", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
 	// SOT_FORMATSTR_ID_XFA
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-xfa;windows_formatname=\"XFA (XOutDev FillAttr)\"", "XFA (XOutDev FillAttr)", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
-	// SOT_FORMATSTR_ID_EDITENGINE 
-	m_TranslTable.push_back(FormatEntry("application/x-openoffice-editengine;windows_formatname=\"EditEngineFormat\"", "EditEngineFormat", NULL, CF_INVALID, CPPUTYPE_DEFAULT)); 
-	// SOT_FORMATSTR_ID_INTERNALLINK_STATE
+    // SOT_FORMATSTR_ID_EDITENGINE_XML 
+    m_TranslTable.push_back(FormatEntry("application/x-openoffice-editengine;windows_formatname=\"EditEngineFormat\"", "EditEngineFormat", NULL, CF_INVALID, CPPUTYPE_DEFAULT)); 
+    // SOT_FORMATSTR_ID_INTERNALLINK_STATE
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-internallink-state;windows_formatname=\"StatusInfo vom SvxInternalLink\"", "StatusInfo vom SvxInternalLink", NULL, CF_INVALID, CPPUTYPE_DEFAULT)); 
 	// SOT_FORMATSTR_ID_SOLK
 	m_TranslTable.push_back(FormatEntry("application/x-openoffice-solk;windows_formatname=\"SOLK (StarOffice Link)\"", "SOLK (StarOffice Link)", NULL, CF_INVALID, CPPUTYPE_DEFAULT)); 

editeng/inc/editeng/adjitem.hxx

 	virtual USHORT			 GetEnumValue() const;
 	virtual void			 SetEnumValue( USHORT nNewVal );
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 	virtual USHORT			 GetVersion( USHORT nFileVersion ) const;
 
+    SfxPoolItem*     CreateItem(SvStream &, USHORT) const;
+    SvStream&        StoreItem(SvStream &, USHORT nItemVersion ) const;
+
 	inline void SetOneWord( const SvxAdjust eType )
 	{
 		bOneBlock  = eType == SVX_ADJUST_BLOCK;

editeng/inc/editeng/akrnitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/blnkitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,
 									SfxMapUnit ePresMetric,

editeng/inc/editeng/bolnitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
     virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-    virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
-    virtual SvStream&        Store(SvStream &, USHORT nItemVersion ) const;
+    
     virtual int              ScaleMetrics( long nMult, long nDiv );
     virtual int              HasMetrics() const;
 
+
+    SfxPoolItem*     CreateItem(SvStream &, USHORT) const;
+    SvStream&        StoreItem(SvStream &, USHORT nItemVersion ) const;
+
     const   SvxBorderLine*  GetLine     () const { return pLine; }
     void                    SetLine     ( const SvxBorderLine *pNew );
 

editeng/inc/editeng/boxitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 	virtual USHORT			 GetVersion( USHORT nFileVersion ) const;
 
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;
 
+    SfxPoolItem*     CreateItem(SvStream &, USHORT) const;
+    SvStream&        StoreItem(SvStream &, USHORT nItemVersion ) const;
+
 	const	SvxBorderLine* GetTop()    const { return pTop; }
 	const	SvxBorderLine* GetBottom() const { return pBottom; }
 	const	SvxBorderLine* GetLeft()   const { return pLeft; }
 	virtual	sal_Bool			 PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion ) const;
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;
 

editeng/inc/editeng/brkitem.hxx

 	virtual String			 GetValueTextByPos( USHORT nPos ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SvStream&		 Store( SvStream& , USHORT nItemVersion ) const;
 	virtual USHORT			 GetVersion( USHORT nFileVersion ) const;
-	virtual SfxPoolItem*	 Create( SvStream&, USHORT ) const;
 	virtual USHORT			 GetValueCount() const;
 
 	// MS VC4.0 kommt durcheinander

editeng/inc/editeng/brshitem.hxx

 	virtual	sal_Bool			 PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
 
 	virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create( SvStream&, USHORT nVersion ) const;
-	virtual SvStream&		 Store( SvStream& , USHORT nItemVersion ) const;
 	virtual USHORT			 GetVersion( USHORT nFileVersion ) const;
 
+    SfxPoolItem*     CreateItem( SvStream&, USHORT nVersion ) const;
+    SvStream&        StoreItem( SvStream& , USHORT nItemVersion ) const;
+
 	const Color& 	GetColor() const 				{ return aColor; }
 	Color& 			GetColor()  					{ return aColor; }
 	void			SetColor( const Color& rCol)  	{ aColor = rCol; }

editeng/inc/editeng/bulitem.hxx

     ~SvxBulletItem();
 
     virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-    virtual SfxPoolItem*    Create( SvStream&, USHORT nVersion ) const;
-    virtual SvStream&       Store( SvStream & , USHORT nItemVersion ) const;
 
     String              GetFullText() const;
     sal_Unicode         GetSymbol() const { return cSymbol; }

editeng/inc/editeng/charreliefitem.hxx

                        const sal_uInt16 nId );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream& 		Store(SvStream & rStrm, USHORT nIVer) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual String			GetValueTextByPos( USHORT nPos ) const;

editeng/inc/editeng/charrotateitem.hxx

                        const sal_uInt16 nId );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream& 		Store(SvStream & rStrm, USHORT nIVer) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/charscaleitem.hxx

                             const sal_uInt16 nId );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store( SvStream& , USHORT nItemVersion ) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/cmapitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
 	virtual USHORT          GetValueCount() const;
 

editeng/inc/editeng/cntritem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
-
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,
 									SfxMapUnit ePresMetric,
                                     String &rText, const IntlWrapper * = 0 ) const;
 
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem(SvStream &, USHORT nItemVersion) const;
+
 	inline SvxContourItem& operator=(const SvxContourItem& rCont)
 	{
 		SetValue(rCont.GetValue());

editeng/inc/editeng/colritem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion) const;
+
+    SfxPoolItem*     CreateItem(SvStream &, USHORT) const;
+    SvStream&        StoreItem(SvStream &, USHORT nItemVersion) const;
 
 	inline SvxColorItem& operator=(const SvxColorItem& rColor)
 	{

editeng/inc/editeng/crsditem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
 	virtual USHORT          GetValueCount() const;
 	virtual	sal_Bool        	 QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
 	virtual BOOL			GetBoolValue() const;
 	virtual void			SetBoolValue( BOOL bVal );
 
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem(SvStream &, USHORT nItemVersion) const;
+
 	inline SvxCrossedOutItem& operator=(const SvxCrossedOutItem& rCross)
 		{
 			SetValue( rCross.GetValue() );

editeng/inc/editeng/cscoitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion) const;
 
 	inline rtl_TextEncoding&	GetCharSet() { return eFrom; }
 	inline rtl_TextEncoding 	GetCharSet() const { return eFrom; }

editeng/inc/editeng/editdata.hxx

 class SvParser;
 class SvxFieldItem;
 
-enum EETextFormat		{ EE_FORMAT_TEXT = 0x20, EE_FORMAT_RTF, EE_FORMAT_BIN = 0x31, EE_FORMAT_HTML, EE_FORMAT_XML };
+enum EETextFormat       { EE_FORMAT_TEXT = 0x20, EE_FORMAT_RTF, EE_FORMAT_BIN = 0x31, EE_FORMAT_HTML, EE_FORMAT_XML, EE_FORMAT_ODF };
 enum EEHorizontalTextDirection { EE_HTEXTDIR_DEFAULT, EE_HTEXTDIR_L2R, EE_HTEXTDIR_R2L };
 enum EESelectionMode	{ EE_SELMODE_STD, EE_SELMODE_TXTONLY, EE_SELMODE_HIDDEN };
     // EE_SELMODE_HIDDEN can be used to completely hide the selection. This is usefull e.g. when you want show the selection

editeng/inc/editeng/editeng.hxx

   namespace lang {
     struct Locale;
   }
+  namespace frame {
+    class XModel;
+  }  
+  namespace text {
+    class XText;
+  }  
 }}}
+
 namespace svx{
 struct SpellPortion;
 typedef std::vector<SpellPortion> SpellPortions;
     /// specifies if auto-correction should capitalize the first word or not (default is on)
     void            SetFirstWordCapitalization( BOOL bCapitalize );
     BOOL            IsFirstWordCapitalization() const;
+
+    /// get/set the Uno model of the docucumt (so far only needed to write new clipboard format EE_FORMAT_ODF)
+    void            SetUnoModel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > &xModel );
+    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > GetUnoModel() const;
+
+    virtual com::sun::star::uno::Reference< com::sun::star::text::XText >   GetUnoText( const ESelection& rSel );
 };
 
 #endif // _MyEDITENG_HXX

editeng/inc/editeng/editobj.hxx

 
 	bool				operator==( const EditTextObject& rCompare ) const;
 
+    bool                EETextObjEqual( const EditTextObject& rCompare ) const;
+
     // #i102062#
     bool isWrongListEqual(const EditTextObject& rCompare) const;
 };

editeng/inc/editeng/emphitem.hxx

                                     const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual	sal_Bool        QueryValue( com::sun::star::uno::Any& rVal,

editeng/inc/editeng/escpitem.hxx

 	virtual	sal_Bool			 PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion) const;
 
 	inline void SetEscapement( const SvxEscapement eNew )
 	{

editeng/inc/editeng/fhgtitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion) const;
 	virtual USHORT			 GetVersion( USHORT nItemVersion) const;
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;
 
-	inline SvxFontHeightItem& operator=(const SvxFontHeightItem& rSize)
+    SfxPoolItem*     CreateItem(SvStream &, USHORT) const;
+    SvStream&        StoreItem(SvStream &, USHORT nItemVersion) const;
+    
+    inline SvxFontHeightItem& operator=(const SvxFontHeightItem& rSize)
 		{
 			SetHeightValue( rSize.GetHeight() );
 			SetProp( rSize.GetProp(), ePropUnit );

editeng/inc/editeng/flditem.hxx

 
 	virtual int 			operator==( const SfxPoolItem& ) const;
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create( SvStream&, USHORT nVer ) const;
-	virtual SvStream&		Store( SvStream& , USHORT nItemVersion ) const;
 
 	const SvxFieldData*		GetField() const 	{ return pField; }
 	static SvClassManager&	GetClassManager();

editeng/inc/editeng/fontitem.hxx

 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual int 			 operator==( const SfxPoolItem& ) const;
 	virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion) const;
 	virtual	sal_Bool        	 QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
 	virtual	sal_Bool			 PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
 
 									SfxMapUnit ePresMetric,
                                     String &rText, const IntlWrapper * = 0 ) const;
 
+    SfxPoolItem*     CreateItem(SvStream &, USHORT) const;
+    SvStream&        StoreItem(SvStream &, USHORT nItemVersion) const;
+
 	// ZugriffsMethoden:
 	inline String &GetFamilyName() { return aFamilyName; }
 	inline const String &GetFamilyName() const { return aFamilyName; }

editeng/inc/editeng/forbiddenruleitem.hxx

                         const sal_uInt16 nId  );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/frmdiritem.hxx

 	virtual ~SvxFrameDirectionItem();
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream& 		Store(SvStream & rStrm, USHORT nIVer) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 	virtual int 			operator==( const SfxPoolItem& ) const;
 

editeng/inc/editeng/fwdtitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion) const;
-	virtual int				 ScaleMetrics( long nMult, long nDiv );
+    
+    virtual int              ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;
 
 	inline SvxFontWidthItem& operator=(const SvxFontWidthItem& rItem )

editeng/inc/editeng/hngpnctitem.hxx

                         const sal_uInt16 nId  );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/hyznitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 
 	inline void SetHyphen( const BOOL bNew ) { bHyphen = bNew; }
 	inline BOOL IsHyphen() const { return bHyphen; }

editeng/inc/editeng/keepitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create( SvStream&, USHORT ) const;
-	virtual SvStream&		Store( SvStream& , USHORT nItemVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/kernitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual int				ScaleMetrics( long nMult, long nDiv );
 	virtual	int				HasMetrics() const;
 

editeng/inc/editeng/langitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual USHORT          GetValueCount() const;
 
 	inline SvxLanguageItem& operator=(const SvxLanguageItem& rLang)

editeng/inc/editeng/lrspitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 	virtual USHORT			 GetVersion( USHORT nFileVersion ) const;
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;

editeng/inc/editeng/lspcitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 
 	// Methoden zum Abfragen und Aendern
 	// Interlinespace wird zur Hoehe addiert.

editeng/inc/editeng/nhypitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/nlbkitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/numitem.hxx

                      SvxNumPositionAndSpaceMode ePositionAndSpaceMode = LABEL_WIDTH_AND_POSITION );
     // <--
 	SvxNumberFormat(const SvxNumberFormat& rFormat);
-    SvxNumberFormat(SvStream &rStream);
-
 	virtual ~SvxNumberFormat();
 
-    SvStream&       Store(SvStream &rStream, FontToSubsFontConverter pConverter);
 
 	SvxNumberFormat& operator=( const SvxNumberFormat&  );
 	BOOL 			operator==( const SvxNumberFormat&  ) const;
                                 = SvxNumberFormat::LABEL_WIDTH_AND_POSITION );
     // <--
 	SvxNumRule(const SvxNumRule& rCopy);
-	SvxNumRule(SvStream &rStream);
 	virtual ~SvxNumRule();
 
 	int              		operator==( const SvxNumRule& ) const;
 
 	SvxNumRule& 			operator=( const SvxNumRule&  );
 
-	SvStream&               Store(SvStream &rStream);
 
 	const SvxNumberFormat* 	Get(USHORT nLevel)const;
 	const SvxNumberFormat& 	GetLevel(USHORT nLevel)const;
 	virtual ~SvxNumBulletItem();
 
 	virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-    virtual SfxPoolItem*     Create(SvStream &, USHORT) const;
 	USHORT  GetVersion( USHORT nFileVersion ) const;
-    virtual SvStream&        Store(SvStream &, USHORT nItemVersion ) const;
 	virtual int              operator==( const SfxPoolItem& ) const;
 
 	SvxNumRule* 			GetNumRule() const {return pNumRule;}

editeng/inc/editeng/opaqitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/optitems.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create( SvStream& rStrm, sal_uInt16 nVer ) const;
-	virtual SvStream&		 Store( SvStream& rStrm, sal_uInt16 ) const;
 
 	inline sal_uInt8 &GetMinLead() { return nMinLead; }
 	inline sal_uInt8 GetMinLead() const { return nMinLead; }

editeng/inc/editeng/orphitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/outliner.hxx

 class EditEngine;
 class SvKeyValueIterator;
 class SvxForbiddenCharactersTable;
+
 #include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/frame/XModel.hpp>
 
 #include <vos/ref.hxx>
 #include <editeng/svxfont.hxx>
 	BOOL            ShouldCreateBigTextObject() const;
 
 	const EditEngine& GetEditEngine() const { return *((EditEngine*)pEditEngine); }
+    
+    void              SetEditEngineUnoModel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > &xModel );
 
 	// this is needed for StarOffice Api
 	void SetLevelDependendStyleSheet( USHORT nPara );

editeng/inc/editeng/paravertalignitem.hxx

                        const sal_uInt16 nId  );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream& 		Store(SvStream & rStrm, USHORT nIVer) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/pbinitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create( SvStream &, USHORT ) const;
-	virtual SvStream&		Store( SvStream &, USHORT nItemVersion ) const;
 	virtual SfxItemPresentation	GetPresentation( SfxItemPresentation ePres,
 											 SfxMapUnit eCoreMetric,
 											 SfxMapUnit ePresMetric,

editeng/inc/editeng/pgrditem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/postitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
 	virtual USHORT          GetValueCount() const;
 
 	virtual BOOL			GetBoolValue() const;
 	virtual void			SetBoolValue( BOOL bVal );
 
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem(SvStream &, USHORT nItemVersion) const;
+
 	inline SvxPostureItem& operator=(const SvxPostureItem& rPost) {
 		SetValue( rPost.GetValue() );
 		return *this;

editeng/inc/editeng/prntitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/protitem.hxx

 
 
 	virtual SfxPoolItem*     Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 
 	BOOL IsCntntProtected() const { return bCntnt; }
 	BOOL IsSizeProtected()  const { return bSize;  }

editeng/inc/editeng/prszitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/scriptspaceitem.hxx

                         const sal_uInt16 nId  );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,

editeng/inc/editeng/scripttypeitem.hxx

 
 // include ---------------------------------------------------------------
 
+#include "editeng/scripttypeitem.hxx"
+
 #include <svl/intitem.hxx>
 #include <svl/languageoptions.hxx>
 #include <editeng/editengdllapi.h>
 	SvxScriptSetItem( USHORT nSlotId, SfxItemPool& rPool );
 
 	virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem* Create( SvStream &, USHORT nVersion ) const;
 
     static const SfxPoolItem* GetItemOfScriptSet( const SfxItemSet& rSet,
 													USHORT nWhich );

editeng/inc/editeng/shaditem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;
 

editeng/inc/editeng/shdditem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
-
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,
 									SfxMapUnit ePresMetric,
                                     String &rText, const IntlWrapper * = 0 ) const;
 
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem(SvStream &, USHORT nItemVersion) const;
+
 	inline SvxShadowedItem& operator=(const SvxShadowedItem& rShadow) {
 			SetValue(rShadow.GetValue());
 			return *this;

editeng/inc/editeng/sizeitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;
 

editeng/inc/editeng/spltitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create( SvStream&, USHORT ) const;
-	virtual SvStream&		Store( SvStream& , USHORT nItemVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/tstpitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create( SvStream&, USHORT ) const;
-	virtual SvStream&		 Store( SvStream& , USHORT nItemVersion ) const;
 
     using SvxTabStopArr::Insert;
     using SvxTabStopArr::Remove;

editeng/inc/editeng/twolinesitem.hxx

 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual int             operator==( const SfxPoolItem& ) const;
 	virtual SfxPoolItem*	Clone( SfxItemPool* pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT nVer) const;
-	virtual SvStream&		Store(SvStream &, USHORT nIVer) const;
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,
 									SfxMapUnit ePresMetric,

editeng/inc/editeng/udlnitem.hxx

                             String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
 	virtual USHORT          GetValueCount() const;
 
                       const USHORT nId );
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
+
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem( SvStream &, USHORT nItemVersion ) const;
 };
 
 // class SvxOverlineItem ------------------------------------------------
                      const USHORT nId );
 
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
+
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem( SvStream &, USHORT nItemVersion ) const;
 };
 
 #endif // #ifndef _SVX_UDLNITEM_HXX

editeng/inc/editeng/ulspitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	 Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	 Create(SvStream &, USHORT) const;
-	virtual SvStream&		 Store(SvStream &, USHORT nItemVersion ) const;
 	virtual USHORT			 GetVersion( USHORT nFileVersion ) const;
 	virtual int				 ScaleMetrics( long nMult, long nDiv );
 	virtual	int				 HasMetrics() const;

editeng/inc/editeng/wghtitem.hxx

                                     String &rText, const IntlWrapper * = 0 ) const;
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 	virtual String			GetValueTextByPos( USHORT nPos ) const;
 	virtual USHORT			GetValueCount() const;
 
 	virtual BOOL			GetBoolValue() const;
 	virtual void			SetBoolValue( BOOL bVal );
 
+    SfxPoolItem*    CreateItem(SvStream &, USHORT) const;
+    SvStream&       StoreItem(SvStream &, USHORT nItemVersion) const;
+
 	inline SvxWeightItem& operator=(const SvxWeightItem& rWeight) {
 			SetValue( rWeight.GetValue() );
 			return *this;

editeng/inc/editeng/widwitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create( SvStream &, USHORT ) const;
-	virtual SvStream&		Store( SvStream & , USHORT nItemVersion ) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editeng/writingmodeitem.hxx

 	SvxWritingModeItem& operator=( const SvxWritingModeItem& rItem );
 
 	virtual SfxPoolItem*	Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*	Create(SvStream &, USHORT) const;
-	virtual SvStream& 		Store(SvStream & rStrm, USHORT nIVer) const;
 	virtual USHORT			GetVersion( USHORT nFileVersion ) const;
 	virtual int 			operator==( const SfxPoolItem& ) const;
 

editeng/inc/editeng/wrlmitem.hxx

 
 	// "pure virtual Methoden" vom SfxPoolItem
 	virtual SfxPoolItem*    Clone( SfxItemPool *pPool = 0 ) const;
-	virtual SfxPoolItem*    Create(SvStream &, USHORT) const;
-	virtual SvStream&		Store(SvStream &, USHORT nItemVersion) const;
 
 	virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
 									SfxMapUnit eCoreMetric,

editeng/inc/editsource.hxx

+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_EDITSOURCE_HXX
+#define _SVX_EDITSOURCE_HXX
+
+#include <editeng/unoedsrc.hxx>
+
+//////////////////////////////////////////////////////////////////////
+
+class EditEngine;
+class SvxEditEngineSourceImpl;
+
+class SvxEditEngineSource : public SvxEditSource
+{
+public:
+	SvxEditEngineSource( EditEngine* pEditEngine );
+	virtual ~SvxEditEngineSource();
+
+	virtual SvxEditSource*		Clone() const;
+	virtual SvxTextForwarder*	GetTextForwarder();
+	virtual void				UpdateData();
+
+private:
+	SvxEditEngineSource( SvxEditEngineSourceImpl* pImpl );
+
+	SvxEditEngineSourceImpl*	mpImpl;
+};
+
+//////////////////////////////////////////////////////////////////////
+
+class Outliner;
+class SvxOutlinerSourceImpl;
+
+class SvxOutlinerSource : public SvxEditSource
+{
+public:
+    SvxOutlinerSource( Outliner* pOutliner );
+    virtual ~SvxOutlinerSource();
+
+    virtual SvxEditSource*      Clone() const;
+    virtual SvxTextForwarder*   GetTextForwarder();
+    virtual void                UpdateData();
+
+private:
+    SvxOutlinerSource( SvxOutlinerSourceImpl* pImpl );
+
+    SvxOutlinerSourceImpl*    mpImpl;
+};
+
+//////////////////////////////////////////////////////////////////////
+
+#endif

editeng/inc/editxml.hxx

 class SvStream;
 struct ESelection;
 
+namespace com {
+namespace sun {
+namespace star {
+namespace frame {
+    class XModel;
+}}}}
+
+
 /** this function exports the selected content of an edit engine into a xml stream*/
 extern void SvxWriteXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection& rSel );
 
 /** this function imports xml from the stream into the selected of an edit engine */
 extern void SvxReadXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection& rSel );
 
+// read and write ODF stream from and to the selection
+extern void SvxWriteODF( EditEngine& rEditEngine, SvStream& rStream, const ESelection& rSel );
+extern void SvxReadODF( EditEngine& rEditEngine, SvStream& rStream, const ESelection& rSel );
+
 #endif
 
 

editeng/source/editeng/editdoc.cxx

 	: SfxItemPool( String( "EditEngineItemPool", RTL_TEXTENCODING_ASCII_US ), EE_ITEMS_START, EE_ITEMS_END,
 					aItemInfos, 0, bPersistenRefCounts )
 {
-	SetVersionMap( 1, 3999, 4015, aV1Map );
-	SetVersionMap( 2, 3999, 4019, aV2Map );
-	SetVersionMap( 3, 3997, 4020, aV3Map );
-	SetVersionMap( 4, 3994, 4022, aV4Map );
-	SetVersionMap( 5, 3994, 4037, aV5Map );
-
 	DBG_ASSERT( EE_DLL(), "EditDLL?!" );
 	SfxPoolItem** ppDefItems = EE_DLL()->GetGlobalData()->GetDefItems();
 	SetDefaults( ppDefItems );
 {
 }
 
-SvStream& EditEngineItemPool::Store( SvStream& rStream ) const
-{
-	// Bei einem 3.1-Export muess ein Hack eingebaut werden, da BUG im
-	// SfxItemSet::Load, aber nicht nachtraeglich in 3.1 fixbar.
 
-	// Der eingestellte Range muss nach Store erhalten bleiben, weil dann
-	// erst die ItemSets gespeichert werden...
-
-	long nVersion = rStream.GetVersion();
-	BOOL b31Format = ( nVersion && ( nVersion <= SOFFICE_FILEFORMAT_31 ) )
-						? TRUE : FALSE;
-
-	EditEngineItemPool* pThis = (EditEngineItemPool*)this;
-	if ( b31Format )
-		pThis->SetStoringRange( 3997, 4022 );
-	else
-		pThis->SetStoringRange( EE_ITEMS_START, EE_ITEMS_END );
-
-	return SfxItemPool::Store( rStream );
-}

editeng/source/editeng/editdoc.hxx

 						EditEngineItemPool( BOOL bPersistenRefCounts );
 protected:
 						virtual ~EditEngineItemPool();
-public:
-
-	virtual SvStream&	Store( SvStream& rStream ) const;
 };
 
 #endif // _EDITDOC_HXX

editeng/source/editeng/editeng.cxx

     return pImpEditEngine->IsFirstWordCapitalization();
 }
 
-
+void EditEngine::SetUnoModel( const uno::Reference< frame::XModel > &xModel )
+{
+    pImpEditEngine->SetUnoModel( xModel );
+}
+    
+uno::Reference< frame::XModel > EditEngine::GetUnoModel() const
+{
+    return pImpEditEngine->GetUnoModel();
+}
+    
+uno::Reference< text::XText > EditEngine::GetUnoText( const ESelection& rSel )
+{
+    return pImpEditEngine->GetUnoText( rSel );
+}
+    
 // ---------------------------------------------------
 
 
 
     return *this;
 }
+

editeng/source/editeng/editobj.cxx

 	return false;
 }
 
+
+bool ContentInfo::EETextObjEqual( const ContentInfo& rCompare ) const
+{
+    // similar to operator== but without comparing items
+    if( aText   == rCompare.aText && 
+        aStyle  == rCompare.aStyle  &&
+        eFamily == rCompare.eFamily )
+    {
+        return true;
+    }
+
+    return false;
+}
+    
+
 EditTextObject::EditTextObject( USHORT n)
 {
 	DBG_CTOR( EE_EditTextObject, 0 );
 	EditTextObject* pTxtObj = NULL;
 	switch ( nWhich )
 	{
-		case 0x22 /*BIN300*/:		pTxtObj = new BinTextObject( 0 );
-									((BinTextObject*)pTxtObj)->CreateData300( rIStream );
-									break;
 		case EE_FORMAT_BIN:			pTxtObj = new BinTextObject( pGlobalTextObjectPool );
 									pTxtObj->CreateData( rIStream );
 									break;
 	return static_cast< const BinTextObject* >( this )->operator==( static_cast< const BinTextObject& >( rCompare ) );
 }
 
+bool EditTextObject::EETextObjEqual( const EditTextObject& rCompare ) const
+{
+    return static_cast< const BinTextObject* >( this )->EETextObjEqual( static_cast< const BinTextObject& >( rCompare ) );
+}    
+
 // #i102062#
 bool EditTextObject::isWrongListEqual(const EditTextObject& rCompare) const
 {
 	ImpChangeStyleSheets( rOldName, eFamily, rNewName, eFamily );
 }
 
-void __EXPORT BinTextObject::StoreData( SvStream& rOStream ) const
-{
-	USHORT nVer = 602;
-	rOStream << nVer;
-
-	rOStream << bOwnerOfPool;
-
-	// Erst den Pool speichern, spaeter nur noch Surregate
-	if ( bOwnerOfPool )
-	{
-		GetPool()->SetFileFormatVersion( SOFFICE_FILEFORMAT_50 );
-		GetPool()->Store( rOStream );
-	}
-
-	// Aktuelle Zeichensatz speichern...
-	// #90477# GetSOStoreTextEncoding: Bug in 5.2, when default char set is multi byte text encoding
-	rtl_TextEncoding eEncoding = GetSOStoreTextEncoding( gsl_getSystemTextEncoding(), (USHORT) rOStream.GetVersion() );
-	rOStream << (USHORT) eEncoding;
-
-	// Die Anzahl der Absaetze...
-	USHORT nParagraphs = GetContents().Count();
-	rOStream << nParagraphs;
-
-	char cFeatureConverted = ByteString( CH_FEATURE, eEncoding ).GetChar(0);
-
-	// Die einzelnen Absaetze...
-	for ( USHORT nPara = 0; nPara < nParagraphs; nPara++ )
-	{
-		ContentInfo* pC = GetContents().GetObject( nPara );
-
-		// Text...
-		ByteString aText( pC->GetText(), eEncoding );
-
-        // Symbols?
-        BOOL bSymbolPara = FALSE;
-		if ( pC->GetParaAttribs().GetItemState( EE_CHAR_FONTINFO ) == SFX_ITEM_ON )
-        {
-            const SvxFontItem& rFontItem = (const SvxFontItem&)pC->GetParaAttribs().Get( EE_CHAR_FONTINFO );
-            if ( rFontItem.GetCharSet() == RTL_TEXTENCODING_SYMBOL )
-            {
-		        aText = ByteString( pC->GetText(), RTL_TEXTENCODING_SYMBOL );
-                bSymbolPara = TRUE;
-            }
-        }
-		for ( USHORT nA = 0; nA < pC->GetAttribs().Count(); nA++ )
-		{
-			XEditAttribute* pAttr = pC->GetAttribs().GetObject( nA );
-
-			if ( pAttr->GetItem()->Which() == EE_CHAR_FONTINFO )
-			{
-                const SvxFontItem& rFontItem = (const SvxFontItem&)*pAttr->GetItem();
-                if ( ( !bSymbolPara && ( rFontItem.GetCharSet() == RTL_TEXTENCODING_SYMBOL ) )
-                      || ( bSymbolPara && ( rFontItem.GetCharSet() != RTL_TEXTENCODING_SYMBOL ) ) )
-                {
-                    // Not correctly converted
-                    String aPart( pC->GetText(), pAttr->GetStart(), pAttr->GetEnd() - pAttr->GetStart() );
-                    ByteString aNew( aPart, rFontItem.GetCharSet() );
-                    aText.Erase( pAttr->GetStart(), pAttr->GetEnd() - pAttr->GetStart() );
-                    aText.Insert( aNew, pAttr->GetStart() );
-                }
-
-                // #88414# Convert StarSymbol back to StarBats
-                FontToSubsFontConverter hConv = CreateFontToSubsFontConverter( rFontItem.GetFamilyName(), FONTTOSUBSFONT_EXPORT | FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS );
-                if ( hConv )
-                {
-                    // Don't create a new Attrib with StarBats font, MBR changed the
-                    // SvxFontItem::Store() to store StarBats instead of StarSymbol!
-                    for ( USHORT nChar = pAttr->GetStart(); nChar < pAttr->GetEnd(); nChar++ )
-                    {
-                        sal_Unicode cOld = pC->GetText().GetChar( nChar );
-                        char cConv = ByteString::ConvertFromUnicode( ConvertFontToSubsFontChar( hConv, cOld ), RTL_TEXTENCODING_SYMBOL );
-                        if ( cConv )
-                            aText.SetChar( nChar, cConv );
-                    }
-
-                    DestroyFontToSubsFontConverter( hConv );
-                }
-			}
-		}
-
-        // #88414# Convert StarSymbol back to StarBats
-        // StarSymbol as paragraph attribute or in StyleSheet?
-
-        FontToSubsFontConverter hConv = NULL;
-        if ( pC->GetParaAttribs().GetItemState( EE_CHAR_FONTINFO ) == SFX_ITEM_ON )
-        {
-            hConv = CreateFontToSubsFontConverter( ((const SvxFontItem&)pC->GetParaAttribs().Get( EE_CHAR_FONTINFO )).GetFamilyName(), FONTTOSUBSFONT_EXPORT | FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS );
-        }
-/* cl removed because not needed anymore since binfilter
-
-        else if ( pC->GetStyle().Len() && pC->GetLoadStoreTempInfos() )
-        {
-            hConv = pC->GetLoadStoreTempInfos()->hOldSymbolConv_Store;
-        }
-*/
-        if ( hConv )
-        {
-            for ( USHORT nChar = 0; nChar < pC->GetText().Len(); nChar++ )
-            {
-                if ( !pC->GetAttribs().FindAttrib( EE_CHAR_FONTINFO, nChar ) )
-                {
-                    sal_Unicode cOld = pC->GetText().GetChar( nChar );
-                    char cConv = ByteString::ConvertFromUnicode( ConvertFontToSubsFontChar( hConv, cOld ), RTL_TEXTENCODING_SYMBOL );
-                    if ( cConv )
-                        aText.SetChar( nChar, cConv );
-                }
-            }
-
-            DestroyFontToSubsFontConverter( hConv );
-
-        }
-
-
-		// Convert CH_FEATURE to CH_FEATURE_OLD
-		aText.SearchAndReplaceAll( cFeatureConverted, CH_FEATURE_OLD );
-		rOStream.WriteByteString( aText );
-
-		// StyleName und Family...
-		rOStream.WriteByteString( ByteString( pC->GetStyle(), eEncoding ) );
-		rOStream << (USHORT)pC->GetFamily();
-
-		// Absatzattribute...
-		pC->GetParaAttribs().Store( rOStream );
-
-		// Die Anzahl der Attribute...
-		USHORT nAttribs = pC->GetAttribs().Count();
-		rOStream << nAttribs;
-
-		// Und die einzelnen Attribute
-		// Items als Surregate => immer 8 Byte pro Attrib
-		// Which = 2; Surregat = 2; Start = 2; End = 2;
-		for ( USHORT nAttr = 0; nAttr < nAttribs; nAttr++ )
-		{
-			XEditAttribute* pX = pC->GetAttribs().GetObject( nAttr );
-
-			rOStream << pX->GetItem()->Which();
-			GetPool()->StoreSurrogate( rOStream, pX->GetItem() );
-			rOStream << pX->GetStart();
-			rOStream << pX->GetEnd();
-		}
-	}
-
-	// Ab 400:
-	rOStream << nMetric;
-
-	// Ab 600
-	rOStream << nUserType;
-	rOStream << nObjSettings;
-
-	// Ab 601
-	rOStream << bVertical;
-
-	// Ab 602
-	rOStream << nScriptType;
-
-	rOStream << bStoreUnicodeStrings;
-	if ( bStoreUnicodeStrings )
-	{
-		for ( USHORT nPara = 0; nPara < nParagraphs; nPara++ )
-		{
-			ContentInfo* pC = GetContents().GetObject( nPara );
-			USHORT nL = pC->GetText().Len();
-			rOStream << nL;
-			rOStream.Write( pC->GetText().GetBuffer(), nL*sizeof(sal_Unicode) );
-
-            // #91575# StyleSheetName must be Unicode too!
-            // Copy/Paste from EA3 to BETA or from BETA to EA3 not possible, not needed...
-            // If needed, change nL back to ULONG and increase version...
-            nL = pC->GetStyle().Len();
-			rOStream << nL;
-			rOStream.Write( pC->GetStyle().GetBuffer(), nL*sizeof(sal_Unicode) );
-		}
-	}
-}
-
-void __EXPORT BinTextObject::CreateData( SvStream& rIStream )
-{
-	rIStream >> nVersion;
-
-	// Das Textobject wurde erstmal mit der aktuellen Einstellung
-	// von pTextObjectPool erzeugt.
-	BOOL bOwnerOfCurrent = bOwnerOfPool;
-	rIStream >> bOwnerOfPool;
-
-	if ( bOwnerOfCurrent && !bOwnerOfPool )
-	{
-		// Es wurde ein globaler Pool verwendet, mir jetzt nicht uebergeben,
-		// aber ich brauche ihn!
-		DBG_ERROR( "Man gebe mir den globalen TextObjectPool!" );
-		return;
-	}
-	else if ( !bOwnerOfCurrent && bOwnerOfPool )
-	{
-		// Es soll ein globaler Pool verwendet werden, aber dieses
-		// Textobject hat einen eigenen.
-		pPool =	EditEngine::CreatePool();
-	}
-
-	if ( bOwnerOfPool )
-		GetPool()->Load( rIStream );
-
-	// CharSet, in dem gespeichert wurde:
-	USHORT nCharSet;
-	rIStream >> nCharSet;
-
-	rtl_TextEncoding eSrcEncoding = GetSOLoadTextEncoding( (rtl_TextEncoding)nCharSet, (USHORT)rIStream.GetVersion() );
-
-	// Die Anzahl der Absaetze...
-	USHORT nParagraphs;
-	rIStream >> nParagraphs;
-
-	// Die einzelnen Absaetze...
-	for ( ULONG nPara = 0; nPara < nParagraphs; nPara++ )
-	{
-		ContentInfo* pC = CreateAndInsertContent();
-
-		// Der Text...
-		ByteString aByteString;
-		rIStream.ReadByteString( aByteString );
-		pC->GetText() = String( aByteString, eSrcEncoding );
-
-		// StyleName und Family...
-		rIStream.ReadByteString( pC->GetStyle(), eSrcEncoding );
-		USHORT nStyleFamily;
-		rIStream >> nStyleFamily;
-		pC->GetFamily() = (SfxStyleFamily)nStyleFamily;
-
-		// Absatzattribute...
-		pC->GetParaAttribs().Load( rIStream );
-
-		// Die Anzahl der Attribute...
-		USHORT nAttribs;
-		rIStream >> nAttribs;
-
-		// Und die einzelnen Attribute
-		// Items als Surregate => immer 8 Byte pro Attrib
-		// Which = 2; Surregat = 2; Start = 2; End = 2;
-        USHORT nAttr;
-		for ( nAttr = 0; nAttr < nAttribs; nAttr++ )
-		{
-			USHORT _nWhich, nStart, nEnd;
-			const SfxPoolItem* pItem;
-
-			rIStream >> _nWhich;
-			_nWhich = pPool->GetNewWhich( _nWhich );
-			pItem = pPool->LoadSurrogate( rIStream, _nWhich, 0 );
-			rIStream >> nStart;
-			rIStream >> nEnd;
-			if ( pItem )
-			{
-				if ( pItem->Which() == EE_FEATURE_NOTCONV )
-				{
-					pC->GetText().SetChar( nStart, ByteString::ConvertToUnicode( aByteString.GetChar( nStart ), ((SvxCharSetColorItem*)pItem)->GetCharSet() ) );
-				}
-				else
-				{
-					XEditAttribute* pAttr = new XEditAttribute( *pItem, nStart, nEnd );
-					pC->GetAttribs().Insert( pAttr, pC->GetAttribs().Count() );
-
-					if ( ( _nWhich >= EE_FEATURE_START ) && ( _nWhich <= EE_FEATURE_END ) )
-					{
-						// Convert CH_FEATURE to CH_FEATURE_OLD
-						DBG_ASSERT( (BYTE) aByteString.GetChar( nStart ) == CH_FEATURE_OLD, "CreateData: CH_FEATURE expected!" );
-						if ( (BYTE) aByteString.GetChar( nStart ) == CH_FEATURE_OLD )
-							pC->GetText().SetChar( nStart, CH_FEATURE );
-					}
-				}
-			}
-		}
-
-        // But check for paragraph and character symbol attribs here,
-        // FinishLoad will not be called in OpenOffice Calc, no StyleSheets...
-
-        BOOL bSymbolPara = FALSE;
-        if ( pC->GetParaAttribs().GetItemState( EE_CHAR_FONTINFO ) == SFX_ITEM_ON )
-        {
-            const SvxFontItem& rFontItem = (const SvxFontItem&)pC->GetParaAttribs().Get( EE_CHAR_FONTINFO );
-            if ( rFontItem.GetCharSet() == RTL_TEXTENCODING_SYMBOL )
-            {
-		        pC->GetText() = String( aByteString, RTL_TEXTENCODING_SYMBOL );
-                bSymbolPara = TRUE;
-            }
-        }
-
-		for ( nAttr = pC->GetAttribs().Count(); nAttr; )
-		{
-			XEditAttribute* pAttr = pC->GetAttribs().GetObject( --nAttr );
-            if ( pAttr->GetItem()->Which() == EE_CHAR_FONTINFO )
-            {
-                const SvxFontItem& rFontItem = (const SvxFontItem&)*pAttr->GetItem();
-                if ( ( !bSymbolPara && ( rFontItem.GetCharSet() == RTL_TEXTENCODING_SYMBOL ) )
-                      || ( bSymbolPara && ( rFontItem.GetCharSet() != RTL_TEXTENCODING_SYMBOL ) ) )
-                {
-                    // Not correctly converted
-                    ByteString aPart( aByteString, pAttr->GetStart(), pAttr->GetEnd()-pAttr->GetStart() );
-                    String aNew( aPart, rFontItem.GetCharSet() );
-                    pC->GetText().Erase( pAttr->GetStart(), pAttr->GetEnd()-pAttr->GetStart() );
-                    pC->GetText().Insert( aNew, pAttr->GetStart() );
-                }
-
-                // #88414# Convert StarMath and StarBats to StarSymbol
-                FontToSubsFontConverter hConv = CreateFontToSubsFontConverter( rFontItem.GetFamilyName(), FONTTOSUBSFONT_IMPORT | FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS );
-                if ( hConv )
-                {
-                    SvxFontItem aNewFontItem( rFontItem );
-		            aNewFontItem.GetFamilyName() = GetFontToSubsFontName( hConv );
-
-                    pC->GetAttribs().Remove( nAttr );
-                    XEditAttribute* pNewAttr = CreateAttrib( aNewFontItem, pAttr->GetStart(), pAttr->GetEnd() );
-                    pC->GetAttribs().Insert( pNewAttr, nAttr );
-                    DestroyAttrib( pAttr );
-
-                    for ( USHORT nChar = pNewAttr->GetStart(); nChar < pNewAttr->GetEnd(); nChar++ )
-                    {
-                        sal_Unicode cOld = pC->GetText().GetChar( nChar );
-                        DBG_ASSERT( cOld >= 0xF000, "cOld not converted?!" );
-                        sal_Unicode cConv = ConvertFontToSubsFontChar( hConv, cOld );
-                        if ( cConv )
-                            pC->GetText().SetChar( nChar, cConv );
-                    }
-
-                    DestroyFontToSubsFontConverter( hConv );
-                }
-            }
-        }
-
-
-        // #88414# Convert StarMath and StarBats to StarSymbol
-        // Maybe old symbol font as paragraph attribute?
-        if ( pC->GetParaAttribs().GetItemState( EE_CHAR_FONTINFO ) == SFX_ITEM_ON )
-        {
-            const SvxFontItem& rFontItem = (const SvxFontItem&)pC->GetParaAttribs().Get( EE_CHAR_FONTINFO );
-            FontToSubsFontConverter hConv = CreateFontToSubsFontConverter( rFontItem.GetFamilyName(), FONTTOSUBSFONT_IMPORT | FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS );
-            if ( hConv )
-            {
-                SvxFontItem aNewFontItem( rFontItem );
-		        aNewFontItem.GetFamilyName() = GetFontToSubsFontName( hConv );
-                pC->GetParaAttribs().Put( aNewFontItem );
-
-                for ( USHORT nChar = 0; nChar < pC->GetText().Len(); nChar++ )
-                {
-                    if ( !pC->GetAttribs().FindAttrib( EE_CHAR_FONTINFO, nChar ) )
-                    {
-                        sal_Unicode cOld = pC->GetText().GetChar( nChar );
-                        DBG_ASSERT( cOld >= 0xF000, "cOld not converted?!" );
-                        sal_Unicode cConv = ConvertFontToSubsFontChar( hConv, cOld );
-                        if ( cConv )
-                            pC->GetText().SetChar( nChar, cConv );
-                    }
-                }
-
-                DestroyFontToSubsFontConverter( hConv );
-            }
-        }
-    }
-
-	// Ab 400 auch die DefMetric:
-	if ( nVersion >= 400 )
-	{
-		USHORT nTmpMetric;
-		rIStream >> nTmpMetric;
-		if ( nVersion >= 401 )
-		{
-			// In der 400 gab es noch einen Bug bei Textobjekten mit eigenem
-			// Pool, deshalb erst ab 401 auswerten.
-			nMetric = nTmpMetric;
-			if ( bOwnerOfPool && pPool && ( nMetric != 0xFFFF ) )
-				pPool->SetDefaultMetric( (SfxMapUnit)nMetric );
-		}
-	}
-
-	if ( nVersion >= 600 )
-	{
-		rIStream >> nUserType;
-		rIStream >> nObjSettings;
-	}
-
-	if ( nVersion >= 601 )
-	{
-		rIStream >> bVertical;
-	}
-
-	if ( nVersion >= 602 )
-	{
-		rIStream >> nScriptType;
-
-		BOOL bUnicodeStrings;
-		rIStream >> bUnicodeStrings;
-		if ( bUnicodeStrings )
-		{
-			for ( USHORT nPara = 0; nPara < nParagraphs; nPara++ )
-			{
-				ContentInfo* pC = GetContents().GetObject( nPara );
-				USHORT nL;
-
-                // Text
-				rIStream >> nL;
-                if ( nL )
-                {
-				    pC->GetText().AllocBuffer( nL );
-				    rIStream.Read( pC->GetText().GetBufferAccess(), nL*sizeof(sal_Unicode) );
-				    pC->GetText().ReleaseBufferAccess( (USHORT)nL );
-                }
-
-                // StyleSheetName
-                rIStream >> nL;
-                if ( nL )
-                {
-				    pC->GetStyle().AllocBuffer( nL );
-				    rIStream.Read( pC->GetStyle().GetBufferAccess(), nL*sizeof(sal_Unicode) );
-				    pC->GetStyle().ReleaseBufferAccess( (USHORT)nL );
-                }
-			}
-		}
-	}
-
-
-	// Ab 500 werden die Tabs anders interpretiert: TabPos + LI, vorher nur TabPos.
-	// Wirkt nur wenn auch Tab-Positionen eingestellt wurden, nicht beim DefTab.
-	if ( nVersion < 500 )
-	{
-		for ( USHORT n = 0; n < aContents.Count(); n++ )
-		{
-			ContentInfo* pC = aContents.GetObject( n );
-			const SvxLRSpaceItem& rLRSpace = (const SvxLRSpaceItem&) pC->GetParaAttribs().Get( EE_PARA_LRSPACE );
-			if ( rLRSpace.GetTxtLeft() && ( pC->GetParaAttribs().GetItemState( EE_PARA_TABS ) == SFX_ITEM_ON ) )
-			{
-				const SvxTabStopItem& rTabs = (const SvxTabStopItem&) pC->GetParaAttribs().Get( EE_PARA_TABS );
-				SvxTabStopItem aNewTabs( 0, 0, SVX_TAB_ADJUST_LEFT, EE_PARA_TABS );
-				for ( USHORT t = 0; t < rTabs.Count(); t++ )
-				{
-					const SvxTabStop& rT = rTabs[ t ];
-					aNewTabs.Insert( SvxTabStop( rT.GetTabPos() - rLRSpace.GetTxtLeft(),
-								rT.GetAdjustment(), rT.GetDecimal(), rT.GetFill() ) );
-				}
-				pC->GetParaAttribs().Put( aNewTabs );
-			}
-		}
-	}
-}
-
 USHORT BinTextObject::GetVersion() const
 {
 	return nVersion;
 	return true;
 }
 
+
+bool BinTextObject::EETextObjEqual( const BinTextObject& rCompare ) const
+{
+    // similar to operator== but without comparing the itempool
+    if( this == &rCompare )
+        return true;
+
+    if( ( aContents.Count() != rCompare.aContents.Count() ) ||
+/*            ( pPool != rCompare.pPool ) || */
+            ( nMetric != rCompare.nMetric ) ||