summaryrefslogtreecommitdiff
path: root/wizards/source/scriptforge/SF_PythonHelper.xba
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/source/scriptforge/SF_PythonHelper.xba')
-rw-r--r--wizards/source/scriptforge/SF_PythonHelper.xba86
1 files changed, 50 insertions, 36 deletions
diff --git a/wizards/source/scriptforge/SF_PythonHelper.xba b/wizards/source/scriptforge/SF_PythonHelper.xba
index 442a4bd1b856..d2b8f3276f43 100644
--- a/wizards/source/scriptforge/SF_PythonHelper.xba
+++ b/wizards/source/scriptforge/SF_PythonHelper.xba
@@ -712,6 +712,7 @@ Try:
vBasicObject = _SF_.PythonStorage(BasicObject)
sObjectType = vBasicObject.ObjectType
sServiceName = vBasicObject.ServiceName
+
' Basic modules have type = "SF_*"
bBasicClass = ( Left(sObjectType, 3) <> "SF_" )
sLibrary = Split(sServiceName, ".")(0)
@@ -727,10 +728,17 @@ Try:
ElseIf Not bBasicClass And _
(((CallType And vbMethod) + (CallType And cstArgArray)) = vbMethod + cstArgArray Or _
((CallType And vbMethod) + (CallType And cstRetArray)) = vbMethod + cstRetArray) Then
- Select Case sServiceName
- Case "ScriptForge.Array"
- If Script = "ImportFromCSVFile" Then vReturn = SF_Array.ImportFromCSVFile(vArgs(0), vArgs(1), vArgs(2), True)
- End Select
+ ' Not service related
+ If Script = "Methods" Then
+ vReturn = vBasicObject.Methods()
+ ElseIf Script = "Properties" Then
+ vReturn = vBasicObject.Properties()
+ Else
+ Select Case sServiceName
+ Case "ScriptForge.Array"
+ If Script = "ImportFromCSVFile" Then vReturn = SF_Array.ImportFromCSVFile(vArgs(0), vArgs(1), vArgs(2), True)
+ End Select
+ End If
' Methods in usual modules are called by ExecuteBasicScript() except if they use a ParamArray
ElseIf Not bBasicClass And (CallType And vbMethod) = vbMethod Then
@@ -759,38 +767,44 @@ Try:
' Methods in class modules using a 2D array or returning arrays are hardcoded as exceptions. Bug #138155
ElseIf ((CallType And vbMethod) + (CallType And cstArgArray)) = vbMethod + cstArgArray Or _
((CallType And vbMethod) + (CallType And cstRetArray)) = vbMethod + cstRetArray Then
- Select Case sServiceName
- Case "SFDatabases.Database"
- If Script = "GetRows" Then vReturn = vBasicObject.GetRows(vArgs(0), vArgs(1), vArgs(2), vArgs(3))
- Case "SFDialogs.Dialog"
- If Script = "Controls" Then vReturn = vBasicObject.Controls(vArgs(0))
- Case "SFDialogs.DialogControl"
- If Script = "SetTableData" Then vReturn = vBasicObject.SetTableData(vArgs(0), vArgs(1), vArgs(2))
- Case "SFDocuments.Document"
- If Script = "Forms" Then vReturn = vBasicObject.Forms(vArgs(0))
- Case "SFDocuments.Base"
- Select Case Script
- Case "FormDocuments" : vReturn = vBasicObject.FormDocuments()
- Case "Forms" : vReturn = vBasicObject.Forms(vArgs(0), vArgs(1))
- End Select
- Case "SFDocuments.Calc"
- Select Case Script
- Case "Charts" : vReturn = vBasicObject.Charts(vArgs(0), vArgs(1))
- Case "Forms" : vReturn = vBasicObject.Forms(vArgs(0), vArgs(1))
- Case "GetFormula" : vReturn = vBasicObject.GetFormula(vArgs(0))
- Case "GetValue" : vReturn = vBasicObject.GetValue(vArgs(0))
- Case "SetArray" : vReturn = vBasicObject.SetArray(vArgs(0), vArgs(1))
- Case "SetFormula" : vReturn = vBasicObject.SetFormula(vArgs(0), vArgs(1))
- Case "SetValue" : vReturn = vBasicObject.SetValue(vArgs(0), vArgs(1))
- End Select
- Case "SFDocuments.Form"
- Select Case Script
- Case "Controls" : vReturn = vBasicObject.Controls(vArgs(0))
- Case "Subforms" : vReturn = vBasicObject.Subforms(vArgs(0))
- End Select
- Case "SFDocuments.FormControl"
- If Script = "Controls" Then vReturn = vBasicObject.Controls(vArgs(0))
- End Select
+ If Script = "Methods" Then
+ vReturn = vBasicObject.Methods()
+ ElseIf Script = "Properties" Then
+ vReturn = vBasicObject.Properties()
+ Else
+ Select Case sServiceName
+ Case "SFDatabases.Database"
+ If Script = "GetRows" Then vReturn = vBasicObject.GetRows(vArgs(0), vArgs(1), vArgs(2), vArgs(3))
+ Case "SFDialogs.Dialog"
+ If Script = "Controls" Then vReturn = vBasicObject.Controls(vArgs(0))
+ Case "SFDialogs.DialogControl"
+ If Script = "SetTableData" Then vReturn = vBasicObject.SetTableData(vArgs(0), vArgs(1), vArgs(2))
+ Case "SFDocuments.Document"
+ If Script = "Forms" Then vReturn = vBasicObject.Forms(vArgs(0))
+ Case "SFDocuments.Base"
+ Select Case Script
+ Case "FormDocuments" : vReturn = vBasicObject.FormDocuments()
+ Case "Forms" : vReturn = vBasicObject.Forms(vArgs(0), vArgs(1))
+ End Select
+ Case "SFDocuments.Calc"
+ Select Case Script
+ Case "Charts" : vReturn = vBasicObject.Charts(vArgs(0), vArgs(1))
+ Case "Forms" : vReturn = vBasicObject.Forms(vArgs(0), vArgs(1))
+ Case "GetFormula" : vReturn = vBasicObject.GetFormula(vArgs(0))
+ Case "GetValue" : vReturn = vBasicObject.GetValue(vArgs(0))
+ Case "SetArray" : vReturn = vBasicObject.SetArray(vArgs(0), vArgs(1))
+ Case "SetFormula" : vReturn = vBasicObject.SetFormula(vArgs(0), vArgs(1))
+ Case "SetValue" : vReturn = vBasicObject.SetValue(vArgs(0), vArgs(1))
+ End Select
+ Case "SFDocuments.Form"
+ Select Case Script
+ Case "Controls" : vReturn = vBasicObject.Controls(vArgs(0))
+ Case "Subforms" : vReturn = vBasicObject.Subforms(vArgs(0))
+ End Select
+ Case "SFDocuments.FormControl"
+ If Script = "Controls" Then vReturn = vBasicObject.Controls(vArgs(0))
+ End Select
+ End If
' Methods in class modules are invoked with CallByName
ElseIf bBasicClass And ((CallType And vbMethod) = vbMethod) Then