diff options
Diffstat (limited to 'wizards/source/tutorials/TutorialOpen.xba')
-rw-r--r-- | wizards/source/tutorials/TutorialOpen.xba | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/wizards/source/tutorials/TutorialOpen.xba b/wizards/source/tutorials/TutorialOpen.xba new file mode 100644 index 000000000..5b6001c6c --- /dev/null +++ b/wizards/source/tutorials/TutorialOpen.xba @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . +--> +<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>
\ No newline at end of file |