1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?>
2*b1cdbd2cSJim Jagielski<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3*b1cdbd2cSJim Jagielski<!--***********************************************************
4*b1cdbd2cSJim Jagielski *
5*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
6*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
7*b1cdbd2cSJim Jagielski * distributed with this work for additional information
8*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
9*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
10*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
11*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
14*b1cdbd2cSJim Jagielski *
15*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
16*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
17*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
19*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
20*b1cdbd2cSJim Jagielski * under the License.
21*b1cdbd2cSJim Jagielski *
22*b1cdbd2cSJim Jagielski ***********************************************************-->
23*b1cdbd2cSJim Jagielski<script:module xmlns:script="http://openoffice.org/2000/script" script:name="OtherElements" script:language="StarBasic">REM  *****  BASIC  *****
24*b1cdbd2cSJim Jagielski
25*b1cdbd2cSJim JagielskiSub Main
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim JagielskiEnd Sub
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim JagielskiSub InsertVariable
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
32*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
33*b1cdbd2cSJim Jagielski		Exit Sub
34*b1cdbd2cSJim Jagielski	End If
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
37*b1cdbd2cSJim Jagielski	oCur = oSel(0).getText.createTextCursorByRange(oSel(0))
38*b1cdbd2cSJim Jagielski	oStart = oCur.getStart
39*b1cdbd2cSJim Jagielski	oCurStart = oStart.getText.createTextCursorByRange(oStart)
40*b1cdbd2cSJim Jagielski	oEnd = oCur.getEnd
41*b1cdbd2cSJim Jagielski	oCurEnd = oEnd.getText.createTextCursorByRange(oEnd)
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski	ID = inputbox(&quot;Enter an identifier for the variable element:&quot;,&quot;Enter Variable ID&quot;)
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski	If ID=&quot;&quot; Then
46*b1cdbd2cSJim Jagielski		Exit Sub
47*b1cdbd2cSJim Jagielski	End If
48*b1cdbd2cSJim Jagielski
49*b1cdbd2cSJim Jagielski	thiscomponent.getcurrentcontroller.select(oCurStart)
50*b1cdbd2cSJim Jagielski	InsertTag(&quot;VAR_&quot;,&quot;&lt;VAR ID=&quot;&quot;&quot;+ID+&quot;&quot;&quot;&gt;&quot;)
51*b1cdbd2cSJim Jagielski	thiscomponent.getcurrentcontroller.select(oCurEnd)
52*b1cdbd2cSJim Jagielski	InsertTag(&quot;_VAR&quot;,&quot;&lt;/VAR&gt;&quot;)
53*b1cdbd2cSJim JagielskiEnd Sub
54*b1cdbd2cSJim Jagielski
55*b1cdbd2cSJim JagielskiSub InsertInlineGraphic
56*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
57*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
58*b1cdbd2cSJim Jagielski		Exit Sub
59*b1cdbd2cSJim Jagielski	End If
60*b1cdbd2cSJim Jagielski	sFName = OpenGraphics
61*b1cdbd2cSJim Jagielski	If sFName &lt;&gt; &quot;&quot; Then
62*b1cdbd2cSJim Jagielski		sAlt = InputBox(&quot;Enter an alternative Text for the graphical element.&quot;+chr(13)+&quot;This can be changed later in the image properties.&quot;,&quot;ALT description&quot;,&quot;&lt;ALT DESCRIPTION&gt;&quot;)
63*b1cdbd2cSJim Jagielski		sID = &quot;img_id&quot;+CreateID
64*b1cdbd2cSJim Jagielski		InsertTag(&quot;IMG_&quot;,&quot;&lt;IMG ID=&quot;&quot;&quot;+sID+&quot;&quot;&quot;&gt;&quot;)
65*b1cdbd2cSJim Jagielski		InsertGraphicFile(sFName,sID,sAlt)
66*b1cdbd2cSJim Jagielski		InsertTag(&quot;_IMG&quot;,&quot;&lt;/IMG&gt;&quot;)
67*b1cdbd2cSJim Jagielski	End If
68*b1cdbd2cSJim JagielskiEnd Sub
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim JagielskiSub InsertGraphic
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
73*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
74*b1cdbd2cSJim Jagielski		Exit Sub
75*b1cdbd2cSJim Jagielski	End If
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim Jagielski	GlobalScope.BasicLibraries.loadLibrary(&quot;Tools&quot;)
78*b1cdbd2cSJim Jagielski	sFName = OpenGraphics
79*b1cdbd2cSJim Jagielski	If sFName &lt;&gt; &quot;&quot; Then
80*b1cdbd2cSJim Jagielski		DocRoot = ReadConfig(&quot;HelpPrefix&quot;)
81*b1cdbd2cSJim Jagielski&apos;		msgbox(&quot;DocRoot &quot;+DocRoot+chr(13)+&quot;FName &quot;+sFName)
82*b1cdbd2cSJim Jagielski
83*b1cdbd2cSJim Jagielski		If not(IsSubDir(sFName,DocRoot)) Then
84*b1cdbd2cSJim Jagielski			msgbox(&quot;Image is located outside of your Document Root&quot;+chr(13)+DocRoot,48,&quot;Warning&quot;)
85*b1cdbd2cSJim Jagielski		End If
86*b1cdbd2cSJim Jagielski
87*b1cdbd2cSJim Jagielski		sAlt = InputBox(&quot;Enter an alternative Text for the graphical element.&quot;+chr(13)+&quot;This can be changed later in the image properties.&quot;,&quot;ALT description&quot;,&quot;&lt;ALT DESCRIPTION&gt;&quot;)
88*b1cdbd2cSJim Jagielski&apos;		sCap = InputBox(&quot;Enter a caption for the image (optional)&quot;,&quot;Caption&quot;,&quot;&quot;)
89*b1cdbd2cSJim Jagielski		sID = CreateID
90*b1cdbd2cSJim Jagielski		CR
91*b1cdbd2cSJim Jagielski		InsertTag(&quot;IMG_&quot;,&quot;&lt;IMG ID=&quot;&quot;&quot;+&quot;img_id&quot;+sID+&quot;&quot;&quot;&gt;&quot;)
92*b1cdbd2cSJim Jagielski		InsertGraphicFile(sFName,&quot;img_id&quot;+sID,sAlt)
93*b1cdbd2cSJim Jagielski&apos;		If sCap &lt;&gt; &quot;&quot; Then
94*b1cdbd2cSJim Jagielski&apos;			InsertCaption(sCap,&quot;cap_id&quot;+sID)
95*b1cdbd2cSJim Jagielski&apos;		End If
96*b1cdbd2cSJim Jagielski		InsertTag(&quot;_IMG&quot;,&quot;&lt;/IMG&gt;&quot;)
97*b1cdbd2cSJim Jagielski	End If
98*b1cdbd2cSJim JagielskiEnd Sub
99*b1cdbd2cSJim Jagielski
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim JagielskiSub InsertGraphicFile(sURL As String, sName As String, sAlt As String)
102*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
103*b1cdbd2cSJim Jagielski	oCur = oSel(0).getText.createTextCursorByRange(oSel(0))
104*b1cdbd2cSJim Jagielski	oDoc = StarDesktop.CurrentComponent
105*b1cdbd2cSJim Jagielski	oGrp = oDoc.createInstance(&quot;com.sun.star.text.GraphicObject&quot;)
106*b1cdbd2cSJim Jagielski	oGrp.GraphicURL = sURL
107*b1cdbd2cSJim Jagielski	oGrp.AnchorType = 1
108*b1cdbd2cSJim Jagielski	oGrp.Name = sName
109*b1cdbd2cSJim Jagielski	oGrp.Title = sAlt
110*b1cdbd2cSJim Jagielski	oCur.Text.InsertTextContent(oCur,oGrp,true)
111*b1cdbd2cSJim JagielskiEnd Sub
112*b1cdbd2cSJim Jagielski
113*b1cdbd2cSJim JagielskiSub SpecifyCaption
114*b1cdbd2cSJim Jagielski	&apos;check if the image allows captions
115*b1cdbd2cSJim Jagielski	If thiscomponent.getcurrentcontroller.getselection.ImplementationName = &quot;SwXTextGraphicObject&quot; Then
116*b1cdbd2cSJim Jagielski		msgbox &quot;Please press ESCAPE to deselect the image and recall the menu item&quot;
117*b1cdbd2cSJim Jagielski		Exit Sub
118*b1cdbd2cSJim Jagielski	End If
119*b1cdbd2cSJim Jagielski	If IsBlockImage Then
120*b1cdbd2cSJim Jagielski		If not(HasCaption) Then
121*b1cdbd2cSJim Jagielski			sCap = InputBox(&quot;Enter a caption for the image (optional)&quot;,&quot;Caption&quot;,&quot;&quot;)
122*b1cdbd2cSJim Jagielski			If sCap &lt;&gt; &quot;&quot; Then
123*b1cdbd2cSJim Jagielski				sID = GetImageID
124*b1cdbd2cSJim Jagielski				sID = &quot;cap&quot;+right(sID, Len(sID)-3)
125*b1cdbd2cSJim Jagielski				GoLeft(1)
126*b1cdbd2cSJim Jagielski				InsertCaption(sCap, sID)
127*b1cdbd2cSJim Jagielski			End If
128*b1cdbd2cSJim Jagielski		Else
129*b1cdbd2cSJim Jagielski			msgbox &quot;Image has a caption already.&quot;,0,&quot;D&apos;oh!&quot;
130*b1cdbd2cSJim Jagielski		End If
131*b1cdbd2cSJim Jagielski	Else
132*b1cdbd2cSJim Jagielski		msgbox &quot;Only block images may have captions.&quot;,0,&quot;D&apos;oh!&quot;
133*b1cdbd2cSJim Jagielski	End If
134*b1cdbd2cSJim JagielskiEnd Sub
135*b1cdbd2cSJim Jagielski
136*b1cdbd2cSJim JagielskiSub InsertCaption(sCap As String, sID as String)
137*b1cdbd2cSJim Jagielski		InsertTag(&quot;IMGCAPTION_&quot;,&quot;&lt;IMGCAPTION id=&quot;&quot;&quot;+sID+&quot;&quot;&quot;&gt;&quot;)
138*b1cdbd2cSJim Jagielski		InsertText(sCap)
139*b1cdbd2cSJim Jagielski		InsertTag(&quot;_IMGCAPTION&quot;,&quot;&lt;/IMGCAPTION&gt;&quot;)
140*b1cdbd2cSJim JagielskiEnd Sub
141*b1cdbd2cSJim Jagielski
142*b1cdbd2cSJim JagielskiSub InsertExtendedTip
143*b1cdbd2cSJim Jagielski
144*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
145*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
146*b1cdbd2cSJim Jagielski		Exit Sub
147*b1cdbd2cSJim Jagielski	End If
148*b1cdbd2cSJim Jagielski
149*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
150*b1cdbd2cSJim Jagielski	oCur = oSel(0).getText.createTextCursorByRange(oSel(0))
151*b1cdbd2cSJim Jagielski	oStart = oCur.getStart
152*b1cdbd2cSJim Jagielski	oCurStart = oStart.getText.createTextCursorByRange(oStart)
153*b1cdbd2cSJim Jagielski	oEnd = oCur.getEnd
154*b1cdbd2cSJim Jagielski	oCurEnd = oEnd.getText.createTextCursorByRange(oEnd)
155*b1cdbd2cSJim Jagielski
156*b1cdbd2cSJim Jagielski	Ret = msgbox (&quot;Create a hidden tip?&quot;,3+32,&quot;Extended Tip&quot;)
157*b1cdbd2cSJim Jagielski
158*b1cdbd2cSJim Jagielski	If Ret=2 or Ret=3 Then
159*b1cdbd2cSJim Jagielski		Exit Sub
160*b1cdbd2cSJim Jagielski	End If
161*b1cdbd2cSJim Jagielski
162*b1cdbd2cSJim Jagielski	thiscomponent.getcurrentcontroller.select(oCurStart)
163*b1cdbd2cSJim Jagielski	If Ret=6 Then
164*b1cdbd2cSJim Jagielski		InsertTag(&quot;AHID_&quot;,&quot;&lt;AHID hid=&quot;&quot;&quot;+ID+&quot;&quot;&quot;&gt;&quot;)
165*b1cdbd2cSJim Jagielski	ElseIf Ret=7 Then
166*b1cdbd2cSJim Jagielski		InsertTag(&quot;AVIS_&quot;,&quot;&lt;AVIS hid=&quot;&quot;&quot;+ID+&quot;&quot;&quot;&gt;&quot;)
167*b1cdbd2cSJim Jagielski	End If
168*b1cdbd2cSJim Jagielski	thiscomponent.getcurrentcontroller.select(oCurEnd)
169*b1cdbd2cSJim Jagielski	If Ret=6 Then
170*b1cdbd2cSJim Jagielski		InsertTag(&quot;_AHID&quot;,&quot;&lt;/AHID&gt;&quot;)
171*b1cdbd2cSJim Jagielski	ElseIf Ret=7 Then
172*b1cdbd2cSJim Jagielski		InsertTag(&quot;_AVIS&quot;,&quot;&lt;/AVIS&gt;&quot;)
173*b1cdbd2cSJim Jagielski	End If
174*b1cdbd2cSJim JagielskiEnd Sub
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim JagielskiSub InsertSort
177*b1cdbd2cSJim Jagielski	CR
178*b1cdbd2cSJim Jagielski	SetParaStyle(&quot;hlp_aux_sort&quot;)
179*b1cdbd2cSJim Jagielski	InsertTag(&quot;SORT_&quot;,&quot;&lt;SORT order=&quot;&quot;asc&quot;&quot;&gt;&quot;,&quot;hlp_aux_sort&quot;)
180*b1cdbd2cSJim Jagielski	GoLeft(1)
181*b1cdbd2cSJim Jagielski	GoDown(1)
182*b1cdbd2cSJim Jagielski	msgbox &quot;Remember to also specify the closing SORT tag!&quot;,48,&quot;Don&apos;t forget to close the tag&quot;
183*b1cdbd2cSJim JagielskiEnd Sub
184*b1cdbd2cSJim Jagielski
185*b1cdbd2cSJim JagielskiSub CloseSort
186*b1cdbd2cSJim Jagielski	CR
187*b1cdbd2cSJim Jagielski	SetParaStyle(&quot;hlp_aux_sort&quot;)
188*b1cdbd2cSJim Jagielski	InsertTag(&quot;_SORT&quot;,&quot;&lt;/SORT&gt;&quot;,&quot;hlp_aux_sort&quot;)
189*b1cdbd2cSJim Jagielski	GoLeft(1)
190*b1cdbd2cSJim Jagielski	GoDown(1)
191*b1cdbd2cSJim JagielskiEnd Sub
192*b1cdbd2cSJim Jagielski
193*b1cdbd2cSJim Jagielskisub InsertSection
194*b1cdbd2cSJim Jagielski
195*b1cdbd2cSJim Jagielski
196*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
197*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
198*b1cdbd2cSJim Jagielski		Exit Sub
199*b1cdbd2cSJim Jagielski	End If
200*b1cdbd2cSJim Jagielski
201*b1cdbd2cSJim Jagielski	dim document   as object
202*b1cdbd2cSJim Jagielski	dim dispatcher as object
203*b1cdbd2cSJim Jagielski
204*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
205*b1cdbd2cSJim Jagielski	oCur = oSel(0).getText.createTextCursorByRange(oSel(0))
206*b1cdbd2cSJim Jagielski	oStart = oCur.getStart
207*b1cdbd2cSJim Jagielski	oCurStart = oStart.getText.createTextCursorByRange(oStart)
208*b1cdbd2cSJim Jagielski	oEnd = oCur.getEnd
209*b1cdbd2cSJim Jagielski	oCurEnd = oEnd.getText.createTextCursorByRange(oEnd)
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski	sSectionName = AlphaNum(inputbox(&quot;Please specify a section name/identifier:&quot;))
212*b1cdbd2cSJim Jagielski
213*b1cdbd2cSJim Jagielski	If sSectionName = &quot;&quot; Then
214*b1cdbd2cSJim Jagielski		Exit Sub
215*b1cdbd2cSJim Jagielski	End If
216*b1cdbd2cSJim Jagielski
217*b1cdbd2cSJim Jagielski	If sSectionName = &quot;&quot; Then
218*b1cdbd2cSJim Jagielski		msgbox &quot;No (valid) identifier -- no section.&quot;+chr(13)+&quot;Hint: Use only A-Z,a-z,0-9 and _&quot;,48,&quot;D&apos;oh!&quot;
219*b1cdbd2cSJim Jagielski		Exit Sub
220*b1cdbd2cSJim Jagielski	End If
221*b1cdbd2cSJim Jagielski
222*b1cdbd2cSJim Jagielski	document   = ThisComponent.CurrentController.Frame
223*b1cdbd2cSJim Jagielski	dispatcher = createUnoService(&quot;com.sun.star.frame.DispatchHelper&quot;)
224*b1cdbd2cSJim Jagielski
225*b1cdbd2cSJim Jagielski	dim args(6) as new com.sun.star.beans.PropertyValue
226*b1cdbd2cSJim Jagielski	args(0).Name = &quot;RegionName&quot;
227*b1cdbd2cSJim Jagielski	args(0).Value = sSectionName
228*b1cdbd2cSJim Jagielski	args(1).Name = &quot;RegionCondition&quot;
229*b1cdbd2cSJim Jagielski	args(1).Value = &quot;&quot;
230*b1cdbd2cSJim Jagielski	args(2).Name = &quot;RegionHidden&quot;
231*b1cdbd2cSJim Jagielski	args(2).Value = false
232*b1cdbd2cSJim Jagielski	args(3).Name = &quot;RegionProtect&quot;
233*b1cdbd2cSJim Jagielski	args(3).Value = false
234*b1cdbd2cSJim Jagielski	args(4).Name = &quot;LinkName&quot;
235*b1cdbd2cSJim Jagielski	args(4).Value = &quot;&quot;
236*b1cdbd2cSJim Jagielski	args(5).Name = &quot;FilterName&quot;
237*b1cdbd2cSJim Jagielski	args(5).Value = &quot;&quot;
238*b1cdbd2cSJim Jagielski	args(6).Name = &quot;SubRegion&quot;
239*b1cdbd2cSJim Jagielski	args(6).Value = &quot;&quot;
240*b1cdbd2cSJim Jagielski
241*b1cdbd2cSJim Jagielski	dispatcher.executeDispatch(document, &quot;.uno:InsertSection&quot;, &quot;&quot;, 0, args())
242*b1cdbd2cSJim Jagielski
243*b1cdbd2cSJim Jagielski	If oCur.GetString &lt;&gt; &quot;&quot; Then
244*b1cdbd2cSJim Jagielski		thiscomponent.getcurrentcontroller.select(oCurStart)
245*b1cdbd2cSJim Jagielski		CR_before
246*b1cdbd2cSJim Jagielski		GoUp(1)
247*b1cdbd2cSJim Jagielski		InsertTag(&quot;SECTION_&quot;,&quot;&lt;SECTION id=&quot;&quot;&quot;+sSectionName+&quot;&quot;&quot;&gt;&quot;)
248*b1cdbd2cSJim Jagielski		SetParaStyle(&quot;hlp_aux_section&quot;)
249*b1cdbd2cSJim Jagielski
250*b1cdbd2cSJim Jagielski		thiscomponent.getcurrentcontroller.select(oCurEnd)
251*b1cdbd2cSJim Jagielski		CR
252*b1cdbd2cSJim Jagielski		SetParaStyle(&quot;hlp_aux_section&quot;)
253*b1cdbd2cSJim Jagielski		InsertTag(&quot;_SECTION&quot;,&quot;&lt;/SECTION&gt;&quot;)
254*b1cdbd2cSJim Jagielski	Else
255*b1cdbd2cSJim Jagielski		GoUp(1)
256*b1cdbd2cSJim Jagielski		InsertTagCR(&quot;SECTION_&quot;,&quot;&lt;SECTION id=&quot;&quot;&quot;+sSectionName+&quot;&quot;&quot;&gt;&quot;,&quot;hlp_aux_section&quot;)
257*b1cdbd2cSJim Jagielski		CR
258*b1cdbd2cSJim Jagielski		SetParaStyle(&quot;hlp_aux_section&quot;)
259*b1cdbd2cSJim Jagielski		InsertTag(&quot;_SECTION&quot;,&quot;&lt;/SECTION&gt;&quot;)
260*b1cdbd2cSJim Jagielski		GoUp(1)
261*b1cdbd2cSJim Jagielski		SetParaStyle(&quot;hlp_default&quot;)
262*b1cdbd2cSJim Jagielski	End If
263*b1cdbd2cSJim Jagielski
264*b1cdbd2cSJim Jagielskiend sub
265*b1cdbd2cSJim Jagielski
266*b1cdbd2cSJim JagielskiSub ToggleParaL10NStatus
267*b1cdbd2cSJim Jagielski
268*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
269*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
270*b1cdbd2cSJim Jagielski		Exit Sub
271*b1cdbd2cSJim Jagielski	End If
272*b1cdbd2cSJim Jagielski
273*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
274*b1cdbd2cSJim Jagielski	oCur = oSel(0).getText.createTextCursorByRange(oSel(0))
275*b1cdbd2cSJim Jagielski
276*b1cdbd2cSJim Jagielski	oCur.gotoStartOfParagraph(0)
277*b1cdbd2cSJim Jagielski	CharStyle = oCur.charStyleName
278*b1cdbd2cSJim Jagielski
279*b1cdbd2cSJim Jagielski	arParaData = GetParaData
280*b1cdbd2cSJim Jagielski	sID = arParaData(0)
281*b1cdbd2cSJim Jagielski	slocalize = arParaData(1)
282*b1cdbd2cSJim Jagielski	sMsg = arParaData(2)
283*b1cdbd2cSJim Jagielski
284*b1cdbd2cSJim Jagielski	If sMsg &lt;&gt; &quot;&quot; Then
285*b1cdbd2cSJim Jagielski		msgbox &quot;Error in paragraph status:&quot;+chr(13)+sMsg,48,&quot;Error&quot;
286*b1cdbd2cSJim Jagielski		Exit Sub
287*b1cdbd2cSJim Jagielski	End If
288*b1cdbd2cSJim Jagielski
289*b1cdbd2cSJim Jagielski
290*b1cdbd2cSJim Jagielski	If (sID = &quot;&quot;) Then
291*b1cdbd2cSJim Jagielski		msgbox &quot;Paragraph has no ID. Assigning ID.&quot;,48,&quot;Info&quot;
292*b1cdbd2cSJim Jagielski		InsertNewParaData
293*b1cdbd2cSJim Jagielski		thiscomponent.getcurrentcontroller.select(oSel(0))
294*b1cdbd2cSJim Jagielski		arParaData = GetParaData
295*b1cdbd2cSJim Jagielski		sID = arParaData(0)
296*b1cdbd2cSJim Jagielski		slocalize = arParaData(1)
297*b1cdbd2cSJim Jagielski		sMsg = arParaData(2)
298*b1cdbd2cSJim Jagielski	End If
299*b1cdbd2cSJim Jagielski
300*b1cdbd2cSJim Jagielski	If slocalize = &quot;no&quot; Then
301*b1cdbd2cSJim Jagielski		SetParaData(sID,&quot;yes&quot;)
302*b1cdbd2cSJim Jagielski	Else
303*b1cdbd2cSJim Jagielski		SetParaData(sID,&quot;no&quot;)
304*b1cdbd2cSJim Jagielski	End If
305*b1cdbd2cSJim Jagielski
306*b1cdbd2cSJim Jagielski	thiscomponent.getcurrentcontroller.select(oSel(0))
307*b1cdbd2cSJim Jagielski
308*b1cdbd2cSJim JagielskiEnd Sub
309*b1cdbd2cSJim Jagielski
310*b1cdbd2cSJim Jagielski
311*b1cdbd2cSJim JagielskiSub LocalizeImage
312*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
313*b1cdbd2cSJim Jagielski	If oSel(0).ImplementationName &lt;&gt; &quot;SwXTextGraphicObject&quot; Then
314*b1cdbd2cSJim Jagielski		msgbox &quot;Please select an image&quot;
315*b1cdbd2cSJim Jagielski	Else
316*b1cdbd2cSJim Jagielski		If Instr(oSel(0).Name,&quot; &quot;)&gt;0 Then
317*b1cdbd2cSJim Jagielski			oSel(0).Name = Left(oSel(0).Name,Instr(oSel(0).Name,&quot; &quot;)-1)
318*b1cdbd2cSJim Jagielski		End If
319*b1cdbd2cSJim Jagielski		oSel(0).Name = oSel(0).Name + &quot; localize=&quot;&quot;true&quot;&quot;&quot;
320*b1cdbd2cSJim Jagielski	End If
321*b1cdbd2cSJim Jagielski	SetBorder
322*b1cdbd2cSJim JagielskiEnd Sub
323*b1cdbd2cSJim Jagielski
324*b1cdbd2cSJim Jagielski
325*b1cdbd2cSJim JagielskiSub UnLocalizeImage
326*b1cdbd2cSJim Jagielski	oSel = thiscomponent.getcurrentcontroller.getselection
327*b1cdbd2cSJim Jagielski	If oSel(0).ImplementationName &lt;&gt; &quot;SwXTextGraphicObject&quot; Then
328*b1cdbd2cSJim Jagielski		msgbox &quot;Please select an image&quot;
329*b1cdbd2cSJim Jagielski	Else
330*b1cdbd2cSJim Jagielski
331*b1cdbd2cSJim Jagielski		If Instr(oSel(0).Name,&quot; &quot;)&gt;0 Then
332*b1cdbd2cSJim Jagielski			oSel(0).Name = Left(oSel(0).Name,Instr(oSel(0).Name,&quot; &quot;)-1)
333*b1cdbd2cSJim Jagielski		End If
334*b1cdbd2cSJim Jagielski		UnsetBorder
335*b1cdbd2cSJim Jagielski	End If
336*b1cdbd2cSJim Jagielski
337*b1cdbd2cSJim JagielskiEnd Sub
338*b1cdbd2cSJim Jagielski
339*b1cdbd2cSJim Jagielski
340*b1cdbd2cSJim JagielskiSub ResetAllParaStatusValues
341*b1cdbd2cSJim Jagielski	REM ... to be done
342*b1cdbd2cSJim JagielskiEnd Sub
343*b1cdbd2cSJim Jagielski
344*b1cdbd2cSJim JagielskiSub InsertHowToGet
345*b1cdbd2cSJim Jagielski
346*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
347*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
348*b1cdbd2cSJim Jagielski		Exit Sub
349*b1cdbd2cSJim Jagielski	End If
350*b1cdbd2cSJim Jagielski
351*b1cdbd2cSJim Jagielski	document   = ThisComponent.CurrentController.Frame
352*b1cdbd2cSJim Jagielski	dispatcher = createUnoService(&quot;com.sun.star.frame.DispatchHelper&quot;)
353*b1cdbd2cSJim Jagielski
354*b1cdbd2cSJim Jagielski	dim args(6) as new com.sun.star.beans.PropertyValue
355*b1cdbd2cSJim Jagielski	args(0).Name = &quot;RegionName&quot;
356*b1cdbd2cSJim Jagielski	args(0).Value = &quot;howtoget&quot;
357*b1cdbd2cSJim Jagielski	args(1).Name = &quot;RegionCondition&quot;
358*b1cdbd2cSJim Jagielski	args(1).Value = &quot;&quot;
359*b1cdbd2cSJim Jagielski	args(2).Name = &quot;RegionHidden&quot;
360*b1cdbd2cSJim Jagielski	args(2).Value = false
361*b1cdbd2cSJim Jagielski	args(3).Name = &quot;RegionProtect&quot;
362*b1cdbd2cSJim Jagielski	args(3).Value = false
363*b1cdbd2cSJim Jagielski	args(4).Name = &quot;LinkName&quot;
364*b1cdbd2cSJim Jagielski	args(4).Value = &quot;&quot;
365*b1cdbd2cSJim Jagielski	args(5).Name = &quot;FilterName&quot;
366*b1cdbd2cSJim Jagielski	args(5).Value = &quot;&quot;
367*b1cdbd2cSJim Jagielski	args(6).Name = &quot;SubRegion&quot;
368*b1cdbd2cSJim Jagielski	args(6).Value = &quot;&quot;
369*b1cdbd2cSJim Jagielski
370*b1cdbd2cSJim Jagielski	dispatcher.executeDispatch(document, &quot;.uno:InsertSection&quot;, &quot;&quot;, 0, args())
371*b1cdbd2cSJim Jagielski	GoUp(1)
372*b1cdbd2cSJim Jagielski	InsertTagCR(&quot;SECTION_&quot;,&quot;&lt;SECTION id=&quot;&quot;howtoget&quot;&quot;&gt;&quot;,&quot;hlp_aux_section&quot;)
373*b1cdbd2cSJim Jagielski	CR
374*b1cdbd2cSJim Jagielski	SetParaStyle(&quot;hlp_aux_section&quot;)
375*b1cdbd2cSJim Jagielski	InsertTag(&quot;_SECTION&quot;,&quot;&lt;/SECTION&gt;&quot;)
376*b1cdbd2cSJim Jagielski	GoUp(1)
377*b1cdbd2cSJim Jagielski	SetParaStyle(&quot;hlp_default&quot;)
378*b1cdbd2cSJim Jagielski&apos;	Embed.Main(false)
379*b1cdbd2cSJim JagielskiEnd Sub
380*b1cdbd2cSJim Jagielski
381*b1cdbd2cSJim JagielskiSub InsertRelatedTopics
382*b1cdbd2cSJim Jagielski
383*b1cdbd2cSJim Jagielski	If not IsHelpFile Then
384*b1cdbd2cSJim Jagielski		msgbox(strErr_NoHelpFile)
385*b1cdbd2cSJim Jagielski		Exit Sub
386*b1cdbd2cSJim Jagielski	End If
387*b1cdbd2cSJim Jagielski
388*b1cdbd2cSJim Jagielski	document   = ThisComponent.CurrentController.Frame
389*b1cdbd2cSJim Jagielski	dispatcher = createUnoService(&quot;com.sun.star.frame.DispatchHelper&quot;)
390*b1cdbd2cSJim Jagielski
391*b1cdbd2cSJim Jagielski	dim args(6) as new com.sun.star.beans.PropertyValue
392*b1cdbd2cSJim Jagielski	args(0).Name = &quot;RegionName&quot;
393*b1cdbd2cSJim Jagielski	args(0).Value = &quot;relatedtopics&quot;
394*b1cdbd2cSJim Jagielski	args(1).Name = &quot;RegionCondition&quot;
395*b1cdbd2cSJim Jagielski	args(1).Value = &quot;&quot;
396*b1cdbd2cSJim Jagielski	args(2).Name = &quot;RegionHidden&quot;
397*b1cdbd2cSJim Jagielski	args(2).Value = false
398*b1cdbd2cSJim Jagielski	args(3).Name = &quot;RegionProtect&quot;
399*b1cdbd2cSJim Jagielski	args(3).Value = false
400*b1cdbd2cSJim Jagielski	args(4).Name = &quot;LinkName&quot;
401*b1cdbd2cSJim Jagielski	args(4).Value = &quot;&quot;
402*b1cdbd2cSJim Jagielski	args(5).Name = &quot;FilterName&quot;
403*b1cdbd2cSJim Jagielski	args(5).Value = &quot;&quot;
404*b1cdbd2cSJim Jagielski	args(6).Name = &quot;SubRegion&quot;
405*b1cdbd2cSJim Jagielski	args(6).Value = &quot;&quot;
406*b1cdbd2cSJim Jagielski
407*b1cdbd2cSJim Jagielski	dispatcher.executeDispatch(document, &quot;.uno:InsertSection&quot;, &quot;&quot;, 0, args())
408*b1cdbd2cSJim Jagielski	GoUp(1)
409*b1cdbd2cSJim Jagielski	InsertTagCR(&quot;SECTION_&quot;,&quot;&lt;SECTION id=&quot;&quot;relatedtopics&quot;&quot;&gt;&quot;,&quot;hlp_aux_section&quot;)
410*b1cdbd2cSJim Jagielski	CR
411*b1cdbd2cSJim Jagielski	SetParaStyle(&quot;hlp_aux_section&quot;)
412*b1cdbd2cSJim Jagielski	InsertTag(&quot;_SECTION&quot;,&quot;&lt;/SECTION&gt;&quot;)
413*b1cdbd2cSJim Jagielski	GoUp(1)
414*b1cdbd2cSJim Jagielski	SetParaStyle(&quot;hlp_default&quot;)
415*b1cdbd2cSJim JagielskiEnd Sub
416*b1cdbd2cSJim Jagielski
417*b1cdbd2cSJim Jagielski
418*b1cdbd2cSJim Jagielskisub UnsetBorder
419*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
420*b1cdbd2cSJim Jagielskirem define variables
421*b1cdbd2cSJim Jagielskidim document   as object
422*b1cdbd2cSJim Jagielskidim dispatcher as object
423*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
424*b1cdbd2cSJim Jagielskirem get access to the document
425*b1cdbd2cSJim Jagielskidocument   = ThisComponent.CurrentController.Frame
426*b1cdbd2cSJim Jagielskidispatcher = createUnoService(&quot;com.sun.star.frame.DispatchHelper&quot;)
427*b1cdbd2cSJim Jagielski
428*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
429*b1cdbd2cSJim Jagielskidim args1(7) as new com.sun.star.beans.PropertyValue
430*b1cdbd2cSJim Jagielskiargs1(0).Name = &quot;BorderOuter.LeftBorder&quot;
431*b1cdbd2cSJim Jagielskiargs1(0).Value = Array(0,0,0,0)
432*b1cdbd2cSJim Jagielskiargs1(1).Name = &quot;BorderOuter.LeftDistance&quot;
433*b1cdbd2cSJim Jagielskiargs1(1).Value = 10
434*b1cdbd2cSJim Jagielskiargs1(2).Name = &quot;BorderOuter.RightBorder&quot;
435*b1cdbd2cSJim Jagielskiargs1(2).Value = Array(0,0,0,0)
436*b1cdbd2cSJim Jagielskiargs1(3).Name = &quot;BorderOuter.RightDistance&quot;
437*b1cdbd2cSJim Jagielskiargs1(3).Value = 0
438*b1cdbd2cSJim Jagielskiargs1(4).Name = &quot;BorderOuter.TopBorder&quot;
439*b1cdbd2cSJim Jagielskiargs1(4).Value = Array(0,0,0,0)
440*b1cdbd2cSJim Jagielskiargs1(5).Name = &quot;BorderOuter.TopDistance&quot;
441*b1cdbd2cSJim Jagielskiargs1(5).Value = 0
442*b1cdbd2cSJim Jagielskiargs1(6).Name = &quot;BorderOuter.BottomBorder&quot;
443*b1cdbd2cSJim Jagielskiargs1(6).Value = Array(0,0,0,0)
444*b1cdbd2cSJim Jagielskiargs1(7).Name = &quot;BorderOuter.BottomDistance&quot;
445*b1cdbd2cSJim Jagielskiargs1(7).Value = 0
446*b1cdbd2cSJim Jagielski
447*b1cdbd2cSJim Jagielskidispatcher.executeDispatch(document, &quot;.uno:BorderOuter&quot;, &quot;&quot;, 0, args1())
448*b1cdbd2cSJim Jagielski
449*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
450*b1cdbd2cSJim Jagielskidim args2(4) as new com.sun.star.beans.PropertyValue
451*b1cdbd2cSJim Jagielskiargs2(0).Name = &quot;BorderInner.Horizontal&quot;
452*b1cdbd2cSJim Jagielskiargs2(0).Value = Array(0,0,0,0)
453*b1cdbd2cSJim Jagielskiargs2(1).Name = &quot;BorderInner.Vertical&quot;
454*b1cdbd2cSJim Jagielskiargs2(1).Value = Array(0,0,0,0)
455*b1cdbd2cSJim Jagielskiargs2(2).Name = &quot;BorderInner.Flags&quot;
456*b1cdbd2cSJim Jagielskiargs2(2).Value = 2
457*b1cdbd2cSJim Jagielskiargs2(3).Name = &quot;BorderInner.ValidFlags&quot;
458*b1cdbd2cSJim Jagielskiargs2(3).Value = 63
459*b1cdbd2cSJim Jagielskiargs2(4).Name = &quot;BorderInner.DefaultDistance&quot;
460*b1cdbd2cSJim Jagielskiargs2(4).Value = 0
461*b1cdbd2cSJim Jagielski
462*b1cdbd2cSJim Jagielskidispatcher.executeDispatch(document, &quot;.uno:BorderInner&quot;, &quot;&quot;, 0, args2())
463*b1cdbd2cSJim Jagielski
464*b1cdbd2cSJim Jagielski
465*b1cdbd2cSJim Jagielskiend sub
466*b1cdbd2cSJim Jagielski
467*b1cdbd2cSJim Jagielski
468*b1cdbd2cSJim Jagielski
469*b1cdbd2cSJim Jagielskisub SetBorder
470*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
471*b1cdbd2cSJim Jagielskirem define variables
472*b1cdbd2cSJim Jagielskidim document   as object
473*b1cdbd2cSJim Jagielskidim dispatcher as object
474*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
475*b1cdbd2cSJim Jagielskirem get access to the document
476*b1cdbd2cSJim Jagielskidocument   = ThisComponent.CurrentController.Frame
477*b1cdbd2cSJim Jagielskidispatcher = createUnoService(&quot;com.sun.star.frame.DispatchHelper&quot;)
478*b1cdbd2cSJim Jagielski
479*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
480*b1cdbd2cSJim Jagielskidim args1(7) as new com.sun.star.beans.PropertyValue
481*b1cdbd2cSJim Jagielskiargs1(0).Name = &quot;BorderOuter.LeftBorder&quot;
482*b1cdbd2cSJim Jagielskiargs1(0).Value = Array(15167232,0,88,0)
483*b1cdbd2cSJim Jagielskiargs1(1).Name = &quot;BorderOuter.LeftDistance&quot;
484*b1cdbd2cSJim Jagielskiargs1(1).Value = 101
485*b1cdbd2cSJim Jagielskiargs1(2).Name = &quot;BorderOuter.RightBorder&quot;
486*b1cdbd2cSJim Jagielskiargs1(2).Value = Array(15167232,0,88,0)
487*b1cdbd2cSJim Jagielskiargs1(3).Name = &quot;BorderOuter.RightDistance&quot;
488*b1cdbd2cSJim Jagielskiargs1(3).Value = 101
489*b1cdbd2cSJim Jagielskiargs1(4).Name = &quot;BorderOuter.TopBorder&quot;
490*b1cdbd2cSJim Jagielskiargs1(4).Value = Array(15167232,0,88,0)
491*b1cdbd2cSJim Jagielskiargs1(5).Name = &quot;BorderOuter.TopDistance&quot;
492*b1cdbd2cSJim Jagielskiargs1(5).Value = 101
493*b1cdbd2cSJim Jagielskiargs1(6).Name = &quot;BorderOuter.BottomBorder&quot;
494*b1cdbd2cSJim Jagielskiargs1(6).Value = Array(15167232,0,88,0)
495*b1cdbd2cSJim Jagielskiargs1(7).Name = &quot;BorderOuter.BottomDistance&quot;
496*b1cdbd2cSJim Jagielskiargs1(7).Value = 101
497*b1cdbd2cSJim Jagielski
498*b1cdbd2cSJim Jagielskidispatcher.executeDispatch(document, &quot;.uno:BorderOuter&quot;, &quot;&quot;, 0, args1())
499*b1cdbd2cSJim Jagielski
500*b1cdbd2cSJim Jagielskirem ----------------------------------------------------------------------
501*b1cdbd2cSJim Jagielskidim args2(4) as new com.sun.star.beans.PropertyValue
502*b1cdbd2cSJim Jagielskiargs2(0).Name = &quot;BorderInner.Horizontal&quot;
503*b1cdbd2cSJim Jagielskiargs2(0).Value = Array(0,0,0,0)
504*b1cdbd2cSJim Jagielskiargs2(1).Name = &quot;BorderInner.Vertical&quot;
505*b1cdbd2cSJim Jagielskiargs2(1).Value = Array(0,0,0,0)
506*b1cdbd2cSJim Jagielskiargs2(2).Name = &quot;BorderInner.Flags&quot;
507*b1cdbd2cSJim Jagielskiargs2(2).Value = 2
508*b1cdbd2cSJim Jagielskiargs2(3).Name = &quot;BorderInner.ValidFlags&quot;
509*b1cdbd2cSJim Jagielskiargs2(3).Value = 127
510*b1cdbd2cSJim Jagielskiargs2(4).Name = &quot;BorderInner.DefaultDistance&quot;
511*b1cdbd2cSJim Jagielskiargs2(4).Value = 0
512*b1cdbd2cSJim Jagielski
513*b1cdbd2cSJim Jagielskidispatcher.executeDispatch(document, &quot;.uno:BorderInner&quot;, &quot;&quot;, 0, args2())
514*b1cdbd2cSJim Jagielski
515*b1cdbd2cSJim Jagielski
516*b1cdbd2cSJim Jagielskiend sub
517*b1cdbd2cSJim Jagielski</script:module>
518