1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndex" script:language="StarBasic">
4
5
6'*************************************************************************
7'
8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9'
10' Copyright 2000, 2010 Oracle and/or its affiliates.
11'
12' OpenOffice.org - a multi-platform office productivity suite
13'
14' This file is part of OpenOffice.org.
15'
16' OpenOffice.org is free software: you can redistribute it and/or modify
17' it under the terms of the GNU Lesser General Public License version 3
18' only, as published by the Free Software Foundation.
19'
20' OpenOffice.org is distributed in the hope that it will be useful,
21' but WITHOUT ANY WARRANTY; without even the implied warranty of
22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23' GNU Lesser General Public License version 3 for more details
24' (a copy is included in the LICENSE file that accompanied this code).
25'
26' You should have received a copy of the GNU Lesser General Public License
27' version 3 along with OpenOffice.org.  If not, see
28' <http://www.openoffice.org/license.html>
29' for a copy of the LGPLv3 License.
30'
31'*************************************************************************
32'*************************************************************************
33
34
35
36' Be sure that all variables are dimensioned:
37option explicit
38
39
40' REQUIRED VARIABLES for interface/service tests:
41Global oCollection As Object
42Global oComponentInstance As Object ' it will be disposed
43Global oXTextContent as Object
44Global oXTextContentRange as Object
45
46
47
48Sub CreateObj()
49
50'*************************************************************************
51' COMPONENT:
52' sw.SwXDocumentIndex
53'*************************************************************************
54On Error Goto ErrHndl
55    Dim i As Integer
56    Dim n As Integer
57    Dim oCursor As Object
58    Dim oSearch As Object
59    Dim oFound As Object
60    Dim oIndexEntry As Object
61    Dim oFoundPos As Object
62    Dim oIndex As Object
63
64    oDoc = utils.createDocument("swriter", cObjectName)
65    oCursor = oDoc.Text.createTextCursor()
66
67	' write some strings to document
68    for i = 1 to 10
69        oCursor.gotoEnd(false)
70        oDoc.Text.insertString(oCursor, cObjectName, false)
71        oDoc.Text.insertControlCharacter(oCursor, 0, false)
72    next i
73
74    ' insert some IndexMakrs
75    oSearch = oDoc.createSearchDescriptor()
76    oSearch.SearchString = cObjectName
77    oFound = oDoc.findAll(oSearch)
78
79    for n = 0 to oFound.Count - 5
80        oFoundPos = oFound(n)
81        oIndexEntry = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
82        oDoc.text.insertTextContent(oFoundPos, oIndexEntry, true)
83    next n
84
85	'create an index
86    oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndex")
87    oDoc.Text.insertTextContent(oCursor, oIndex, false)
88    oObj = oIndex
89
90	oXTextContent = oDoc.createInstance("com.sun.star.text.DocumentIndex")
91	oXTextContentRange = oDoc.Text.createTextCursor()
92
93    oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
94    oDoc.Text.insertTextContent(oCursor, oIndex, false)
95    oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
96    oDoc.Text.insertTextContent(oCursor, oIndex, false)
97    oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
98    oDoc.Text.insertTextContent(oCursor, oIndex, false)
99    oComponentInstance = oIndex
100
101    oCollection = oDoc.getDocumentIndexes()
102
103Exit Sub
104ErrHndl:
105    Test.Exception()
106End Sub
107</script:module>
108