389 lines
12 KiB
Java
389 lines
12 KiB
Java
![]() |
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||
|
<!--***********************************************************
|
||
|
*
|
||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||
|
* or more contributor license agreements. See the NOTICE file
|
||
|
* distributed with this work for additional information
|
||
|
* regarding copyright ownership. The ASF licenses this file
|
||
|
* to you 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.
|
||
|
*
|
||
|
***********************************************************-->
|
||
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Functions" script:language="StarBasic">REM ***** BASIC *****
|
||
|
Dim DialogVisible As Boolean
|
||
|
Dim TutorStep As Integer
|
||
|
Dim TutorLastStep As Integer
|
||
|
Dim myDialog As Object
|
||
|
Dim myTutorial As Object
|
||
|
Public TutorText() As String
|
||
|
Dim documentTitle As String
|
||
|
Dim exampleUse As Object
|
||
|
Dim properties() As Object
|
||
|
Dim docTYP As String
|
||
|
'public myWidth As Long
|
||
|
Dim myHeight As Long
|
||
|
Dim oTextField As Object
|
||
|
Dim stepTitle As String
|
||
|
Dim oOpenDialogFlag
|
||
|
Dim imageStatus As String
|
||
|
|
||
|
Sub LoadTutorialDialog(exampleToUse, documentTYP)
|
||
|
Init()
|
||
|
exampleUse = exampleToUse
|
||
|
TutorText() = exampleUse.LoadText()
|
||
|
properties() = exampleUse.GetProperties()
|
||
|
If properties(3).Value = "True" Then
|
||
|
Dim localisation(0) As new com.sun.star.beans.NamedValue
|
||
|
localisation(0).Name = "Localisation"
|
||
|
localisation(0).Value = properties()
|
||
|
myTutorial.execute(localisation())
|
||
|
Else
|
||
|
TutorStep = 0
|
||
|
TutorLastStep = 0
|
||
|
docTYP = documentTYP
|
||
|
InitAction()
|
||
|
ShowInfoMain()
|
||
|
DialogVisible = True
|
||
|
myDialog = LoadDialog("Tutorials","TutorialsDialog")
|
||
|
|
||
|
SetTutorialDocumentPosSize()
|
||
|
|
||
|
documentProps = ThisComponent.getDocumentProperties()
|
||
|
myDialog.Title = "Tutorials - " & documentProps.Title
|
||
|
oTextField = myDialog.GetControl("myTextField")
|
||
|
oTextField.setVisible(False)
|
||
|
|
||
|
imageStatus = "MIN"
|
||
|
setMaxMinImage(imageStatus)
|
||
|
|
||
|
'myWidth = myDialog.Size.Width
|
||
|
myHeight = myDialog.Size.Height
|
||
|
|
||
|
CheckForStepShowButtonStatus()
|
||
|
CheckForStepNextButtonStatus()
|
||
|
InitRoadMap()
|
||
|
SetVisibleTrue()
|
||
|
myDialog.model.myTextField.Label = stepTitle
|
||
|
myDialog.model.myText.Label = GetStepText()'TutorText(TutorStep)
|
||
|
|
||
|
|
||
|
Do
|
||
|
wait 1000
|
||
|
Loop Until DialogVisible = False
|
||
|
If( oOpenDialogFlag = True) Then
|
||
|
Destroy()
|
||
|
TutorialOpen.TutorialOpenMain()
|
||
|
Else
|
||
|
Destroy()
|
||
|
End If
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Sub setMaxMinImage(param As String)
|
||
|
On Local Error Goto NOIMAGE
|
||
|
oCommandButton = myDialog.GetControl("CommandButton")
|
||
|
templatePath = GetPathSettings("Template",false, 0)
|
||
|
Dim bitmapPath As String
|
||
|
iPos = InStr(templatePath,"/")
|
||
|
If(iPos > 0) Then
|
||
|
If(param = "MAX") Then
|
||
|
bitmapPath = templatePath & "../wizard/bitmap/maximize.bmp"
|
||
|
ElseIf(param = "MIN") Then
|
||
|
bitmapPath = templatePath & "../wizard/bitmap/minimize.bmp"
|
||
|
End If
|
||
|
Else
|
||
|
If(param = "MAX") Then
|
||
|
bitmapPath = templatePath & "..\wizard\bitmap\maximize.bmp"
|
||
|
ElseIf(param = "MIN") Then
|
||
|
bitmapPath = templatePath & "..\wizard\bitmap\minimize.bmp"
|
||
|
End If
|
||
|
End If
|
||
|
'printdbgInfo oCommandButton.Model
|
||
|
oCommandButton.Model.ImageUrl = bitmapPath
|
||
|
Exit Sub
|
||
|
NOIMAGE:
|
||
|
End Sub
|
||
|
|
||
|
Sub SetTutorialDocumentPosSize()
|
||
|
activDesktopWindow = StarDesktop.activeFrame.ContainerWindow
|
||
|
If(activDesktopWindow.posSize.Height < 550) Then
|
||
|
activDesktopWindow.setPosSize(0,0,0,550,8)
|
||
|
End If
|
||
|
If (activDesktopWindow.posSize.Width < 750 ) Then
|
||
|
activDesktopWindow.setPosSize(0,0,750,0,4)
|
||
|
EndIf
|
||
|
End Sub
|
||
|
|
||
|
Sub InitRoadMap()
|
||
|
RoadMapMain(Functions, myDialog)
|
||
|
SetControlModelPosSize(0, 0, 85, 176)
|
||
|
SetControlModelText("Steps")
|
||
|
|
||
|
StepSize = Ubound(TutorText())
|
||
|
Dim ItemsArray(StepSize) as String
|
||
|
For i = 0 To StepSize
|
||
|
stepcontent = TutorText(i)
|
||
|
iPos = InStr(stepcontent,CHR(13))
|
||
|
ItemName = Left(stepcontent, iPos)
|
||
|
ItemsArray(i) = ItemName
|
||
|
Next i
|
||
|
InsertItemsLabels( ItemsArray())
|
||
|
|
||
|
For i = 1 To StepSize
|
||
|
SetItemEnabled( i, False)
|
||
|
Next i
|
||
|
SetItemEnabled( 0, True)
|
||
|
End Sub
|
||
|
|
||
|
Sub Destroy()
|
||
|
'myDialog.dispose
|
||
|
wait 1000
|
||
|
ShowInfoDialog.DisposeIDialog()
|
||
|
|
||
|
' HIER WIRD DAS DOCUMENT GESCHLOSSEN!!!!!!!! GPF
|
||
|
thisComponent.CurrentController.Frame.close(True)
|
||
|
|
||
|
End Sub
|
||
|
|
||
|
Sub Init
|
||
|
GlobalScope.BasicLibraries.LoadLibrary("Tools")
|
||
|
myTutorial = createUNOService("com.sun.star.wizards.tutorial.executer.CallTutorialFramework")
|
||
|
documentTitle = ThisComponent.getCurrentController.getFrame.Title
|
||
|
End Sub
|
||
|
|
||
|
Sub InitStep
|
||
|
udProps = ThisComponent.DocumentProperties.UserDefinedProperties
|
||
|
If udProps.PropertySetInfo.hasPropertyByName("CurrentStep") Then
|
||
|
TutorStep = udProps.CurrentStep
|
||
|
Else
|
||
|
udProps.addProperty("CurrentStep", 0, TutorStep)
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Sub setStep
|
||
|
ThisComponent.DocumentProperties.UserDefinedProperties.CurrentStep = TutorStep
|
||
|
End Sub
|
||
|
|
||
|
Sub InitAction()
|
||
|
SetStepTitle()
|
||
|
|
||
|
Dim property(6) As new com.sun.star.beans.PropertyValue
|
||
|
property(0).Name = "DocumentTYP"
|
||
|
property(0).Value = docTYP
|
||
|
property(1).Name = "MethodName"
|
||
|
property(1).Value = "setDelay"
|
||
|
property(2).Name = "Param"
|
||
|
property(2).Value = 0 'key insert speed (Millis)
|
||
|
property(3).Name = "Param"
|
||
|
property(3).Value = 4 'mouse animate speed (Millis)
|
||
|
property(4).Name = "Param"
|
||
|
property(4).Value = 2000 'after mouse animate sleep (Millis)
|
||
|
property(5).Name = "Param"
|
||
|
property(5).Value = 10 'mouse scroll speed (Millis)
|
||
|
property(6).Name = "Param"
|
||
|
property(6).Value = -1 'mouse speed (step)
|
||
|
myTutorial.setPropertyValues(property())
|
||
|
End Sub
|
||
|
|
||
|
Sub EndDialog
|
||
|
oOpenDialogFlag = False
|
||
|
If (myDialog.model.done.Label = "Close") Then
|
||
|
TutorialCloseMain()
|
||
|
Else
|
||
|
DialogVisible = False
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Sub NextStep
|
||
|
GotoStep(TutorStep + 1)
|
||
|
End Sub
|
||
|
|
||
|
Sub GotoStep(StepIndex)
|
||
|
If(StepIndex <= Ubound(TutorText())) Then
|
||
|
TutorStep = StepIndex
|
||
|
If TutorStep > TutorLastStep Then
|
||
|
TutorLastStep = TutorStep
|
||
|
End If
|
||
|
If(TutorStep = Ubound(TutorText())) Then
|
||
|
myDialog.model.next.enabled = False
|
||
|
myDialog.model.done.Label = "Done"
|
||
|
myDialog.model.show.Label = "Tutorials"
|
||
|
Else
|
||
|
myDialog.model.next.enabled = True
|
||
|
End If
|
||
|
SetStepTitle()
|
||
|
myDialog.model.myText.Label = GetStepText()
|
||
|
CheckForStepShowButtonStatus()
|
||
|
SetItemEnabled( TutorStep, True)
|
||
|
'setStep()
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Function GetStepText()
|
||
|
Dim tempText As String
|
||
|
tempText = TutorText(TutorStep)
|
||
|
iPos = InStr(tempText,CHR(13))
|
||
|
ResultString = Right(tempText, Len(tempText) - iPos - 1)
|
||
|
GetStepText() = ResultString
|
||
|
End Function
|
||
|
|
||
|
Sub ItemChange(CurrentItemID, SelectitemID)
|
||
|
GotoStep(SelectitemID)
|
||
|
End Sub
|
||
|
|
||
|
Sub SetDisableShowMeButton()
|
||
|
myDialog.model.show.enabled = False
|
||
|
TutorLastStep = TutorLastStep + 1
|
||
|
End Sub
|
||
|
|
||
|
Sub Minimize(aEvent)
|
||
|
ActionItemsTextField = myDialog.GetControl("ActionItemsLabel")
|
||
|
FixedLineVertikal = myDialog.GetControl("FixedLineVertikal")
|
||
|
|
||
|
If myDialog.Size.Height = 35 Then
|
||
|
myDialog.setPosSize(0,0,0,myHeight,8)
|
||
|
oTextField.setVisible(False)
|
||
|
ActionItemsTextField.setVisible(True)
|
||
|
FixedLineVertikal.setVisible(True)
|
||
|
RoadMap.SetVisibleRoadMap(True)
|
||
|
Else
|
||
|
myDialog.setPosSize(0,0,0,35,8)
|
||
|
rmSelectedIndex = RoadMap.GetSelectedIndex() + 1
|
||
|
gsTitle = GetStepTitle()
|
||
|
oTextField.setText(rmSelectedIndex & ". " & gsTitle)
|
||
|
oTextField.setVisible(True)
|
||
|
ActionItemsTextField.setVisible(False)
|
||
|
FixedLineVertikal.setVisible(False)
|
||
|
RoadMap.SetVisibleRoadMap(False)
|
||
|
End If
|
||
|
If(imageStatus = "MAX") Then
|
||
|
imageStatus = "MIN"
|
||
|
ElseIf(imageStatus = "MIN") Then
|
||
|
imageStatus = "MAX"
|
||
|
End If
|
||
|
setMaxMinImage(imageStatus)
|
||
|
|
||
|
End Sub
|
||
|
|
||
|
Sub SetStepTitle()
|
||
|
stepcontent = TutorText(TutorStep)
|
||
|
iPos = InStr(stepcontent,CHR(13))
|
||
|
stepTitle = Left(stepcontent, iPos)
|
||
|
SetStepTitle() = stepTitle
|
||
|
End Sub
|
||
|
|
||
|
Function GetStepTitle()
|
||
|
GetStepTitle() = stepTitle
|
||
|
End Function
|
||
|
|
||
|
Sub CheckForStepShowButtonStatus()
|
||
|
If ((exampleUse.ContainsStepAction() = True And TutorStep = TutorLastStep) Or myDialog.model.show.Label = "Tutorials") Then
|
||
|
myDialog.model.show.enabled = True
|
||
|
Else
|
||
|
myDialog.model.show.enabled = False
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Sub CheckForStepNextButtonStatus()
|
||
|
If(TutorStep = Ubound(TutorText())) Then
|
||
|
myDialog.model.next.enabled = False
|
||
|
myDialog.model.done.Label = "Done"
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Sub Show(aEvent)
|
||
|
'ShowInfoMain()
|
||
|
If( myDialog.model.show.Label = "Tutorials") Then
|
||
|
oOpenDialogFlag = True
|
||
|
DialogVisible = False
|
||
|
Else
|
||
|
SetMousePosition(aEvent)
|
||
|
exampleUse.Action()
|
||
|
End If
|
||
|
End Sub
|
||
|
|
||
|
Sub SetMousePosition(aEvent)
|
||
|
MyPoints() = MousePoints(aEvent)
|
||
|
|
||
|
Dim mousePosition(3) as new com.sun.star.beans.PropertyValue
|
||
|
mousePosition(0).Name = "DocumentTYP"
|
||
|
mousePosition(0).Value = docTYP
|
||
|
mousePosition(1).Name = "MethodName"
|
||
|
mousePosition(1).Value = "setMousePosition"
|
||
|
mousePosition(2).Name = "Param"
|
||
|
mousePosition(2).Value = MyPoints(0)
|
||
|
mousePosition(3).Name = "Param"
|
||
|
mousePosition(3).Value = MyPoints(1)
|
||
|
|
||
|
myTutorial.setPropertyValues(mousePosition())
|
||
|
End Sub
|
||
|
|
||
|
Function MousePoints(aEvent)
|
||
|
Dim position(1) As Integer
|
||
|
position(0) = myDialog.getControl("show").AccessibleContext.LocationOnScreen.X + aEvent.Source.Model.PositionX
|
||
|
position(1) = myDialog.getControl("show").AccessibleContext.LocationOnScreen.Y + aEvent.Source.Model.PositionY
|
||
|
MousePoints = position()
|
||
|
End Function
|
||
|
|
||
|
Function CheckPath(path() As String)
|
||
|
'documentTitle = ThisComponent.getCurrentController.getFrame.Title
|
||
|
sTitle = path(0)
|
||
|
ResultString = Right(sTitle, 3)
|
||
|
iPos = InStr(ResultString,"#")
|
||
|
ResultString = Right(ResultString, Len(ResultString) - iPos)
|
||
|
ResultFrameString = InStr (sTitle, "{D}FRAME#")
|
||
|
If ResultFrameString <> 0 Then
|
||
|
If Not (sTitle = ("{D}FRAME#" & documentTitle & "#" & ResultString)) Then
|
||
|
'path(0) = "{D}FRAME#" & documentTitle & "#" & ResultString
|
||
|
path(0) = "FRAME#" & documentTitle & "#" & ResultString
|
||
|
sTitle = path(1)
|
||
|
ResultString = Right(sTitle, 3)
|
||
|
iPos = InStr(ResultString,"#")
|
||
|
ResultString = Right(ResultString, Len(ResultString) - iPos)
|
||
|
path(1) = "ROOT_PANE#" & documentTitle & "#" & ResultString
|
||
|
Else
|
||
|
'path(0) = "{D}FRAME#" & documentTitle & "#" & ResultString
|
||
|
path(0) = "FRAME#" & documentTitle & "#" & ResultString
|
||
|
End If
|
||
|
End If
|
||
|
End Function
|
||
|
|
||
|
Sub SetVisibleTutorialsDialog(param)
|
||
|
myDialog.setVisible(param)
|
||
|
End Sub
|
||
|
|
||
|
Sub SetVisibleTrue()
|
||
|
myDialog.setVisible(True)
|
||
|
End Sub
|
||
|
|
||
|
Sub SetVisibleFalse()
|
||
|
myDialog.setVisible(False)
|
||
|
End Sub
|
||
|
|
||
|
Sub ExitTutorial()
|
||
|
Dim aUrl As new com.sun.star.util.URL
|
||
|
oDoc = ThisComponent
|
||
|
urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
|
||
|
aUrl.Complete = "slot:5621"
|
||
|
urlTransformer.parseStrict(aUrl)
|
||
|
xController = oDoc.getCurrentController()
|
||
|
xDispatcher = xController.queryDispatch(aUrl, "", 0)
|
||
|
if NOT isNull(xDispatcher) then
|
||
|
xDispatcher.dispatch(aUrl, DimArray())
|
||
|
else
|
||
|
msgBox "Error! Cannot close document."
|
||
|
End If
|
||
|
End Sub
|
||
|
</script:module>
|