117 lines
4.1 KiB
Java
117 lines
4.1 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="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>
|