Update ooo320-m1
[ooovba.git] / sw / source / core / inc / pamtyp.hxx
blobac3fd48fbfadcb706f834596344a446aa0824a3c
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: pamtyp.hxx,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _PAMTYP_HXX
32 #define _PAMTYP_HXX
34 #include <svtools/txtcmp.hxx>
35 #include <pam.hxx>
36 #include <node.hxx>
37 #include <tools/string.hxx>
39 class SwpHints;
40 struct SwPosition;
41 class SwPaM;
42 class SwTxtAttr;
44 // Funktions-Deklarationen fuer die Move/Find-Methoden vom SwPaM
46 void GoStartDoc( SwPosition*);
47 void GoEndDoc( SwPosition*);
48 void GoStartSection( SwPosition*);
49 void GoEndSection( SwPosition*);
50 BOOL GoInDoc( SwPaM&, SwMoveFn);
51 BOOL GoInSection( SwPaM&, SwMoveFn);
52 BOOL GoInNode( SwPaM&, SwMoveFn);
53 BOOL GoInCntnt( SwPaM&, SwMoveFn);
54 BOOL GoInCntntCells( SwPaM&, SwMoveFn);
55 BOOL GoInCntntSkipHidden( SwPaM&, SwMoveFn);
56 BOOL GoInCntntCellsSkipHidden( SwPaM&, SwMoveFn);
57 const SwTxtAttr* GetFrwrdTxtHint( const SwpHints&, USHORT&, xub_StrLen );
58 const SwTxtAttr* GetBkwrdTxtHint( const SwpHints&, USHORT&, xub_StrLen );
60 BOOL GoNext(SwNode* pNd, SwIndex * pIdx, USHORT nMode );
61 BOOL GoPrevious(SwNode* pNd, SwIndex * pIdx, USHORT nMode );
62 SW_DLLPUBLIC SwCntntNode* GoNextNds( SwNodeIndex * pIdx, BOOL );
63 SwCntntNode* GoPreviousNds( SwNodeIndex * pIdx, BOOL );
65 // --------- Funktionsdefinitionen fuer die SwCrsrShell --------------
67 BOOL GoPrevPara( SwPaM&, SwPosPara);
68 BOOL GoCurrPara( SwPaM&, SwPosPara);
69 BOOL GoNextPara( SwPaM&, SwPosPara);
70 BOOL GoPrevSection( SwPaM&, SwPosSection);
71 BOOL GoCurrSection( SwPaM&, SwPosSection);
72 BOOL GoNextSection( SwPaM&, SwPosSection);
75 // ------------ Typedefiniton fuer Funktionen ----------------------
77 typedef BOOL (*GoNd)( SwNode*, SwIndex*, USHORT );
78 typedef SwCntntNode* (*GoNds)( SwNodeIndex*, BOOL );
79 typedef void (*GoDoc)( SwPosition* );
80 typedef void (*GoSection)( SwPosition* );
81 typedef BOOL (SwPosition:: *CmpOp)( const SwPosition& ) const;
82 typedef const SwTxtAttr* (*GetHint)( const SwpHints&, USHORT&, xub_StrLen );
83 typedef int (utl::TextSearch:: *SearchTxt)( const String&, xub_StrLen*,
84 xub_StrLen*, ::com::sun::star::util::SearchResult* );
85 typedef void (SwNodes:: *MvSection)( SwNodeIndex * ) const;
88 struct SwMoveFnCollection
90 GoNd fnNd;
91 GoNds fnNds;
92 GoDoc fnDoc;
93 GoSection fnSections;
94 CmpOp fnCmpOp;
95 GetHint fnGetHint;
96 SearchTxt fnSearch;
97 MvSection fnSection;
100 // --------- Funktionsdefinitionen fuers Suchen --------------
101 SwCntntNode* GetNode( SwPaM&, BOOL&, SwMoveFn, BOOL bInReadOnly = FALSE );
105 #endif