Files
loongoffice/wizards/source/tutorials/Functions.xba
Oliver Bolte 20cea29aa2 CWS-TOOLING: integrate CWS fwk99
2009-01-20 17:39:31 +0100 pb  r266605 : fix: #i98280# new 'More templates'-URL
2009-01-15 20:17:58 +0100 mst  r266391 : #i95702# convert wizards to DocumentProperties (partially based on patch by cmc)
2009-01-12 07:35:44 +0100 pb  r266131 : fix: #i96851# HID_PASTE_DLG and HID_LINKDLG_TABLB added
2009-01-09 10:40:48 +0100 pb  r266061 : fix: #i97386# Execute_Impl() while sub-dialog is open this could be deleted; #i68415# patch from cmc
2009-01-09 10:35:24 +0100 pb  r266059 : fix: #i97386# struct Deleted added
2009-01-09 10:05:17 +0100 pb  r266057 : fix: #i97365# ModalDialog RID_SVXPAGE_IMPROVEMENT removed
2009-01-09 10:02:39 +0100 pb  r266056 : fix: #i97841# new: set InfoURL and HandleHyperLink()
2009-01-09 09:59:13 +0100 pb  r266053 : fix: #i97391# MinWidth re-calculated; #i97365# SvxImprovementDialog2 removed
2009-01-09 09:55:00 +0100 pb  r266051 : fix: #i97841# new: HandleHyperLink(); #i97365# SvxImprovementDialog2 removed
2009-01-06 14:24:24 +0100 cd  r265921 : #i96831# Fix build problem with gcc 4.3.2 using the return value of link correctly.
2009-01-06 12:18:41 +0100 cd  r265907 : #i96831# Fix build problem with gcc 4.3.2
2009-01-06 12:02:59 +0100 mst  r265905 : fix #i97775#
- xmloff/source/core/nmspmap.cxx:
  + SvXMLNamespaceMap::GetQNameByKey does not handle default namespace
    correctly
2009-02-12 14:03:59 +00:00

369 lines
11 KiB
XML

<?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
&apos;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 = &quot;True&quot; Then
Dim localisation(0) As new com.sun.star.beans.NamedValue
localisation(0).Name = &quot;Localisation&quot;
localisation(0).Value = properties()
myTutorial.execute(localisation())
Else
TutorStep = 0
TutorLastStep = 0
docTYP = documentTYP
InitAction()
ShowInfoMain()
DialogVisible = True
myDialog = LoadDialog(&quot;Tutorials&quot;,&quot;TutorialsDialog&quot;)
SetTutorialDocumentPosSize()
documentProps = ThisComponent.getDocumentProperties()
myDialog.Title = &quot;Tutorials - &quot; &amp; documentProps.Title
oTextField = myDialog.GetControl(&quot;myTextField&quot;)
oTextField.setVisible(False)
imageStatus = &quot;MIN&quot;
setMaxMinImage(imageStatus)
&apos;myWidth = myDialog.Size.Width
myHeight = myDialog.Size.Height
CheckForStepShowButtonStatus()
CheckForStepNextButtonStatus()
InitRoadMap()
SetVisibleTrue()
myDialog.model.myTextField.Label = stepTitle
myDialog.model.myText.Label = GetStepText()&apos;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(&quot;CommandButton&quot;)
templatePath = GetPathSettings(&quot;Template&quot;,false, 0)
Dim bitmapPath As String
iPos = InStr(templatePath,&quot;/&quot;)
If(iPos &gt; 0) Then
If(param = &quot;MAX&quot;) Then
bitmapPath = templatePath &amp; &quot;/wizard/bitmap/maximize.bmp&quot;
ElseIf(param = &quot;MIN&quot;) Then
bitmapPath = templatePath &amp; &quot;/wizard/bitmap/minimize.bmp&quot;
End If
Else
If(param = &quot;MAX&quot;) Then
bitmapPath = templatePath &amp; &quot;\wizard\bitmap\maximize.bmp&quot;
ElseIf(param = &quot;MIN&quot;) Then
bitmapPath = templatePath &amp; &quot;\wizard\bitmap\minimize.bmp&quot;
End If
End If
&apos;printdbgInfo oCommandButton.Model
oCommandButton.Model.ImageUrl = bitmapPath
Exit Sub
NOIMAGE:
End Sub
Sub SetTutorialDocumentPosSize()
activDesktopWindow = StarDesktop.activeFrame.ContainerWindow
If(activDesktopWindow.posSize.Height &lt; 550) Then
activDesktopWindow.setPosSize(0,0,0,550,8)
End If
If (activDesktopWindow.posSize.Width &lt; 750 ) Then
activDesktopWindow.setPosSize(0,0,750,0,4)
EndIf
End Sub
Sub InitRoadMap()
RoadMapMain(Functions, myDialog)
SetControlModelPosSize(0, 0, 85, 176)
SetControlModelText(&quot;Steps&quot;)
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()
&apos;myDialog.dispose
wait 1000
ShowInfoDialog.DisposeIDialog()
&apos; HIER WIRD DAS DOCUMENT GESCHLOSSEN!!!!!!!! GPF
thisComponent.CurrentController.Frame.close(True)
End Sub
Sub Init
GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
myTutorial = createUNOService(&quot;com.sun.star.wizards.tutorial.executer.CallTutorialFramework&quot;)
documentTitle = ThisComponent.getCurrentController.getFrame.Title
End Sub
Sub InitStep
udProps = ThisComponent.DocumentProperties.UserDefinedProperties
If udProps.PropertySetInfo.hasPropertyByName(&quot;CurrentStep&quot;) Then
TutorStep = udProps.CurrentStep
Else
udProps.addProperty(&quot;CurrentStep&quot;, 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 = &quot;DocumentTYP&quot;
property(0).Value = docTYP
property(1).Name = &quot;MethodName&quot;
property(1).Value = &quot;setDelay&quot;
property(2).Name = &quot;Param&quot;
property(2).Value = 0 &apos;key insert speed (Millis)
property(3).Name = &quot;Param&quot;
property(3).Value = 4 &apos;mouse animate speed (Millis)
property(4).Name = &quot;Param&quot;
property(4).Value = 2000 &apos;after mouse animate sleep (Millis)
property(5).Name = &quot;Param&quot;
property(5).Value = 10 &apos;mouse scroll speed (Millis)
property(6).Name = &quot;Param&quot;
property(6).Value = -1 &apos;mouse speed (step)
myTutorial.setPropertyValues(property())
End Sub
Sub EndDialog
oOpenDialogFlag = False
If (myDialog.model.done.Label = &quot;Close&quot;) Then
TutorialCloseMain()
Else
DialogVisible = False
End If
End Sub
Sub NextStep
GotoStep(TutorStep + 1)
End Sub
Sub GotoStep(StepIndex)
If(StepIndex &lt;= Ubound(TutorText())) Then
TutorStep = StepIndex
If TutorStep &gt; TutorLastStep Then
TutorLastStep = TutorStep
End If
If(TutorStep = Ubound(TutorText())) Then
myDialog.model.next.enabled = False
myDialog.model.done.Label = &quot;Done&quot;
myDialog.model.show.Label = &quot;Tutorials&quot;
Else
myDialog.model.next.enabled = True
End If
SetStepTitle()
myDialog.model.myText.Label = GetStepText()
CheckForStepShowButtonStatus()
SetItemEnabled( TutorStep, True)
&apos;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(&quot;ActionItemsLabel&quot;)
FixedLineVertikal = myDialog.GetControl(&quot;FixedLineVertikal&quot;)
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 &amp; &quot;. &quot; &amp; gsTitle)
oTextField.setVisible(True)
ActionItemsTextField.setVisible(False)
FixedLineVertikal.setVisible(False)
RoadMap.SetVisibleRoadMap(False)
End If
If(imageStatus = &quot;MAX&quot;) Then
imageStatus = &quot;MIN&quot;
ElseIf(imageStatus = &quot;MIN&quot;) Then
imageStatus = &quot;MAX&quot;
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 = &quot;Tutorials&quot;) 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 = &quot;Done&quot;
End If
End Sub
Sub Show(aEvent)
&apos;ShowInfoMain()
If( myDialog.model.show.Label = &quot;Tutorials&quot;) 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 = &quot;DocumentTYP&quot;
mousePosition(0).Value = docTYP
mousePosition(1).Name = &quot;MethodName&quot;
mousePosition(1).Value = &quot;setMousePosition&quot;
mousePosition(2).Name = &quot;Param&quot;
mousePosition(2).Value = MyPoints(0)
mousePosition(3).Name = &quot;Param&quot;
mousePosition(3).Value = MyPoints(1)
myTutorial.setPropertyValues(mousePosition())
End Sub
Function MousePoints(aEvent)
Dim position(1) As Integer
position(0) = myDialog.getControl(&quot;show&quot;).AccessibleContext.LocationOnScreen.X + aEvent.Source.Model.PositionX
position(1) = myDialog.getControl(&quot;show&quot;).AccessibleContext.LocationOnScreen.Y + aEvent.Source.Model.PositionY
MousePoints = position()
End Function
Function CheckPath(path() As String)
&apos;documentTitle = ThisComponent.getCurrentController.getFrame.Title
sTitle = path(0)
ResultString = Right(sTitle, 3)
iPos = InStr(ResultString,&quot;#&quot;)
ResultString = Right(ResultString, Len(ResultString) - iPos)
ResultFrameString = InStr (sTitle, &quot;{D}FRAME#&quot;)
If ResultFrameString &lt;&gt; 0 Then
If Not (sTitle = (&quot;{D}FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString)) Then
&apos;path(0) = &quot;{D}FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
path(0) = &quot;FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
sTitle = path(1)
ResultString = Right(sTitle, 3)
iPos = InStr(ResultString,&quot;#&quot;)
ResultString = Right(ResultString, Len(ResultString) - iPos)
path(1) = &quot;ROOT_PANE#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
Else
&apos;path(0) = &quot;{D}FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
path(0) = &quot;FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; 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(&quot;com.sun.star.util.URLTransformer&quot;)
aUrl.Complete = &quot;slot:5621&quot;
urlTransformer.parseStrict(aUrl)
xController = oDoc.getCurrentController()
xDispatcher = xController.queryDispatch(aUrl, &quot;&quot;, 0)
if NOT isNull(xDispatcher) then
xDispatcher.dispatch(aUrl, DimArray())
else
msgBox &quot;Error! Cannot close document.&quot;
End If
End Sub
</script:module>