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