| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> |
| <script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_SwXDocumentIndex" script:language="StarBasic"> |
| |
| |
| '************************************************************************* |
| ' |
| ' Licensed to the Apache Software Foundation (ASF) under one |
| ' or more contributor license agreements. See the NOTICE file |
| ' distributed with this work for additional information |
| ' regarding copyright ownership. The ASF licenses this file |
| ' to you under the Apache License, Version 2.0 (the |
| ' "License"); you may not use this file except in compliance |
| ' with the License. You may obtain a copy of the License at |
| ' |
| ' http://www.apache.org/licenses/LICENSE-2.0 |
| ' |
| ' Unless required by applicable law or agreed to in writing, |
| ' software distributed under the License is distributed on an |
| ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ' KIND, either express or implied. See the License for the |
| ' specific language governing permissions and limitations |
| ' under the License. |
| ' |
| '************************************************************************* |
| |
| |
| |
| |
| |
| ' Be sure that all variables are dimensioned: |
| option explicit |
| |
| |
| ' REQUIRED VARIABLES for interface/service tests: |
| Global oCollection As Object |
| Global oComponentInstance As Object ' it will be disposed |
| Global oXTextContent as Object |
| Global oXTextContentRange as Object |
| |
| |
| |
| Sub CreateObj() |
| |
| '************************************************************************* |
| ' COMPONENT: |
| ' sw.SwXDocumentIndex |
| '************************************************************************* |
| On Error Goto ErrHndl |
| Dim i As Integer |
| Dim n As Integer |
| Dim oCursor As Object |
| Dim oSearch As Object |
| Dim oFound As Object |
| Dim oIndexEntry As Object |
| Dim oFoundPos As Object |
| Dim oIndex As Object |
| |
| oDoc = utils.createDocument("swriter", cObjectName) |
| oCursor = oDoc.Text.createTextCursor() |
| |
| ' write some strings to document |
| for i = 1 to 10 |
| oCursor.gotoEnd(false) |
| oDoc.Text.insertString(oCursor, cObjectName, false) |
| oDoc.Text.insertControlCharacter(oCursor, 0, false) |
| next i |
| |
| ' insert some IndexMakrs |
| oSearch = oDoc.createSearchDescriptor() |
| oSearch.SearchString = cObjectName |
| oFound = oDoc.findAll(oSearch) |
| |
| for n = 0 to oFound.Count - 5 |
| oFoundPos = oFound(n) |
| oIndexEntry = oDoc.createInstance("com.sun.star.text.DocumentIndexMark") |
| oDoc.text.insertTextContent(oFoundPos, oIndexEntry, true) |
| next n |
| |
| 'create an index |
| oIndex = oDoc.createInstance("com.sun.star.text.DocumentIndex") |
| oDoc.Text.insertTextContent(oCursor, oIndex, false) |
| oObj = oIndex |
| |
| oXTextContent = oDoc.createInstance("com.sun.star.text.DocumentIndex") |
| oXTextContentRange = oDoc.Text.createTextCursor() |
| |
| oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex") |
| oDoc.Text.insertTextContent(oCursor, oIndex, false) |
| oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex") |
| oDoc.Text.insertTextContent(oCursor, oIndex, false) |
| oIndex = oDoc.createInstance("com.sun.star.text.ContentIndex") |
| oDoc.Text.insertTextContent(oCursor, oIndex, false) |
| oComponentInstance = oIndex |
| |
| oCollection = oDoc.getDocumentIndexes() |
| |
| Exit Sub |
| ErrHndl: |
| Test.Exception() |
| End Sub |
| </script:module> |