2009-08-25 15:52:04 +0200 hde r275366 : reactived testcases hit by issue 102752 2009-08-21 13:52:17 +0200 od r275245 : #i102921# delete files whose deletion has been forgotten in cws impress172 2009-08-21 11:20:47 +0200 od r275225 : CWS-TOOLING: rebase CWS sw32bf02 to trunk@275001 (milestone: DEV300:m55) 2009-08-20 16:21:30 +0200 od r275191 : #i92511# method <lcl_MoveAllLowerObjs(..)> - invalidation of cache for object rectangle inclusive spaces is needed. 2009-08-20 15:50:40 +0200 od r275188 : #i96726# method <SwPagePreView::DocSzChgd(..)> - trigger recalculation of page preview layout even if the count of pages is not changing 2009-08-20 12:37:32 +0200 od r275172 : #i100466# correction for showing and hiding redlines 2009-08-18 13:25:18 +0200 od r275100 : #i103817# method <XMLTextImportHelper::SetStyleAndAttrs(..) - assure that a heading applies the outline style, if no other list style is applied. 2009-08-18 13:21:38 +0200 od r275098 : #i103817# allow the outline style - list style for outline numbering - to be set directly at the paragraph 2009-08-17 14:13:02 +0200 od r275052 : #i103684# add missing documentation for new optional OutlineLevel attribute introduced in OOo 3.1 2009-08-17 14:00:25 +0200 od r275049 : #i100481# method <XMLTextFrameContext_Impl::CreateChildContext(..)># - correct condition for handling embedded documents and embedded math objects 2009-08-12 14:11:34 +0200 od r274891 : #i97379# assure that columns are not applied to fly frames, which represent graphics or embedded objects 2009-08-12 12:51:43 +0200 od r274889 : #i101870# method <SwTxtNode::_MakeNewTxtNode(..)> - perform action on different paragraph styles before applying new paragraph style 2009-08-12 12:24:44 +0200 od r274888 : #i101092# method <ViewShell::Paint(..)> - encapsulate paint of document background and document into pre and post drawing layer paint calls 2009-08-12 11:38:48 +0200 od r274886 : #i98766# minor adjustment in order to be warning free under Mac port builds 2009-08-12 11:33:54 +0200 od r274885 : #i99267# method <SwTabFrm::MakeAll()> - reset <bSplit> after forward move to assure that follows can be joined, if further space is available. 2009-08-12 11:11:49 +0200 od r274882 : #i98766# method <ViewShell::SmoothScroll(..) - disable smooth scroll for Mac port builds 2009-08-10 12:17:58 +0200 od r274801 : CWS-TOOLING: rebase CWS sw32bf02 to trunk@274622 (milestone: DEV300:m54) 2009-07-21 16:56:45 +0200 od r274206 : #i103685# method <SwTxtFormatter::NewTabPortion(..)> - adjust condition to apply automatic tab stop at left margin correctly in case that tab stops are not relative to indent 2009-07-10 11:53:53 +0200 od r273883 : #i102752 method <SwDrawContact::Modify(..)> - assure that a ShapePropertyChangeNotifier exists 2009-07-07 12:01:58 +0200 mst r273788 : #i103304# apply patch by dtardon to fix bogus conditional 2009-07-07 09:01:13 +0200 od r273767 : CWS-TOOLING: rebase CWS sw32bf02 to trunk@273468 (milestone: DEV300:m51)
206 lines
7.1 KiB
C++
206 lines
7.1 KiB
C++
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: IDocumentContentOperations.hxx,v $
|
|
* $Revision: 1.6 $
|
|
*
|
|
* 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 IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
|
|
#define IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
|
|
|
|
#ifndef _SAL_TYPES_H_
|
|
#include <sal/types.h>
|
|
#endif
|
|
|
|
class SwPaM;
|
|
struct SwPosition;
|
|
class SwNode;
|
|
class SwNodeRange;
|
|
class String;
|
|
class Graphic;
|
|
class SfxItemSet;
|
|
class SfxPoolItem;
|
|
class GraphicObject;
|
|
class SdrObject;
|
|
class SwFrmFmt;
|
|
class SwDrawFrmFmt;
|
|
class SwFlyFrmFmt;
|
|
class SwNodeIndex;
|
|
|
|
namespace utl { class TransliterationWrapper; }
|
|
namespace svt { class EmbeddedObjectRef; }
|
|
|
|
/** Text operation/manipulation interface
|
|
*/
|
|
class IDocumentContentOperations
|
|
{
|
|
public:
|
|
enum SwMoveFlags
|
|
{
|
|
DOC_MOVEDEFAULT = 0x00,
|
|
DOC_MOVEALLFLYS = 0x01,
|
|
DOC_CREATEUNDOOBJ = 0x02,
|
|
DOC_MOVEREDLINES = 0x04,
|
|
DOC_NO_DELFRMS = 0x08
|
|
};
|
|
|
|
public:
|
|
/** Kopieren eines Bereiches im oder in ein anderes Dokument !
|
|
Die Position kann auch im Bereich liegen !!
|
|
*/
|
|
virtual bool Copy(SwPaM&, SwPosition&, bool bCopyAll ) const = 0;
|
|
|
|
/** Loesche die Section, in der der Node steht.
|
|
*/
|
|
virtual void DeleteSection(SwNode* pNode) = 0;
|
|
|
|
/** loeschen eines BereichesSwFlyFrmFmt
|
|
*/
|
|
virtual bool Delete(SwPaM&) = 0;
|
|
|
|
/** loeschen gesamter Absaetze
|
|
*/
|
|
virtual bool DelFullPara(SwPaM&) = 0;
|
|
|
|
/** complete delete of a given PaM
|
|
|
|
OD 2009-08-20 #i100466#
|
|
Add optional parameter <bForceJoinNext>, default value <false>
|
|
Needed for hiding of deletion redlines
|
|
*/
|
|
virtual bool DeleteAndJoin( SwPaM&,
|
|
const bool bForceJoinNext = false ) = 0;
|
|
|
|
/** verschieben eines Bereiches
|
|
*/
|
|
virtual bool Move(SwPaM&, SwPosition&, SwMoveFlags) = 0;
|
|
|
|
/** verschieben ganzer Nodes
|
|
*/
|
|
virtual bool Move(SwNodeRange&, SwNodeIndex&, SwMoveFlags) = 0;
|
|
|
|
/** verschieben eines Bereiches
|
|
*/
|
|
virtual bool MoveAndJoin(SwPaM&, SwPosition&, SwMoveFlags) = 0;
|
|
|
|
/** Ueberschreiben eines einzelnen Zeichens. rRg.Start() bezeichnet
|
|
den Node und die Position in dem Node, an der eingefuegt wird,
|
|
*/
|
|
virtual bool Overwrite(const SwPaM &rRg, sal_Unicode c) = 0;
|
|
|
|
/** Ueberschreiben eines Strings in einem bestehenden Textnode.
|
|
*/
|
|
virtual bool Overwrite(const SwPaM &rRg, const String& rStr) = 0;
|
|
|
|
/** Einfuegen eines einzelnen Zeichens. rRg.Start() bezeichnet
|
|
den Node und die Position in dem Node, an der eingefuegt wird.
|
|
*/
|
|
virtual bool Insert(const SwPaM &rRg, sal_Unicode c) = 0;
|
|
|
|
/** Einfuegen eines Strings in einen bestehenden
|
|
Textnode. Der Text wird kopiert.
|
|
*/
|
|
virtual bool Insert(const SwPaM &rRg, const String&, bool bHintExpand) = 0;
|
|
|
|
/** change text to Upper/Lower/Hiragana/Katagana/...
|
|
*/
|
|
virtual void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&) = 0;
|
|
|
|
/** Einfuegen einer Grafik, Formel. Die XXXX werden kopiert.
|
|
*/
|
|
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const String& rGrfName, const String& rFltName, const Graphic* pGraphic,
|
|
const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
|
|
|
|
/**
|
|
*/
|
|
virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet,
|
|
const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
|
|
|
|
/** austauschen einer Grafik (mit Undo)
|
|
*/
|
|
virtual void ReRead(SwPaM&, const String& rGrfName, const String& rFltName, const Graphic* pGraphic, const GraphicObject* pGrfObj) = 0;
|
|
|
|
/** Einfuegen eines DrawObjectes. Das Object muss bereits im DrawModel
|
|
angemeldet sein.
|
|
*/
|
|
virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*) = 0;
|
|
|
|
/** Einfuegen von OLE-Objecten.
|
|
*/
|
|
virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet,
|
|
const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
|
|
|
|
virtual SwFlyFrmFmt* InsertOLE(const SwPaM &rRg, const String& rObjName, sal_Int64 nAspect, const SfxItemSet* pFlyAttrSet,
|
|
const SfxItemSet* pGrfAttrSet, SwFrmFmt*) = 0;
|
|
|
|
/** Aufspalten eines Nodes an rPos (nur fuer den TxtNode implementiert)
|
|
*/
|
|
virtual bool SplitNode(const SwPosition &rPos, bool bChkTableStart) = 0;
|
|
|
|
/**
|
|
*/
|
|
virtual bool AppendTxtNode(SwPosition& rPos) = 0;
|
|
|
|
/** Ersetz einen selektierten Bereich in einem TextNode mit dem
|
|
String. Ist fuers Suchen&Ersetzen gedacht.
|
|
bRegExpRplc - ersetze Tabs (\\t) und setze den gefundenen String
|
|
ein ( nicht \& )
|
|
z.B.: Fnd: "zzz", Repl: "xx\t\\t..&..\&"
|
|
--> "xx\t<Tab>..zzz..&"
|
|
*/
|
|
virtual bool Replace(SwPaM& rPam, const String& rNewStr, bool bRegExpRplc) = 0;
|
|
|
|
/** Einfuegen eines Attributs. Erstreckt sich rRg ueber
|
|
mehrere Nodes, wird das Attribut aufgespaltet, sofern
|
|
dieses Sinn macht. Nodes, in denen dieses Attribut keinen
|
|
Sinn macht, werden ignoriert. In vollstaendig in der
|
|
Selektion eingeschlossenen Nodes wird das Attribut zu
|
|
harter Formatierung, in den anderen (Text-)Nodes wird das
|
|
Attribut in das Attributearray eingefuegt. Bei einem
|
|
Zeichenattribut wird ein "leerer" Hint eingefuegt,
|
|
wenn keine Selektion
|
|
vorliegt; andernfalls wird das Attribut als harte
|
|
Formatierung dem durch rRg.Start() bezeichneten Node
|
|
hinzugefuegt. Wenn das Attribut nicht eingefuegt werden
|
|
konnte, liefert die Methode sal_False.
|
|
*/
|
|
virtual bool Insert(const SwPaM &rRg, const SfxPoolItem&, sal_uInt16 nFlags) = 0;
|
|
|
|
/**
|
|
*/
|
|
virtual bool Insert(const SwPaM &rRg, const SfxItemSet&, sal_uInt16 nFlags) = 0;
|
|
|
|
/** Removes any leading white space from the paragraph
|
|
*/
|
|
virtual void RemoveLeadingWhiteSpace(const SwPosition & rPos ) = 0;
|
|
|
|
protected:
|
|
virtual ~IDocumentContentOperations() {};
|
|
};
|
|
|
|
#endif // IDOCUMENTCONTENTOPERATIONS_HXX_INCLUDED
|
|
|