Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  Main.xba   Sprache: unbekannt

 
<?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="Main" script:language="StarBasic">Option Explicit
REM ***** BASIC *****

Public HeaderPreviews(4) as Object
Public ImportDialog as Object
Public ImportDialogArea as Object
Public oFactoryKey as Object
Public bShowLogFile as Boolean

' If the ProgressPage is already on Top The Dialog will be immediately closed when this flag is
' set to False
Public bConversionIsRunning as Boolean
Public RetValue as Integer

Sub Main()
 Dim NoArgs() as New com.sun.star.beans.PropertyValue
 bShowLogFile=FALSE
 If Not bDebugWizard Then
  On Local Error Goto RTError
 End If
 BasicLibraries.LoadLibrary("Tools")
 RetValue = 10
 bIsFirstLogTable = True
 bConversionIsRunning = False
 sCRLF = CHR(13) & CHR(10)
 oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
 oFactoryKey = GetRegistryKeyContent("org.openoffice.Setup/Office/Factories")
 If GetImportWizardPaths() = False Then
  Exit Sub
 End If
 bCancelTask = False
 bDoKeepApplValues = False
 CurOffice = 0
 ImportDialogArea = LoadDialog("ImportWizard","ImportDialog")
 ImportDialog = ImportDialogArea.Model
 LoadLanguage()
 WizardMode = SBMICROSOFTMODE
 MaxApplCount = 3
 FillStep_Welcome()
 RepaintHeaderPreview()
 ImportDialog.ImportPreview.BackGroundColor = RGB(0,60,126)
 ImportDialog.cmdGoOn.DefaultButton = True
 ImportDialogArea.GetControl("optMSDocuments").SetFocus()
 ToggleCheckboxesWithBoolean(True)

 RetValue = ImportDialogArea.Execute()
 If bShowLogFile=TRUE Then
  OpenDocument(sLogUrl, NoArgs())
 End if
 If RetValue = 0 Then
  CancelTask()
 End If
 ImportDialogArea.Dispose()
 End
 Exit Sub
RTError:
 Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub


Sub NextStep()
Dim iCurStep as Integer
 If Not bDebugWizard Then
  On Error Goto RTError
 End If
 bConversionIsRunning = False
 iCurStep = ImportDialog.Step
 Select Case iCurStep
  Case 1
   FillStep_InputPaths(0, True)
  Case 2
   If CheckInputPaths Then
    SaveStep_InputPath
    If CurOffice < ApplCount - 1 Then
     CurOffice = CurOffice + 1
     TakeOverPathSettings()
     FillStep_InputPaths(CurOffice, False)
    Else
     FillStep_Summary()
    End If
   End If
  Case 3
   FillStep_Progress()
   Select Case WizardMode
    Case SBMICROSOFTMODE
     Call ConvertAllDocuments(MSFilterName())
   End Select
  Case 4
   CancelTask(True)
 End Select

 If ((ImportDialog.chkLogfile.State <> 1) OR (iCurStep <> 3)) Then
  ImportDialog.cmdGoOn.DefaultButton = True
 End If

 RepaintHeaderPreview()
 Exit Sub
RTError:
 Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub


Sub PrevStep()
Dim iCurStep as Integer
 If Not bDebugWizard Then
  On Error Goto RTError
 End If
 bConversionIsRunning = False
 iCurStep = ImportDialog.Step
 Select Case iCurStep
  Case 4
   ImportDialog.cmdCancel.Label = sCancelButton
   FillStep_Summary()
  Case 3
   FillStep_InputPaths(Applcount-1, False)
  Case 2
   SaveStep_InputPath
   If CurOffice > 0 Then
    CurOffice = CurOffice - 1
    FillStep_InputPaths(CurOffice, False)
   Else
    FillStep_Welcome()
           ToggleCheckboxesWithBoolean(True)
    bDoKeepApplValues = True
   End If
 End Select
 ImportDialog.cmdGoOn.DefaultButton = True
 RepaintHeaderPreview()
 Exit Sub
RTError:
 Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub


Sub CancelTask()
 If bConversionIsRunning Then
  If Msgbox(sConvertError1, 36, sConvertError2) = 6 Then
   bCancelTask = True
   bInterruptSearch = True
  Else
   bCancelTask = False
   ImportDialog.cmdCancel.Enabled = True
  End If
 Else
  ImportDialogArea.EndExecute()
 End If
End Sub


Sub TemplateDirSearchDialog()
 CallDirSearchDialog(ImportDialog.TemplateImportPath)
End Sub


Sub RepaintHeaderPreview()
Dim Bitmap As Object
Dim CurStep as Integer
Dim sBitmapPath as String
Dim LocPrefix as String
 CurStep = ImportDialog.Step
 LocPrefix = WizardMode
 LocPrefix = ReplaceString(LocPrefix,"XML", "SO")
 If CurStep = 2 Then
  sBitmapPath = SOBitmapPath & LocPrefix & "-Import_" & CurStep & "-" & Applications(CurOffice,SBAPPLKEY) + 1 & ".png"
 Else
  sBitmapPath = SOBitmapPath & "Import_" & CurStep & ".png"
 End If
 ImportDialog.ImportPreview.ImageURL = sBitmapPath
End Sub


Sub CheckModuleInstallation()
Dim i as Integer
 For i = 1 To MaxApplCount
  ImportDialogArea.GetControl("chk" & WizardMode & "Application" & i).Model.Enabled = Abs(CheckInstalledModule(i-1))
 Next i
End Sub


Function CheckInstalledModule(Index as Integer) as Boolean
Dim ModuleName as String
Dim NameList() as String
Dim MaxIndex as Integer
Dim i as Integer
 ModuleName = ModuleList(Index)
 If Instr(1,ModuleName,"/") <> 0 Then
  CheckInstalledModule() = False
  NameList() = ArrayoutOfString(ModuleName,"/", MaxIndex)
  For i = 0 To MaxIndex
   If oFactoryKey.HasByName(NameList(i)) Then
    CheckInstalledModule() = True
   End If
  Next i
 Else
  CheckInstalledModule() = oFactoryKey.HasByName(ModuleName)
 End If
End Function


Sub ToggleCheckboxes(oEvent as Object)
Dim bMSEnable as Boolean
 WizardMode = oEvent.Source.Model.Tag
 bMSEnable = WizardMode = "MS"
 ToggleCheckboxesWithBoolean(bMSEnable)
End Sub


Sub ToggleCheckboxesWithBoolean(bMSEnable as Boolean)
 If bMSEnable = True Then
  WizardMode = SBMICROSOFTMODE
  MaxApplCount = 3
 Else
  'Not supposed to happen - is there an assert in BASIC...
 End If
 With ImportDialogArea
  .GetControl("chkMSApplication1").Model.Enabled = bMSEnable
  .GetControl("chkMSApplication2").Model.Enabled = bMSEnable
  .GetControl("chkMSApplication3").Model.Enabled = bMSEnable
 End With
 CheckModuleInstallation()
 bDoKeepApplValues = False
 ToggleNextButton()
End Sub


Sub ToggleNextButton()
Dim iCurStep as Integer
Dim bDoEnable as Boolean
Dim i as Integer
 iCurStep = ImportDialog.Step
 Select Case iCurStep
  Case 1
   With ImportDialog
    If .optMSDocuments.State = 1 Then
             bDoEnable = .chkMSApplication1.State = 1 Or .chkMSApplication2.State = 1 Or .chkMSApplication3.State = 1
    End If
   End With
   bDoKeepApplValues = False
  Case 2
   bDoEnable = CheckControlPath(ImportDialog.chkTemplatePath, ImportDialog.txtTemplateImportPath, True)
   bDoEnable = CheckControlPath(ImportDialog.chkDocumentPath, ImportDialog.txtDocumentImportPath, bDoEnable)
 End Select
 ImportDialog.cmdGoOn.Enabled = bDoEnable
End Sub


Sub TakeOverPathSettings()
'Takes over the Pathsettings from the first selected application to the next applications
 If Applications(CurOffice,SBDOCSOURCE) = "" Then
  Applications(CurOffice,SBDOCSOURCE) = Applications(0,SBDOCSOURCE)
  Applications(CurOffice,SBDOCTARGET) = Applications(0,SBDOCTARGET)
  Applications(CurOffice,SBTEMPLSOURCE) = Applications(0,SBTEMPLSOURCE)
  Applications(CurOffice,SBTEMPLTARGET) = Applications(0,SBTEMPLTARGET)
 End If
End Sub


Function GetImportWizardPaths() as Boolean
 SOBitmapPath = GetOfficeSubPath("Template", "../wizard/bitmap")
 If SOBitmapPath <> "" Then
  SOWorkPath = GetPathSettings("Work", False)
  If SOWorkPath <> "" Then
   SOTemplatePath = GetPathSettings("Template_writable",False,0)
   If SOTemplatePath <> "" Then
    GetImportWizardPaths() = True
    Exit Function
   End If
  End If
 End If
 GetImportWizardPaths() = False
End Function
</script:module>

[ Dauer der Verarbeitung: 0.27 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge