diff options
author | Kurt Zenker <kz@openoffice.org> | 2004-05-19 12:25:15 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2004-05-19 12:25:15 +0000 |
commit | ced19193542b0a62ff36786d3b117abfbac8a075 (patch) | |
tree | c5d4849e9dd15f214ddee0fb5c31439e60b3c89c /wizards/source/tutorials/Functions.xba | |
parent | 42c71c2de66a43f980e8fb34df0d905ed7702309 (diff) |
INTEGRATION: CWS qwizards1 (1.1.2); FILE ADDED
2004/02/17 14:28:20 tv 1.1.2.7: set mouse speed to automatic (dependent on operating system)
Issue number:
Submitted by:
Reviewed by:
2004/01/20 15:14:09 tv 1.1.2.6: initialize info window before every show me event
Issue number:
Submitted by:
Reviewed by:
2003/12/23 15:10:17 mexx 1.1.2.5: *** empty log message ***
2003/12/22 15:12:20 mexx 1.1.2.4: Fix image relative path
2003/12/17 12:15:47 mexx 1.1.2.3: Fixed Macros
2003/12/09 15:43:53 mexx 1.1.2.2: Change the tutorial executer path
2003/12/09 14:32:44 mexx 1.1.2.1: Initial revision
Diffstat (limited to 'wizards/source/tutorials/Functions.xba')
-rw-r--r-- | wizards/source/tutorials/Functions.xba | 370 |
1 files changed, 370 insertions, 0 deletions
diff --git a/wizards/source/tutorials/Functions.xba b/wizards/source/tutorials/Functions.xba new file mode 100644 index 000000000000..652663124fcc --- /dev/null +++ b/wizards/source/tutorials/Functions.xba @@ -0,0 +1,370 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> +<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() + + documentInfo = ThisComponent.getDocumentInfo() + myDialog.Title = "Tutorials - " & documentInfo.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 + userFieldName = ThisComponent.getDocumentInfo.getUserFieldName(0) + ResultString = InStr (userFieldName, "CurrentStep:") + If ResultString <> 0 Then + TutorStep = Val(ThisComponent.getDocumentInfo.getUserFieldValue(0)) + Else + ThisComponent.getDocumentInfo.setUserFieldName(0, "CurrentStep:") + ThisComponent.getDocumentInfo.setUserFieldValue(0, TutorStep) + End If +End Sub + +Sub setStep + ThisComponent.getDocumentInfo.setUserFieldValue(0, 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.X + position(1) = myDialog.getControl("show").AccessibleContext.LocationOnScreen.Y + aEvent.Y + 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> |