7216755723
2005/08/17 09:28:42 tv 1.2.138.1: fixed event bindings, crash when ending tutorial and focus problems Issue number: Submitted by: Reviewed by:
96 lines
No EOL
3.2 KiB
XML
96 lines
No EOL
3.2 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="TutorialOpen" script:language="StarBasic">REM ***** BASIC *****
|
|
Dim myOpenDialog As Object
|
|
Dim oListBox As Object
|
|
Dim files As Object
|
|
Dim oUcb As Object
|
|
Dim oListener As Object
|
|
|
|
Sub TutorialOpenMain
|
|
GlobalScope.BasicLibraries.LoadLibrary("Tools")
|
|
myOpenDialog = LoadDialog("Tutorials","TutorialOpenDialog")
|
|
init()
|
|
myOpenDialog.Execute()
|
|
End Sub
|
|
|
|
Sub Init
|
|
On Local Error Goto NOFILE
|
|
myOpenDialog.Title = "Tutorials"
|
|
oListBox = myOpenDialog.GetControl("ListBox")
|
|
templatePath = GetPathSettings("Template",false, 0)
|
|
Dim tutorialPath As String
|
|
iPos = InStr(templatePath,"/")
|
|
if(iPos > 0) Then
|
|
tutorialPath = templatePath & "/tutorials"
|
|
Else
|
|
tutorialPath = templatePath & "\tutorials"
|
|
End If
|
|
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
|
|
files = oUcb.getFolderContents(tutorialPath,true)
|
|
size = Ubound( files() )
|
|
Dim tempFiles(size) As String
|
|
tempCount = 0
|
|
For iCount = 0 To size
|
|
completPath = files(iCount)
|
|
oDocInfo = CreateUnoService("com.sun.star.document.DocumentProperties")
|
|
oDocInfo.Read(completPath)
|
|
sDocTitle = oDocInfo.Title
|
|
if(not isNull(sDocTitle) And len(sDocTitle) > 0) Then
|
|
oListbox.additem(sDocTitle,0)
|
|
tempFiles(tempCount) = completPath
|
|
tempCount = tempCount + 1
|
|
End If
|
|
Next iCount
|
|
'printdbgInfo oListbox
|
|
size = oListbox.ItemCount - 1
|
|
Dim tempFiles2(size) As String
|
|
For iCount = 0 To size
|
|
tempFiles2(iCount) = tempFiles(iCount)
|
|
Next iCount
|
|
files() = tempFiles2()
|
|
Exit Sub
|
|
NOFILE:
|
|
If Err <> 0 Then
|
|
Msgbox "No file found error!" & CHR(13) & "Path: ...\share\template\...\tutorials\"
|
|
myOpenDialog.model.Open.enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Sub ItemSelected(oEvent)
|
|
On Local Error Goto NOFILE
|
|
completPath = files(Ubound(files()) - oEvent.Selected)
|
|
oTextField = myOpenDialog.GetControl("Label") 'TextField
|
|
oTextField.setText("")
|
|
Dim NoArgs() as new com.sun.star.beans.PropertyValue
|
|
oDocInfo = CreateUnoService("com.sun.star.document.DocumentProperties")
|
|
oDocInfo.Read(completPath)
|
|
sDocDescription = oDocInfo.Description
|
|
if(not isNull(sDocTitle) And len(sDocDescription) > 0) Then
|
|
oTextField.setText(sDocDescription)
|
|
Else
|
|
oTextField.setText("Not Description!!!.")
|
|
End If
|
|
Exit Sub
|
|
NOFILE:
|
|
If Err <> 0 Then
|
|
Msgbox "Open file error!"
|
|
End If
|
|
End Sub
|
|
|
|
Sub OpenTutorial(aEvent)
|
|
completPath = files(Ubound(files()) - oListBox.getSelectedItemPos())
|
|
Dim Args(2) as new com.sun.star.beans.PropertyValue
|
|
Args(1).Name = "MacroExecutionMode"
|
|
Args(1).Value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE
|
|
Args(2).Name = "AsTemplate"
|
|
Args(2).Value = true
|
|
|
|
StarDesktop.LoadComponentFromURL(completPath,"_default",0, Args())
|
|
myOpenDialog.endExecute()
|
|
End Sub
|
|
|
|
Sub Cancel(aEvent)
|
|
myOpenDialog.endExecute()
|
|
End Sub
|
|
</script:module> |