xref: /trunk/main/wizards/source/tools/Debug.xba (revision cdf0e10c)
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="Debug" script:language="StarBasic">REM  *****  BASIC  *****
4
5Sub ActivateReadOnlyFlag()
6	SetBasicReadOnlyFlag(True)
7End Sub
8
9
10Sub DeactivateReadOnlyFlag()
11	SetBasicReadOnlyFlag(False)
12End Sub
13
14
15Sub SetBasicReadOnlyFlag(bReadOnly as Boolean)
16Dim i as Integer
17Dim LibName as String
18Dim BasicLibNames() as String
19	BasicLibNames() = BasicLibraries.ElementNames()
20	For i = 0 To Ubound(BasicLibNames())
21		LibName = BasicLibNames(i)
22		If LibName &lt;&gt; &quot;Standard&quot; Then
23			BasicLibraries.SetLibraryReadOnly(LibName, bReadOnly)
24		End If
25	Next i
26End Sub
27
28
29Sub WritedbgInfo(LocObject as Object)
30Dim locUrl as String
31Dim oLocDocument as Object
32Dim oLocText as Object
33Dim oLocCursor as Object
34Dim NoArgs()
35Dim sObjectStrings(2) as String
36Dim sProperties() as String
37Dim n as Integer
38Dim m as Integer
39Dim MaxIndex as Integer
40	sObjectStrings(0) = LocObject.dbg_Properties
41	sObjectStrings(1) = LocObject.dbg_Methods
42	sObjectStrings(2) = LocObject.dbg_SupportedInterfaces
43	LocUrl = &quot;private:factory/swriter&quot;
44	oLocDocument = StarDesktop.LoadComponentFromURL(LocUrl,&quot;_default&quot;,0,NoArgs)
45	oLocText = oLocDocument.text
46	oLocCursor = oLocText.createTextCursor()
47	oLocCursor.gotoStart(False)
48	If Vartype(LocObject) = 9 then	&apos; an Object Variable
49		For n = 0 To 2
50			sProperties() = ArrayoutofString(sObjectStrings(n),&quot;;&quot;, MaxIndex)
51			For m = 0 To MaxIndex
52				oLocText.insertString(oLocCursor,sProperties(m),False)
53				oLocText.insertControlCharacter(oLocCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
54			Next m
55		Next n
56	Elseif Vartype(LocObject) = 8 Then	&apos; a String Variable
57		oLocText.insertString(oLocCursor,LocObject,False)
58	ElseIf Vartype(LocObject) = 1 Then
59		Msgbox(&quot;Variable is Null!&quot;, 16, GetProductName())
60	End If
61End Sub
62
63
64Sub WriteDbgString(LocString as string)
65Dim oLocDesktop as object
66Dim LocUrl as String
67Dim oLocDocument as Object
68Dim oLocCursor as Object
69Dim oLocText as Object
70
71	LocUrl = &quot;private:factory/swriter&quot;
72	oLocDocument = StarDesktop.LoadComponentFromURL(LocUrl,&quot;_default&quot;,0,NoArgs)
73	oLocText = oLocDocument.text
74	oLocCursor = oLocText.createTextCursor()
75	oLocCursor.gotoStart(False)
76	oLocText.insertString(oLocCursor,LocString,False)
77End Sub
78
79
80Sub printdbgInfo(LocObject)
81	If Vartype(LocObject) = 9 then
82		Msgbox LocObject.dbg_properties
83		Msgbox LocObject.dbg_methods
84		Msgbox LocObject.dbg_supportedinterfaces
85	Elseif Vartype(LocObject) = 8 Then	&apos; a String Variable
86		Msgbox LocObject
87	ElseIf Vartype(LocObject) = 0 Then
88		Msgbox(&quot;Variable is Null!&quot;, 16, GetProductName())
89	Else
90		Msgbox(&quot;Type of Variable: &quot; &amp; Typename(LocObject), 48, GetProductName())
91	End If
92End Sub
93
94
95Sub ShowArray(LocArray())
96Dim i as integer
97Dim msgstring
98	msgstring = &quot;&quot;
99	For i = Lbound(LocArray()) to Ubound(LocArray())
100		msgstring = msgstring + LocArray(i) + chr(13)
101	Next
102	Msgbox msgstring
103End Sub
104
105
106Sub ShowPropertyValues(oLocObject as Object)
107Dim PropName as String
108Dim sValues as String
109	On Local Error Goto NOPROPERTYSETINFO:
110	sValues = &quot;&quot;
111	For i = 0 To Ubound(oLocObject.PropertySetInfo.Properties)
112		Propname = oLocObject.PropertySetInfo.Properties(i).Name
113		sValues = sValues &amp; PropName &amp; chr(13) &amp; &quot; = &quot; &amp; oLocObject.GetPropertyValue(PropName) &amp; chr(13)
114	Next i
115	Msgbox(sValues , 64, GetProductName())
116	Exit Sub
117
118NOPROPERTYSETINFO:
119	Msgbox(&quot;Sorry, No PropertySetInfo attached to the object&quot;, 16, GetProductName())
120	Resume LEAVEPROC
121	LEAVEPROC:
122End Sub
123
124
125Sub ShowNameValuePair(Pair())
126Dim i as Integer
127Dim ShowString as String
128	ShowString = &quot;&quot;
129	On Local Error Resume Next
130	For i = 0 To Ubound(Pair())
131		ShowString = ShowString &amp; Pair(i).Name &amp; &quot; = &quot;
132		ShowString = ShowString &amp; Pair(i).Value &amp; chr(13)
133	Next i
134	Msgbox ShowString
135End Sub
136
137
138&apos; Retrieves all the Elements of aSequence of an object, with the
139&apos; possibility to define a filter(sfilter &lt;&gt; &quot;&quot;)
140Sub ShowElementNames(oLocElements() as Object, Optional sFiltername as String)
141Dim i as Integer
142Dim NameString as String
143	NameString = &quot;&quot;
144	For i = 0 To Ubound(oLocElements())
145		If Not IsMissIng(sFilterName) Then
146			If Instr(1, oLocElements(i), sFilterName) Then
147				NameString = NameString &amp; oLocElements(i) &amp; chr(13)
148			End If
149		Else
150			NameString = NameString &amp; oLocElements(i) &amp; chr(13)
151		End If
152	Next i
153	Msgbox(NameString, 64, GetProductName())
154End Sub
155
156
157&apos; Retrieves all the supported servicenames of an object, with the
158&apos; possibility to define a filter(sfilter &lt;&gt; &quot;&quot;)
159Sub ShowSupportedServiceNames(oLocObject as Object, Optional sFilterName as String)
160	On Local Error Goto NOSERVICENAMES
161	If IsMissing(sFilterName) Then
162		ShowElementNames(oLocobject.SupportedServiceNames())
163	Else
164		ShowElementNames(oLocobject.SupportedServiceNames(), sFilterName)
165	End If
166	Exit Sub
167
168	NOSERVICENAMES:
169	Msgbox(&quot;Sorry, No &apos;SupportedServiceNames&apos; - Property attached to the object&quot;, 16, GetProductName())
170	Resume LEAVEPROC
171	LEAVEPROC:
172End Sub
173
174
175&apos; Retrieves all the available Servicenames of an object, with the
176&apos; possibility to define a filter(sfilter &lt;&gt; &quot;&quot;)
177Sub ShowAvailableServiceNames(oLocObject as Object, Optional sFilterName as String)
178	On Local Error Goto NOSERVICENAMES
179	If IsMissing(sFilterName) Then
180		ShowElementNames(oLocobject.AvailableServiceNames)
181	Else
182		ShowElementNames(oLocobject.AvailableServiceNames, sFilterName)
183	End If
184	Exit Sub
185
186	NOSERVICENAMES:
187	Msgbox(&quot;Sorry, No &apos;AvailableServiceNames&apos; - Property attached to the object&quot;, 16, GetProductName())
188	Resume LEAVEPROC
189	LEAVEPROC:
190End Sub
191
192
193Sub ShowCommands(oLocObject as Object)
194	On Local Error Goto NOCOMMANDS
195	ShowElementNames(oLocObject.QueryCommands)
196	Exit Sub
197	NOCOMMANDS:
198	Msgbox(&quot;Sorry, No &apos;QueryCommands&apos; - Property attached to the object&quot;, 16, GetProductName())
199	Resume LEAVEPROC
200	LEAVEPROC:
201End Sub
202
203
204Sub ProtectCurrentSheets()
205Dim oDocument as Object
206Dim sDocType as String
207Dim iResult as Integer
208Dim oSheets as Object
209Dim i as Integer
210Dim bDoProtect as Boolean
211	oDocument = StarDesktop.ActiveFrame.Controller.Model
212	sDocType = GetDocumentType(oDocument)
213	If sDocType = &quot;scalc&quot; Then
214		oSheets = oDocument.Sheets
215		bDoProtect = False
216		For i = 0 To oSheets.Count-1
217			If Not oSheets(i).IsProtected Then
218				bDoProtect = True
219			End If
220		Next i
221		If bDoProtect Then
222			iResult = Msgbox( &quot;Do you want to protect all sheets of this document?&quot;,35, GetProductName())
223			If iResult = 6 Then
224				ProtectSheets(oDocument.Sheets)
225			End If
226		End If
227	End If
228End Sub
229
230
231Sub FillDocument()
232	oMyReport = createUNOService(&quot;com.sun.star.wizards.report.CallReportWizard&quot;)
233	oMyReport.trigger(&quot;fill&quot;)
234End Sub
235
236</script:module>