1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndex" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*1cbee2cdSAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*1cbee2cdSAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*1cbee2cdSAndrew Rist'  distributed with this work for additional information
11*1cbee2cdSAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*1cbee2cdSAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*1cbee2cdSAndrew Rist'  "License"); you may not use this file except in compliance
14*1cbee2cdSAndrew Rist'  with the License.  You may obtain a copy of the License at
15*1cbee2cdSAndrew Rist'
16*1cbee2cdSAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*1cbee2cdSAndrew Rist'
18*1cbee2cdSAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*1cbee2cdSAndrew Rist'  software distributed under the License is distributed on an
20*1cbee2cdSAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*1cbee2cdSAndrew Rist'  KIND, either express or implied.  See the License for the
22*1cbee2cdSAndrew Rist'  specific language governing permissions and limitations
23*1cbee2cdSAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*1cbee2cdSAndrew Rist
30*1cbee2cdSAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests:
36cdf0e10cSrcweirGlobal oCollection As Object
37cdf0e10cSrcweirGlobal oComponentInstance As Object ' it will be disposed
38cdf0e10cSrcweirGlobal oXTextContent as Object
39cdf0e10cSrcweirGlobal oXTextContentRange as Object
40cdf0e10cSrcweir
41cdf0e10cSrcweir
42cdf0e10cSrcweir
43cdf0e10cSrcweirSub CreateObj()
44cdf0e10cSrcweir
45cdf0e10cSrcweir'*************************************************************************
46cdf0e10cSrcweir' COMPONENT:
47cdf0e10cSrcweir' sw.SwXDocumentIndex
48cdf0e10cSrcweir'*************************************************************************
49cdf0e10cSrcweirOn Error Goto ErrHndl
50cdf0e10cSrcweir    Dim i As Integer
51cdf0e10cSrcweir    Dim n As Integer
52cdf0e10cSrcweir    Dim oCursor As Object
53cdf0e10cSrcweir    Dim oSearch As Object
54cdf0e10cSrcweir    Dim oFound As Object
55cdf0e10cSrcweir    Dim oIndexEntry As Object
56cdf0e10cSrcweir    Dim oFoundPos As Object
57cdf0e10cSrcweir    Dim oIndex As Object
58cdf0e10cSrcweir
59cdf0e10cSrcweir    oDoc = utils.createDocument("swriter", cObjectName)
60cdf0e10cSrcweir    oCursor = oDoc.Text.createTextCursor()
61cdf0e10cSrcweir
62cdf0e10cSrcweir	' write some strings to document
63cdf0e10cSrcweir    for i = 1 to 10
64cdf0e10cSrcweir        oCursor.gotoEnd(false)
65cdf0e10cSrcweir        oDoc.Text.insertString(oCursor, cObjectName, false)
66cdf0e10cSrcweir        oDoc.Text.insertControlCharacter(oCursor, 0, false)
67cdf0e10cSrcweir    next i
68cdf0e10cSrcweir
69cdf0e10cSrcweir    ' insert some IndexMakrs
70cdf0e10cSrcweir    oSearch = oDoc.createSearchDescriptor()
71cdf0e10cSrcweir    oSearch.SearchString = cObjectName
72cdf0e10cSrcweir    oFound = oDoc.findAll(oSearch)
73cdf0e10cSrcweir
74cdf0e10cSrcweir    for n = 0 to oFound.Count - 5
75cdf0e10cSrcweir        oFoundPos = oFound(n)
76cdf0e10cSrcweir        oIndexEntry = oDoc.createInstance("com.sun.star.text.DocumentIndexMark")
77cdf0e10cSrcweir        oDoc.text.insertTextContent(oFoundPos, oIndexEntry, true)
78cdf0e10cSrcweir    next n
79cdf0e10cSrcweir
80cdf0e10cSrcweir	'create an index
81cdf0e10cSrcweir    oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndex")
82cdf0e10cSrcweir    oDoc.Text.insertTextContent(oCursor, oIndex, false)
83cdf0e10cSrcweir    oObj = oIndex
84cdf0e10cSrcweir
85cdf0e10cSrcweir	oXTextContent = oDoc.createInstance("com.sun.star.text.DocumentIndex")
86cdf0e10cSrcweir	oXTextContentRange = oDoc.Text.createTextCursor()
87cdf0e10cSrcweir
88cdf0e10cSrcweir    oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
89cdf0e10cSrcweir    oDoc.Text.insertTextContent(oCursor, oIndex, false)
90cdf0e10cSrcweir    oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
91cdf0e10cSrcweir    oDoc.Text.insertTextContent(oCursor, oIndex, false)
92cdf0e10cSrcweir    oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex")
93cdf0e10cSrcweir    oDoc.Text.insertTextContent(oCursor, oIndex, false)
94cdf0e10cSrcweir    oComponentInstance = oIndex
95cdf0e10cSrcweir
96cdf0e10cSrcweir    oCollection = oDoc.getDocumentIndexes()
97cdf0e10cSrcweir
98cdf0e10cSrcweirExit Sub
99cdf0e10cSrcweirErrHndl:
100cdf0e10cSrcweir    Test.Exception()
101cdf0e10cSrcweirEnd Sub
102cdf0e10cSrcweir</script:module>
103