LibreOffice logo
BASEDOCUMENTER
The software tool for documenting your LibreOffice Base applications
 
Database file/home/jean-pierre/Documents/BaseDocumenter/www/databases/Basic/XRay.odb
File actual save date2018-07-29 12:45:41
Scanning done on2018-07-16 18:35:44
Documentation generated on2018-07-29 18:30:22
Table of contents
XRay
List of modules
Location Library Module name Module type Number of code lines Procedures by module Declaratives
Application XrayTool _Main Standard 1378 addShortTypeStr
addValueToDisplay
buildAllMethodsNamesInterfaces
changeDisplay
checkAndDisplayNewObject
createPropertyComments
explainAttribute
explainPropertyCaracteristics
explainPseudoPropertyCaracteristics
explainRealProperty
foundInXrayList
getPropertyCategory
getPseudoPropInterface
getShortTypeStr
getValueOfProperty
initXrayDisplay
interfacesString
listenersString
methodsString
methodsUsingAnyListener
prepareXray
properties2String
propertiesPanelString
servicesString
simplifiedArrayElementString
simplifiedMethodString
simplifiedPropertyString
simplifiedStructureElementString
structure2String
Xray
XrayDeeper2
XrayThisArrayElement
XrayThisMethod
XrayThisProperty
XrayThisStructureElement
REM  *****  BASIC  *****

Option Explicit

'********************************************************************************
' This library is Copyright (C) 2003-2012 Bernard Marcelly , except otherwise indicated

' Licensed 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.

'******************************************************************************

' this constant is used by sub : createDialogue and by Msgbox
Public Const Libname = "XrayTool"

'____________________________________________________________

Public XrDial As Object
Public OOoReflection As Object, OOoTypeDescr As Object
Public invocCurrObj As Object, classeIDL As Object, introCurrObj As Object
Public OriginalObj As Variant, CurrentObj As Variant
Public CurrentObjQualifiedName As String, XrayDisplayWhat As String
Public searchTexts As String
Public showAll As Boolean

Public LF As String ' end of line (Unix)
Public emptyLine As String ' LF and space, to simplify code

Public Const tooWideStr = "<...>", emptyValStr = "<empty>", nullValStr = "<null>", errorValStr = "<error>"
Public Const enumInfo = "enum: "
Public Const showMinimal = 0, showFullString = 1, showHexaValue = 2 ' binary flags, argument in Value2Str()

Public Const F3name = 0, F3attribProp = 1, F3parameters = 1, F3set = 2, F3type = 3, F3value = 4
Public Const F3important = 5, F3notes = 6, F3Color = 7, F3get = 8, F3Interface_Service = 9
Public Const F3canXray = 10, F3max = 10

' _______________________________________________________________________


Private XrObject(99) As Variant
Private TypeClass2Basic As Variant, TypeClassIsPropReadable As Variant, BasicTypeIsPropReadable As Variant
Private pseudoprop As Variant
Private propValPos As Long, propValMinWidth As Long
Private allPropsNames As String ' contains : £name1££name1££nameN£
Private allMethodsNamesInterfaces As String ' contains : empty or £name1£interface1££name2£interface2££nameN£interfaceN£

Private Const propTypePos = 27
Private Const methArgsPos = 27
Private Const methReturnPos = 60
Private Const methInterfPos = 120
Private Const interfacePos = 60
Private Const acceptedParamTypes = "£char£string£boolean£byte£short£integer£long£hyper£double£"
Private Const ambiguousMethodFlag = " ?"

Private Const notReadable = 0, dataIsAny = 1, arrayProp = 4, noDisplay = 5, OKreadable = 9


' ***** Warning ****** Do not try to Xray within Xray !! *******
Application XrayTool _UITexts Standard 158 TextTranslation
REM  *****  BASIC  *****

Option Explicit


' +++++ Note to translators +++++
' You should translate
' - All text Constants in this module, see further down. Keep starting spaces in the text.
' - All texts in the controls of all Dialog modules
' No other part needs translation.
' Do not change the names of modules !
' Do not change the names of the controls !

'********************************************************************************
' This library is Copyright (C) 2003-2012 Bernard Marcelly , except otherwise indicated

' Licensed 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.

'******************************************************************************


' this constant is used by sub : createDialogue and by Msgbox
Public Const WindowTitle = "Xray Rev 6.0 en "

Public Const txt0101 = "List of supported services"
Public Const txt0102 = "List of available services"
Public Const txt0105 = "No documentation for : "
Public Const txt0106 = "Please wait..."
Public Const txt0108 = "Xray can't analyse this object (introspection is not possible)."
Public Const txt0109 = "The property or method returns the current object."
Public Const txt0111 = "The parameter value may be incorrect."
Public Const txt0112 = "Displaying documentation on : "
Public Const txt0113 = "Initial object"
Public Const txt0114 = " *** Click Xray button to display the value. ***"
Public Const txt0115 = "( no name )"
Public Const txt0116 = " ( nothing to display ) "
Public Const txt0117 = "Xray impossible because this method returns nothing"
Public Const txt0119 = "Xray impossible because the parameter is not of a simple type"
Public Const txt0120 = "Xray impossible because this property is write-only"
Public Const txt0121 = "Xray needs an argument : the objet to be analysed."
Public Const txt0124 = "Xray impossible because the method needs too many parameters."
Public Const txt0125 = "The array is too big to be displayed."
Public Const txt0126 = "The array contains %% elements."
Public Const txt0131 = "Click Configuration button to set the address of the API documentation "
Public Const txt0201 = "Array of : "
Public Const txt0202 = "No data (null)"
Public Const txt0203 = "Type : " ' means type of data.
Public Const txt0204 = "Hexadecimal = "
Public Const txt0205 = "Index min = "
Public Const txt0206 = "Index max = "
Public Const txt0207 = "Decimal value = "
Public Const txt0208 = "Data of Basic type : ""Error""" ' do not translate "Error"
Public Const txt0209 = "Null length string"
Public Const txt0210 = "Array : T( "
Public Const txt0211 = " : £ (output only) : £ (input and output) : " ' character £ is a separator
Public Const txt0212 = "Truncated display : too much data."
Public Const txt0213 = "The array has too many dimensions to be displayed."
Public Const txt0214 = "Parameter " ' used for F4 on methods : Parameter 1 : ...
Public Const txt0215 = "No parameter."
Public Const txt0216 = "The method returns nothing."
Public Const txt0219 = "Pseudo-property for : "
Public Const txt0220 = "Read from the property : "
Public Const txt0221 = "Write to the property : "
Public Const txt0222 = "The property can only be written."
Public Const txt0223 = "The property can only be read."
Public Const txt0224 = "Abnormal UNO object : error while reading the value."
Public Const txt0226 = "Empty array."
Public Const txt0227 = "No data (empty)"
Public Const txt0228 = "The method requests a parameter of type : "
Public Const txt0229 = "Name conflict ! Read notes."
Public Const txt0230 = "Value may be <null> or <empty> when not significant. (API term : may be void)"
Public Const txt0231 = "A listener may detect a value change. (API term : bound)"
Public Const txt0232 = "A listener may deny a value change. (API term : constrained)"
Public Const txt0233 = "The property is not stored if the object is saved as a file. (API term : transient)"
Public Const txt0234 = "Value may not be determined. (Terme API : value may be ambiguous)"
Public Const txt0235 = "The property may be assigned its default value. (API term : may be default)"
Public Const txt0236 = "The property may be added or removed. (API term : removeable)"
Public Const txt0237 = "Corresponding to the enumeration : "
Public Const txt0238 = "This method name exists in several interfaces of the object !"
Public Const txt0239 = "Use this method specifying its interface : "
Public Const txt0240 = "Name conflict : several properties have the same name."
Public Const txt0242 = "value"
Public Const txt0243 = "Name conflict : choose the method getXxx of the suitable interface instead of this property. " ' getXxx is a marker
Public Const txt0244 = "Name conflict : choose the method setXxx of the suitable interface instead of this property. " ' setXxx is a marker
Public Const txt0245 = "This pseudo-property is a shortcut for getXxx and setXxx that are exported by two different interfaces! " ' getXxx and setXxx are markers
Public Const txt0250 = "Events watched by this Listener"
Public Const txt0251 = "Methods using this Listener as a parameter"
Public Const txt0252 = "Method exported by the interface : "
Public Const txt0253 = "Methods exported by the interface : "
Public Const txt0260 = "Details of an element of a UNO structure"
Public Const txt0261 = "Details of an element of an array"
Public Const txt0262 = "Details of a property of the object"
Public Const txt0263 = "Détails of a method of the object"
Public Const txt0264 = "Configuration" ' subtitle for DlgInit
Public Const txt0265 = "Find" ' subtitle for DlgFind
Public Const txt0301 = "Download stopped"
Public Const txt0302 = "Current source : local SDK"
Public Const txt0303 = "Current source : Web API"
Public Const txt0304 = "Downloading the index pages will take some time."
Public Const txt0305 = "To stop the download click the button in pushed state."
Public Const txt0306 = "Confirm the configuration by clicking OK on the next page."
Public Const txt0307 = "Web address of the page Global Index A"
Public Const txt0308 = "Downloading page %%." ' %% is a marker
Public Const txt0309 = "This page is missing on the Web site : "
Public Const txt0311 = "Invalid address : the API directories are missing."
Public Const txt0312 = "Can't call the browser. Check Xray configuration."
Public Const txt0313 = "Problem downloading this page from the Web site."
Public Const txt0314 = "The API documentation is now installed."
Public Const txt0341 = "Attribute of interface"
Public Const txt0342 = "Interface exporting this attribute : "
Public Const txt0343 = "Can't find the interface exporting this attribute."
Public Const txt0344 = "Possible interface : see API documentation"
Public Const txt0345 = "This attribute is not found in the interfaces supported by the object, but it exists in other interfaces."
Public Const txt0346 = "The attribute can only be read."
Public Const txt0347 = "The attribute is not stored if the object is saved as a file. (API term : transient)"
Public Const txt0348 = "The attribute may be assigned its default value. (API term : may be default)"
Public Const txt0351 = "Property of a service"
Public Const txt0352 = "Service exporting this property : "
Public Const txt0353 = "Can't find the service exporting this property."
Public Const txt0354 = "Possible service : see API documentation."
Public Const txt0355 = "This property is not found in the services supported by the object, but it exists in other services."
Public Const txt0356 = "This property may be added or removed.Therefore it can't be documented."
Public Const txt0360 = "Check that the obtained information suits your context."
Public Const txt0401 = "Property name" ' header
Public Const txt0402 = "Data Type" ' header
Public Const txt0403 = "Value" ' header
Public Const txt0404 = "Comments" ' header
Public Const txt0405 = "Method name" ' header
Public Const txt0406 = "parameters" ' header
Public Const txt0407 = "returned data type" ' header
Public Const txt0408 = "interface exporting the method" ' header
Public Const txt0409 = "Element name" ' of a UNO structure (header)
Public Const txt0601 = "Name of the color : "
Public Const txt0602 = "No color or automatic color."
Public Const txt0603 = "Red : "
Public Const txt0604 = "Green : "
Public Const txt0605 = "Blue : "




Application XrayTool _Utilities Standard 552 amputeRight
CenterDialog
checkHugeArray
CHex
colorComments
createDialogue
deleteTrail
enableControls
exploreInterfacesOfInterface
exploreServicesOfService
FindFirstFindNext
findInterfaceOfAttribute
findInText
findServiceOfRealProperty
firstWordInCurrentLine
getColorName
getInfo
getLastWordOfString
isControlEnabled
MidP1P2
replaceSpaces
replaceTag
restoreSpaces
searchForAttribute
searchPropertyInService
ShellSort
spaceTo
textFromUniqueStrings
REM  *****  BASIC  *****

Option Explicit



Application XrayTool Mod2 Standard 438 array2String
arrayElement2String
exitPrettyDisplay
fullyQualifiedName
getArrayElement
getEnumStringValue
getShortStringFromValueOfProperty
isWorthXray
keyOnDlgVal
preliminaryDataControl
prettyDisplayPropMethod
TextOfElemX
Value2Str
REM  *****  BASIC  *****

Option Explicit

Public Const ArrayIndexSeparator = "| ", ArrayElementStruct = "Structure : ", ArrayElementObj = "Object : "

Private testPrivateAccess As Boolean ' value = False
Private InfoLines As String
Private Const Spaces1stLine = 10
' **** Dialog DlgVal ****
' step 1 : not used
' step 2 : not used
' step 3 : used by prettyDisplayPropMethod (property)
' step 4 : used by prettyDisplayPropMethod (method)
' *******************************************************

Application XrayTool Mod3 Standard 712 CallBrowser
changeDialogWidthHeight
FocusOnInfoControl
getConfigDirAddress
getConfigFileAddress
getCurrentLineInInfos
getWorkFilePathName
IDLindexesLoadedFromWeb
initConfigData
initDlgXray
keyOnXrayInfo
MouseReleaseOnDisplay
nextStepDlgInit
readXrayConfig
resizeXrDial
SDKindexAddress
SDKpagesAddress
setDisplayFont
setFontSizeWidthDefault
SetSDKpath
SetWebAPIpath
showPrettyDisplay
testFontForDisplay
writeXrayConfig
XrayBack
XrayConfigDialog
XrayDaddyObject
XrayDeeper
XrayOriginalObject
REM  *****  BASIC  *****

Option Explicit


Private XrInit As Object
Private BrowserAddress(3) As String, AlternateBrowserCallMethod As Boolean
Private DefaultXrDialSize As Object, DefaultXrDialHeaderSize As Object, DefaultXrDialInfosSize As Object
Private CurrentXrDialDelta As New com.sun.star.awt.Size
Private startAllInfos As Boolean, startAZorder As Boolean
Private allowXrayDbleClick As Boolean
Private deltaHeightXrDial As Long, deltaWidthXrDial As Long
Private DisplayFontName As String, DisplayFontHeight As Long, DisplayFontWidth As Long
Private SDKdisplayAddr As String, UseLocalSDK As Boolean
Private Const idlPathinSDK = "/docs/common/ref/"

' ______________________________ routines for main Xray window _______________________
Application XrayTool Mod4 Standard 259 BrowseSDK
BrowseSDK2
displayAlternateDoc
findPropertyBookmarks
FindPropertyDoc
FindStructureDoc
getAPInameAfter
getAPInameFrom
isAlternateDoc
LoadSDKglobalIndex
SearchSDKpage
REM  *****  BASIC  *****

Option Explicit

Private SDKdev As Integer
Document Standard Module1 Standard 8 DBOpen  
Application XrayTool Xutils Standard 91 HelperButton
System_URL_conversion
XrayMenu
REM  *****  BASIC  *****

Option Explicit