1*cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?> 2*cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Functions" script:language="StarBasic">REM ***** BASIC ***** 4*cdf0e10cSrcweirDim DialogVisible As Boolean 5*cdf0e10cSrcweirDim TutorStep As Integer 6*cdf0e10cSrcweirDim TutorLastStep As Integer 7*cdf0e10cSrcweirDim myDialog As Object 8*cdf0e10cSrcweirDim myTutorial As Object 9*cdf0e10cSrcweirPublic TutorText() As String 10*cdf0e10cSrcweirDim documentTitle As String 11*cdf0e10cSrcweirDim exampleUse As Object 12*cdf0e10cSrcweirDim properties() As Object 13*cdf0e10cSrcweirDim docTYP As String 14*cdf0e10cSrcweir'public myWidth As Long 15*cdf0e10cSrcweirDim myHeight As Long 16*cdf0e10cSrcweirDim oTextField As Object 17*cdf0e10cSrcweirDim stepTitle As String 18*cdf0e10cSrcweirDim oOpenDialogFlag 19*cdf0e10cSrcweirDim imageStatus As String 20*cdf0e10cSrcweir 21*cdf0e10cSrcweirSub LoadTutorialDialog(exampleToUse, documentTYP) 22*cdf0e10cSrcweir Init() 23*cdf0e10cSrcweir exampleUse = exampleToUse 24*cdf0e10cSrcweir TutorText() = exampleUse.LoadText() 25*cdf0e10cSrcweir properties() = exampleUse.GetProperties() 26*cdf0e10cSrcweir If properties(3).Value = "True" Then 27*cdf0e10cSrcweir Dim localisation(0) As new com.sun.star.beans.NamedValue 28*cdf0e10cSrcweir localisation(0).Name = "Localisation" 29*cdf0e10cSrcweir localisation(0).Value = properties() 30*cdf0e10cSrcweir myTutorial.execute(localisation()) 31*cdf0e10cSrcweir Else 32*cdf0e10cSrcweir TutorStep = 0 33*cdf0e10cSrcweir TutorLastStep = 0 34*cdf0e10cSrcweir docTYP = documentTYP 35*cdf0e10cSrcweir InitAction() 36*cdf0e10cSrcweir ShowInfoMain() 37*cdf0e10cSrcweir DialogVisible = True 38*cdf0e10cSrcweir myDialog = LoadDialog("Tutorials","TutorialsDialog") 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir SetTutorialDocumentPosSize() 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir documentProps = ThisComponent.getDocumentProperties() 43*cdf0e10cSrcweir myDialog.Title = "Tutorials - " & documentProps.Title 44*cdf0e10cSrcweir oTextField = myDialog.GetControl("myTextField") 45*cdf0e10cSrcweir oTextField.setVisible(False) 46*cdf0e10cSrcweir 47*cdf0e10cSrcweir imageStatus = "MIN" 48*cdf0e10cSrcweir setMaxMinImage(imageStatus) 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir 'myWidth = myDialog.Size.Width 51*cdf0e10cSrcweir myHeight = myDialog.Size.Height 52*cdf0e10cSrcweir 53*cdf0e10cSrcweir CheckForStepShowButtonStatus() 54*cdf0e10cSrcweir CheckForStepNextButtonStatus() 55*cdf0e10cSrcweir InitRoadMap() 56*cdf0e10cSrcweir SetVisibleTrue() 57*cdf0e10cSrcweir myDialog.model.myTextField.Label = stepTitle 58*cdf0e10cSrcweir myDialog.model.myText.Label = GetStepText()'TutorText(TutorStep) 59*cdf0e10cSrcweir 60*cdf0e10cSrcweir 61*cdf0e10cSrcweir Do 62*cdf0e10cSrcweir wait 1000 63*cdf0e10cSrcweir Loop Until DialogVisible = False 64*cdf0e10cSrcweir If( oOpenDialogFlag = True) Then 65*cdf0e10cSrcweir Destroy() 66*cdf0e10cSrcweir TutorialOpen.TutorialOpenMain() 67*cdf0e10cSrcweir Else 68*cdf0e10cSrcweir Destroy() 69*cdf0e10cSrcweir End If 70*cdf0e10cSrcweir End If 71*cdf0e10cSrcweirEnd Sub 72*cdf0e10cSrcweir 73*cdf0e10cSrcweirSub setMaxMinImage(param As String) 74*cdf0e10cSrcweir On Local Error Goto NOIMAGE 75*cdf0e10cSrcweir oCommandButton = myDialog.GetControl("CommandButton") 76*cdf0e10cSrcweir templatePath = GetPathSettings("Template",false, 0) 77*cdf0e10cSrcweir Dim bitmapPath As String 78*cdf0e10cSrcweir iPos = InStr(templatePath,"/") 79*cdf0e10cSrcweir If(iPos > 0) Then 80*cdf0e10cSrcweir If(param = "MAX") Then 81*cdf0e10cSrcweir bitmapPath = templatePath & "../wizard/bitmap/maximize.bmp" 82*cdf0e10cSrcweir ElseIf(param = "MIN") Then 83*cdf0e10cSrcweir bitmapPath = templatePath & "../wizard/bitmap/minimize.bmp" 84*cdf0e10cSrcweir End If 85*cdf0e10cSrcweir Else 86*cdf0e10cSrcweir If(param = "MAX") Then 87*cdf0e10cSrcweir bitmapPath = templatePath & "..\wizard\bitmap\maximize.bmp" 88*cdf0e10cSrcweir ElseIf(param = "MIN") Then 89*cdf0e10cSrcweir bitmapPath = templatePath & "..\wizard\bitmap\minimize.bmp" 90*cdf0e10cSrcweir End If 91*cdf0e10cSrcweir End If 92*cdf0e10cSrcweir 'printdbgInfo oCommandButton.Model 93*cdf0e10cSrcweir oCommandButton.Model.ImageUrl = bitmapPath 94*cdf0e10cSrcweir Exit Sub 95*cdf0e10cSrcweir NOIMAGE: 96*cdf0e10cSrcweirEnd Sub 97*cdf0e10cSrcweir 98*cdf0e10cSrcweirSub SetTutorialDocumentPosSize() 99*cdf0e10cSrcweir activDesktopWindow = StarDesktop.activeFrame.ContainerWindow 100*cdf0e10cSrcweir If(activDesktopWindow.posSize.Height < 550) Then 101*cdf0e10cSrcweir activDesktopWindow.setPosSize(0,0,0,550,8) 102*cdf0e10cSrcweir End If 103*cdf0e10cSrcweir If (activDesktopWindow.posSize.Width < 750 ) Then 104*cdf0e10cSrcweir activDesktopWindow.setPosSize(0,0,750,0,4) 105*cdf0e10cSrcweir EndIf 106*cdf0e10cSrcweirEnd Sub 107*cdf0e10cSrcweir 108*cdf0e10cSrcweirSub InitRoadMap() 109*cdf0e10cSrcweir RoadMapMain(Functions, myDialog) 110*cdf0e10cSrcweir SetControlModelPosSize(0, 0, 85, 176) 111*cdf0e10cSrcweir SetControlModelText("Steps") 112*cdf0e10cSrcweir 113*cdf0e10cSrcweir StepSize = Ubound(TutorText()) 114*cdf0e10cSrcweir Dim ItemsArray(StepSize) as String 115*cdf0e10cSrcweir For i = 0 To StepSize 116*cdf0e10cSrcweir stepcontent = TutorText(i) 117*cdf0e10cSrcweir iPos = InStr(stepcontent,CHR(13)) 118*cdf0e10cSrcweir ItemName = Left(stepcontent, iPos) 119*cdf0e10cSrcweir ItemsArray(i) = ItemName 120*cdf0e10cSrcweir Next i 121*cdf0e10cSrcweir InsertItemsLabels( ItemsArray()) 122*cdf0e10cSrcweir 123*cdf0e10cSrcweir For i = 1 To StepSize 124*cdf0e10cSrcweir SetItemEnabled( i, False) 125*cdf0e10cSrcweir Next i 126*cdf0e10cSrcweir SetItemEnabled( 0, True) 127*cdf0e10cSrcweirEnd Sub 128*cdf0e10cSrcweir 129*cdf0e10cSrcweirSub Destroy() 130*cdf0e10cSrcweir 'myDialog.dispose 131*cdf0e10cSrcweir wait 1000 132*cdf0e10cSrcweir ShowInfoDialog.DisposeIDialog() 133*cdf0e10cSrcweir 134*cdf0e10cSrcweir ' HIER WIRD DAS DOCUMENT GESCHLOSSEN!!!!!!!! GPF 135*cdf0e10cSrcweir thisComponent.CurrentController.Frame.close(True) 136*cdf0e10cSrcweir 137*cdf0e10cSrcweirEnd Sub 138*cdf0e10cSrcweir 139*cdf0e10cSrcweirSub Init 140*cdf0e10cSrcweir GlobalScope.BasicLibraries.LoadLibrary("Tools") 141*cdf0e10cSrcweir myTutorial = createUNOService("com.sun.star.wizards.tutorial.executer.CallTutorialFramework") 142*cdf0e10cSrcweir documentTitle = ThisComponent.getCurrentController.getFrame.Title 143*cdf0e10cSrcweirEnd Sub 144*cdf0e10cSrcweir 145*cdf0e10cSrcweirSub InitStep 146*cdf0e10cSrcweir udProps = ThisComponent.DocumentProperties.UserDefinedProperties 147*cdf0e10cSrcweir If udProps.PropertySetInfo.hasPropertyByName("CurrentStep") Then 148*cdf0e10cSrcweir TutorStep = udProps.CurrentStep 149*cdf0e10cSrcweir Else 150*cdf0e10cSrcweir udProps.addProperty("CurrentStep", 0, TutorStep) 151*cdf0e10cSrcweir End If 152*cdf0e10cSrcweirEnd Sub 153*cdf0e10cSrcweir 154*cdf0e10cSrcweirSub setStep 155*cdf0e10cSrcweir ThisComponent.DocumentProperties.UserDefinedProperties.CurrentStep = TutorStep 156*cdf0e10cSrcweirEnd Sub 157*cdf0e10cSrcweir 158*cdf0e10cSrcweirSub InitAction() 159*cdf0e10cSrcweir SetStepTitle() 160*cdf0e10cSrcweir 161*cdf0e10cSrcweir Dim property(6) As new com.sun.star.beans.PropertyValue 162*cdf0e10cSrcweir property(0).Name = "DocumentTYP" 163*cdf0e10cSrcweir property(0).Value = docTYP 164*cdf0e10cSrcweir property(1).Name = "MethodName" 165*cdf0e10cSrcweir property(1).Value = "setDelay" 166*cdf0e10cSrcweir property(2).Name = "Param" 167*cdf0e10cSrcweir property(2).Value = 0 'key insert speed (Millis) 168*cdf0e10cSrcweir property(3).Name = "Param" 169*cdf0e10cSrcweir property(3).Value = 4 'mouse animate speed (Millis) 170*cdf0e10cSrcweir property(4).Name = "Param" 171*cdf0e10cSrcweir property(4).Value = 2000 'after mouse animate sleep (Millis) 172*cdf0e10cSrcweir property(5).Name = "Param" 173*cdf0e10cSrcweir property(5).Value = 10 'mouse scroll speed (Millis) 174*cdf0e10cSrcweir property(6).Name = "Param" 175*cdf0e10cSrcweir property(6).Value = -1 'mouse speed (step) 176*cdf0e10cSrcweir myTutorial.setPropertyValues(property()) 177*cdf0e10cSrcweirEnd Sub 178*cdf0e10cSrcweir 179*cdf0e10cSrcweirSub EndDialog 180*cdf0e10cSrcweir oOpenDialogFlag = False 181*cdf0e10cSrcweir If (myDialog.model.done.Label = "Close") Then 182*cdf0e10cSrcweir TutorialCloseMain() 183*cdf0e10cSrcweir Else 184*cdf0e10cSrcweir DialogVisible = False 185*cdf0e10cSrcweir End If 186*cdf0e10cSrcweirEnd Sub 187*cdf0e10cSrcweir 188*cdf0e10cSrcweirSub NextStep 189*cdf0e10cSrcweir GotoStep(TutorStep + 1) 190*cdf0e10cSrcweirEnd Sub 191*cdf0e10cSrcweir 192*cdf0e10cSrcweirSub GotoStep(StepIndex) 193*cdf0e10cSrcweir If(StepIndex <= Ubound(TutorText())) Then 194*cdf0e10cSrcweir TutorStep = StepIndex 195*cdf0e10cSrcweir If TutorStep > TutorLastStep Then 196*cdf0e10cSrcweir TutorLastStep = TutorStep 197*cdf0e10cSrcweir End If 198*cdf0e10cSrcweir If(TutorStep = Ubound(TutorText())) Then 199*cdf0e10cSrcweir myDialog.model.next.enabled = False 200*cdf0e10cSrcweir myDialog.model.done.Label = "Done" 201*cdf0e10cSrcweir myDialog.model.show.Label = "Tutorials" 202*cdf0e10cSrcweir Else 203*cdf0e10cSrcweir myDialog.model.next.enabled = True 204*cdf0e10cSrcweir End If 205*cdf0e10cSrcweir SetStepTitle() 206*cdf0e10cSrcweir myDialog.model.myText.Label = GetStepText() 207*cdf0e10cSrcweir CheckForStepShowButtonStatus() 208*cdf0e10cSrcweir SetItemEnabled( TutorStep, True) 209*cdf0e10cSrcweir 'setStep() 210*cdf0e10cSrcweir End If 211*cdf0e10cSrcweirEnd Sub 212*cdf0e10cSrcweir 213*cdf0e10cSrcweirFunction GetStepText() 214*cdf0e10cSrcweir Dim tempText As String 215*cdf0e10cSrcweir tempText = TutorText(TutorStep) 216*cdf0e10cSrcweir iPos = InStr(tempText,CHR(13)) 217*cdf0e10cSrcweir ResultString = Right(tempText, Len(tempText) - iPos - 1) 218*cdf0e10cSrcweir GetStepText() = ResultString 219*cdf0e10cSrcweirEnd Function 220*cdf0e10cSrcweir 221*cdf0e10cSrcweirSub ItemChange(CurrentItemID, SelectitemID) 222*cdf0e10cSrcweir GotoStep(SelectitemID) 223*cdf0e10cSrcweirEnd Sub 224*cdf0e10cSrcweir 225*cdf0e10cSrcweirSub SetDisableShowMeButton() 226*cdf0e10cSrcweir myDialog.model.show.enabled = False 227*cdf0e10cSrcweir TutorLastStep = TutorLastStep + 1 228*cdf0e10cSrcweirEnd Sub 229*cdf0e10cSrcweir 230*cdf0e10cSrcweirSub Minimize(aEvent) 231*cdf0e10cSrcweir ActionItemsTextField = myDialog.GetControl("ActionItemsLabel") 232*cdf0e10cSrcweir FixedLineVertikal = myDialog.GetControl("FixedLineVertikal") 233*cdf0e10cSrcweir 234*cdf0e10cSrcweir If myDialog.Size.Height = 35 Then 235*cdf0e10cSrcweir myDialog.setPosSize(0,0,0,myHeight,8) 236*cdf0e10cSrcweir oTextField.setVisible(False) 237*cdf0e10cSrcweir ActionItemsTextField.setVisible(True) 238*cdf0e10cSrcweir FixedLineVertikal.setVisible(True) 239*cdf0e10cSrcweir RoadMap.SetVisibleRoadMap(True) 240*cdf0e10cSrcweir Else 241*cdf0e10cSrcweir myDialog.setPosSize(0,0,0,35,8) 242*cdf0e10cSrcweir rmSelectedIndex = RoadMap.GetSelectedIndex() + 1 243*cdf0e10cSrcweir gsTitle = GetStepTitle() 244*cdf0e10cSrcweir oTextField.setText(rmSelectedIndex & ". " & gsTitle) 245*cdf0e10cSrcweir oTextField.setVisible(True) 246*cdf0e10cSrcweir ActionItemsTextField.setVisible(False) 247*cdf0e10cSrcweir FixedLineVertikal.setVisible(False) 248*cdf0e10cSrcweir RoadMap.SetVisibleRoadMap(False) 249*cdf0e10cSrcweir End If 250*cdf0e10cSrcweir If(imageStatus = "MAX") Then 251*cdf0e10cSrcweir imageStatus = "MIN" 252*cdf0e10cSrcweir ElseIf(imageStatus = "MIN") Then 253*cdf0e10cSrcweir imageStatus = "MAX" 254*cdf0e10cSrcweir End If 255*cdf0e10cSrcweir setMaxMinImage(imageStatus) 256*cdf0e10cSrcweir 257*cdf0e10cSrcweirEnd Sub 258*cdf0e10cSrcweir 259*cdf0e10cSrcweirSub SetStepTitle() 260*cdf0e10cSrcweir stepcontent = TutorText(TutorStep) 261*cdf0e10cSrcweir iPos = InStr(stepcontent,CHR(13)) 262*cdf0e10cSrcweir stepTitle = Left(stepcontent, iPos) 263*cdf0e10cSrcweir SetStepTitle() = stepTitle 264*cdf0e10cSrcweirEnd Sub 265*cdf0e10cSrcweir 266*cdf0e10cSrcweirFunction GetStepTitle() 267*cdf0e10cSrcweir GetStepTitle() = stepTitle 268*cdf0e10cSrcweirEnd Function 269*cdf0e10cSrcweir 270*cdf0e10cSrcweirSub CheckForStepShowButtonStatus() 271*cdf0e10cSrcweir If ((exampleUse.ContainsStepAction() = True And TutorStep = TutorLastStep) Or myDialog.model.show.Label = "Tutorials") Then 272*cdf0e10cSrcweir myDialog.model.show.enabled = True 273*cdf0e10cSrcweir Else 274*cdf0e10cSrcweir myDialog.model.show.enabled = False 275*cdf0e10cSrcweir End If 276*cdf0e10cSrcweirEnd Sub 277*cdf0e10cSrcweir 278*cdf0e10cSrcweirSub CheckForStepNextButtonStatus() 279*cdf0e10cSrcweir If(TutorStep = Ubound(TutorText())) Then 280*cdf0e10cSrcweir myDialog.model.next.enabled = False 281*cdf0e10cSrcweir myDialog.model.done.Label = "Done" 282*cdf0e10cSrcweir End If 283*cdf0e10cSrcweirEnd Sub 284*cdf0e10cSrcweir 285*cdf0e10cSrcweirSub Show(aEvent) 286*cdf0e10cSrcweir 'ShowInfoMain() 287*cdf0e10cSrcweir If( myDialog.model.show.Label = "Tutorials") Then 288*cdf0e10cSrcweir oOpenDialogFlag = True 289*cdf0e10cSrcweir DialogVisible = False 290*cdf0e10cSrcweir Else 291*cdf0e10cSrcweir SetMousePosition(aEvent) 292*cdf0e10cSrcweir exampleUse.Action() 293*cdf0e10cSrcweir End If 294*cdf0e10cSrcweirEnd Sub 295*cdf0e10cSrcweir 296*cdf0e10cSrcweirSub SetMousePosition(aEvent) 297*cdf0e10cSrcweir MyPoints() = MousePoints(aEvent) 298*cdf0e10cSrcweir 299*cdf0e10cSrcweir Dim mousePosition(3) as new com.sun.star.beans.PropertyValue 300*cdf0e10cSrcweir mousePosition(0).Name = "DocumentTYP" 301*cdf0e10cSrcweir mousePosition(0).Value = docTYP 302*cdf0e10cSrcweir mousePosition(1).Name = "MethodName" 303*cdf0e10cSrcweir mousePosition(1).Value = "setMousePosition" 304*cdf0e10cSrcweir mousePosition(2).Name = "Param" 305*cdf0e10cSrcweir mousePosition(2).Value = MyPoints(0) 306*cdf0e10cSrcweir mousePosition(3).Name = "Param" 307*cdf0e10cSrcweir mousePosition(3).Value = MyPoints(1) 308*cdf0e10cSrcweir 309*cdf0e10cSrcweir myTutorial.setPropertyValues(mousePosition()) 310*cdf0e10cSrcweirEnd Sub 311*cdf0e10cSrcweir 312*cdf0e10cSrcweirFunction MousePoints(aEvent) 313*cdf0e10cSrcweir Dim position(1) As Integer 314*cdf0e10cSrcweir position(0) = myDialog.getControl("show").AccessibleContext.LocationOnScreen.X + aEvent.Source.Model.PositionX 315*cdf0e10cSrcweir position(1) = myDialog.getControl("show").AccessibleContext.LocationOnScreen.Y + aEvent.Source.Model.PositionY 316*cdf0e10cSrcweir MousePoints = position() 317*cdf0e10cSrcweirEnd Function 318*cdf0e10cSrcweir 319*cdf0e10cSrcweirFunction CheckPath(path() As String) 320*cdf0e10cSrcweir 'documentTitle = ThisComponent.getCurrentController.getFrame.Title 321*cdf0e10cSrcweir sTitle = path(0) 322*cdf0e10cSrcweir ResultString = Right(sTitle, 3) 323*cdf0e10cSrcweir iPos = InStr(ResultString,"#") 324*cdf0e10cSrcweir ResultString = Right(ResultString, Len(ResultString) - iPos) 325*cdf0e10cSrcweir ResultFrameString = InStr (sTitle, "{D}FRAME#") 326*cdf0e10cSrcweir If ResultFrameString <> 0 Then 327*cdf0e10cSrcweir If Not (sTitle = ("{D}FRAME#" & documentTitle & "#" & ResultString)) Then 328*cdf0e10cSrcweir 'path(0) = "{D}FRAME#" & documentTitle & "#" & ResultString 329*cdf0e10cSrcweir path(0) = "FRAME#" & documentTitle & "#" & ResultString 330*cdf0e10cSrcweir sTitle = path(1) 331*cdf0e10cSrcweir ResultString = Right(sTitle, 3) 332*cdf0e10cSrcweir iPos = InStr(ResultString,"#") 333*cdf0e10cSrcweir ResultString = Right(ResultString, Len(ResultString) - iPos) 334*cdf0e10cSrcweir path(1) = "ROOT_PANE#" & documentTitle & "#" & ResultString 335*cdf0e10cSrcweir Else 336*cdf0e10cSrcweir 'path(0) = "{D}FRAME#" & documentTitle & "#" & ResultString 337*cdf0e10cSrcweir path(0) = "FRAME#" & documentTitle & "#" & ResultString 338*cdf0e10cSrcweir End If 339*cdf0e10cSrcweir End If 340*cdf0e10cSrcweirEnd Function 341*cdf0e10cSrcweir 342*cdf0e10cSrcweirSub SetVisibleTutorialsDialog(param) 343*cdf0e10cSrcweir myDialog.setVisible(param) 344*cdf0e10cSrcweirEnd Sub 345*cdf0e10cSrcweir 346*cdf0e10cSrcweirSub SetVisibleTrue() 347*cdf0e10cSrcweir myDialog.setVisible(True) 348*cdf0e10cSrcweirEnd Sub 349*cdf0e10cSrcweir 350*cdf0e10cSrcweirSub SetVisibleFalse() 351*cdf0e10cSrcweir myDialog.setVisible(False) 352*cdf0e10cSrcweirEnd Sub 353*cdf0e10cSrcweir 354*cdf0e10cSrcweirSub ExitTutorial() 355*cdf0e10cSrcweir Dim aUrl As new com.sun.star.util.URL 356*cdf0e10cSrcweir oDoc = ThisComponent 357*cdf0e10cSrcweir urlTransformer = createUNOService("com.sun.star.util.URLTransformer") 358*cdf0e10cSrcweir aUrl.Complete = "slot:5621" 359*cdf0e10cSrcweir urlTransformer.parseStrict(aUrl) 360*cdf0e10cSrcweir xController = oDoc.getCurrentController() 361*cdf0e10cSrcweir xDispatcher = xController.queryDispatch(aUrl, "", 0) 362*cdf0e10cSrcweir if NOT isNull(xDispatcher) then 363*cdf0e10cSrcweir xDispatcher.dispatch(aUrl, DimArray()) 364*cdf0e10cSrcweir else 365*cdf0e10cSrcweir msgBox "Error! Cannot close document." 366*cdf0e10cSrcweir End If 367*cdf0e10cSrcweirEnd Sub 368*cdf0e10cSrcweir</script:module> 369