diff options
Diffstat (limited to 'wizards/source/formwizard/FormWizard.xba')
-rw-r--r-- | wizards/source/formwizard/FormWizard.xba | 427 |
1 files changed, 0 insertions, 427 deletions
diff --git a/wizards/source/formwizard/FormWizard.xba b/wizards/source/formwizard/FormWizard.xba deleted file mode 100644 index 99103d933..000000000 --- a/wizards/source/formwizard/FormWizard.xba +++ /dev/null @@ -1,427 +0,0 @@ -<?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="FormWizard" script:language="StarBasic">Option Explicit - -Public DocumentName as String -Public FormPath as String -Public WizardPath as String -Public WebWizardPath as String -Public WorkPath as String -Public TempPath as String -Public TexturePath as String -Public sQueryName as String -Public oDBConnection as Object -Public bWithBackGraphic as Boolean -Public bNeedFieldRefresh as Boolean -Public oDBForm as Object -Public oColumns() as Object -Public sDatabaseList() as String -Public TableNames() as String -Public QueryNames() as String -Public FieldNames() as String -Public ImgFieldNames() as String -Public oDBContext as Object -Public oUcb as Object -Public oDocInfo as Object -Public WidthList(15,3) -Public ImgWidthList(3,3) -Public sDBName as String -Public Tablename as String -Public Const SBSIZETEXT = "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog." -Public bDisposeDoc as Boolean -Public bDebug as Boolean -'Public bStartUp as Boolean -Public bConnectionIsovergiven as Boolean -Public FormName As String -Public sFormUrl as String -Public oFormDocuments - - -' The macro can be called in 4 possible scenarios: -' Scenario 1. No parameters at given -' Scenario 2: Only Datasourcename is given, but no connection and no Content -' Scenario 3: a data source and a connection are given -' Scenario 4: all parameters (data source name, connection, object type and object) are given - -Sub Main() -Dim oLocDBContext as Object -Dim oLocConnection as Object - -' Scenario 1. No parameters at given - MainWithDefault() - -' Scenario 2: Only Datasourcename is given, but no connection and no Content -' MainWithDefault("Bibliography") - -' Scenario 3: a data source and a connection are given -' oLocDBContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") -' oLocConnection = oLocDBContext.GetByName("Bibliography").GetConnection("","") -' MainWithDefault("Bibliography", oLocConnection) - -' Scenario 4: all parameters (data source name, connection, object type and object) are given -' oLocDBContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") -' oLocConnection = oLocDBContext.GetByName("Bibliography").GetConnection("","") -' MainWithDefault("Bibliography", oLocConnection, com.sun.star.sdb.CommandType.TABLE, "biblio") -End Sub - - -Sub MainWithDefault(Optional DatasourceName as String, Optional oConnection as Object, Optional CommandType as Integer, Optional sContent as String) -Dim i as Integer -Dim SelCount as Integer -Dim RetValue as Integer -Dim SelList(0) as Integer -Dim LocList() as String - SelList(0) = 0 - BasicLibraries.LoadLibrary("Tools") - BasicLibraries.LoadLibrary("WebWizard") - bDebug = False - If Not bDebug Then - On Local Error GoTo WIZARDERROR - End If - OpenFormDocument() - CurArrangement = 0 - bControlsareCreated = False - bEnableBinaryOptionGroup = False - bDisposeDoc = True - MaxIndex = -1 - If Not InitResources("Formwizard","dbw") Then - Exit Sub - End If - oDBContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") - oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess") - If GetFormWizardPaths() = False Then - Exit Sub - End If - oDocument.GetCurrentController().Frame.ComponentWindow.Enable = False - oProgressBar.Value = 10 - LoadLanguage() - oProgressBar.Value = 20 - InitializeWidthList() - oProgressBar.Value = 30 - Styles() = getListBoxArrays(oUcb, "/stl") - CurIndex = GetCurIndex(DialogModel, Styles(), 2) - oProgressBar.Value = 40 - ConfigurePageStyle() - oProgressBar.Value = 50 - InitializeLabelValues() - bNeedFieldRefresh = True - SetDialogLanguage() -' bStartUp = true - With DialogModel - .cmdBack.Enabled = False - .cmdGoOn.Enabled = False - .lblTables.Enabled = False - .lstSelFields.Tag = False - .Step = 1 - End With - oProgressBar.Value = 60 - bConnectionIsovergiven = Not IsMissing(oConnection) - If Not IsMissing(DataSourceName) Then - sDBName = DataSourceName - If Not IsMissing(oConnection) Then - ' Scenario 3: a data source and a connection are given - Set oDBConnection = oConnection - oDataSource = oDBContext.GetByName(DataSourceName) - DialogModel.lstTables.Enabled = True - DialogModel.lblTables.Enabled = True - If GetDBMetaData() Then - LocList() = AddListToList(TableNames(), QueryNames()) - iCommandTypes = CreateCommandTypeList() - If Not IsMissing(sContent) Then - ' Scenario 4: all parameters (data source name, connection, object type and object) are given - DialogModel.lstTables.StringItemList() = LocList() - iCommandTypes() = CreateCommandTypeList() - SelCount = CountItemsInArray(DialogModel.lstTables.StringItemList(), sContent) - If SelCount = 1 Then - DlgFormDB.GetControl("lstTables").SelectItem(sContent, True) - Else - If CommandType = com.sun.star.sdb.CommandType.QUERY Then - SelIndex = IndexInArray(sContent, QueryNames() - DlgFormDB.GetControl("lstTables").SelectItemPos(SelIndex, True) - ElseIf CommandType = com.sun.star.sdb.CommandType.TABLE Then - SelIndex = IndexInArray(sContent, TableNames() - DlgFormDB.GetControl("lstTables").SelectItemPos(Ubound(QueryNames()+1 + SelIndex, True) - End If - End If - CurCommandType = CommandType - FillUpFieldsListbox(False) - Else - LocList() = AddListToList(Array(sSelectDBTable), LocList()) - DialogModel.lstTables.StringItemList() = LocList() -' bSelectContent = True - DialogModel.lstTables.SelectedItems() = Array(0) - - End If - End If - Else - ' Scenario 2: Only Datasourcename is given, but no connection and no Content - GetSelectedDBMetaData(sDBName) - End If - Else - ' Scenario 1: No parameters are given - ToggleListboxControls(DialogModel, False) - End If - oProgressBar.Value = 80 - bWithBackGraphic = LoadNewStyles(oDocument, DialogModel, CurIndex, Styles(CurIndex, 8), Styles(), TexturePath) - DlgFormDB.Title = WizardTitle(1) - DialogModel.lstStyles.StringItemList() = ArrayfromMultiArray(Styles, 1) - DialogModel.lstStyles.SelectedItems() = SelList() - ControlCaptionsToStandardLayout() - oDocument.GetCurrentController().Frame.ComponentWindow.Enable = True - oProgressBar.Value = 90 - DialogModel.imgTheme.ImageURL = FormPath & "FormWizard_1.bmp" - DialogModel.imgTheme.BackGroundColor = RGB(0,60,126) - ToggleDatabasePage(True) - oProgressBar.Value = 100 - DlgFormDB.GetControl("lstTables").SetFocus() - oProgressbar.End - RetValue = DlgFormDB.Execute() - DlgFormDB.Dispose() - If bDisposeDoc Then - Dim aPropertyValues(2) as new com.sun.star.beans.PropertyValue - oFormDocuments = oDataSource.getFormDocuments() - DlgFormDB.Dispose() - oDocument.dispose() - Dim bLinkExists as Boolean - i = 1 - Dim FormBaseName as String - FormBaseName = FormName - Do - bLinkExists = oFormDocuments.HasbyHierarchicalName(FormName) - If bLinkExists Then - i = i + 1 - FormName = FormBaseName & "_" & i - End If - Loop Until Not bLinkExists - aPropertyValues(0).Name = "Name" - aPropertyValues(0).Value = FormName - aPropertyValues(1).Name = "Parent" - aPropertyValues(1).Value = oFormDocuments() - aPropertyValues(2).Name = "URL" - aPropertyValues(2).Value = sFormUrl - Dim oDBDocument - oDBDocument = oFormDocuments.createInstanceWithArguments("com.sun.star.sdb.DocumentDefinition", aPropertyValues()) - oFormDocuments.insertbyName(FormName, oDBDocument) - ElseIf RetValue = 0 Then - RemoveNirwanaShapes() - End If - If ((Not IsNull(oDBConnection)) And (Not bConnectionIsovergiven)) Then - oDBConnection.Dispose() - End If -WIZARDERROR: - If Err <> 0 Then - Msgbox(sMsgErrMsg, 16, GetProductName()) - Resume LOCERROR - LOCERROR: - End If -End Sub - - -Sub FormGetFields() -Dim i as Integer -' If bSelectContent Then -' bSelectContent = False -' Exit Sub -' End If - DeleteFirstListBoxEntry("lstTables", sSelectDBTable) - ToggleDatabasePage(False) - FillUpFieldsListbox(True) - ToggleDatabasePage(True) -End Sub - - -Sub FillUpFieldsListbox(bGetCommandType as Boolean) -Dim SelIndex as Integer -Dim QueryIndex as Integer - If Not bDebug Then - On Local Error GoTo NOFIELDS - End If - SelIndex = DlgFormDB.GetControl("lstTables").getSelectedItemPos() '.SelectedItems()) - If SelIndex > -1 Then - If bGetCommandType Then - CurCommandType = iCommandTypes(SelIndex) - End If - If CurCommandType = com.sun.star.sdb.CommandType.QUERY Then - QueryIndex = SelIndex - Ubound(Tablenames()) - 1 - Tablename = QueryNames(QueryIndex) - oColumns = oDBConnection.Queries.GetByName(TableName).Columns - Else - Tablename = Tablenames(SelIndex) - oColumns = oDBConnection.Tables.GetByName(Tablename).Columns - End If - If GetSpecificFieldNames() <> -1 Then - ToggleListboxControls(DialogModel, True) - Exit Sub - End If - End If - EmptyFieldsListboxes() -NOFIELDS: - If Err <> 0 Then - MsgBox sMsgErrCouldNotOpenObject, 16, sMsgWizardName - End If -End Sub - - -Sub PreviousStep() - If Not bDebug Then - On Local Error GoTo WIZARDERROR - End If - With DialogModel - .Step = 1 - .cmdBack.Enabled = False - .cmdGoOn.Enabled = True - .lstSelFields.Tag = Not bControlsareCreated - .cmdGoOn.Label = sGoOn - .imgTheme.ImageUrl = FormPath & "FormWizard_1.bmp" - End With - FormSetMoveRights() -WIZARDERROR: - If Err <> 0 Then - Msgbox(sMsgErrMsg, 16, GetProductName()) - Resume LOCERROR - LOCERROR: - End If -End Sub - - -Sub NextStep() - If Not bDebug Then - On Local Error GoTo WIZARDERROR - End If - Select Case DialogModel.Step - Case 1 - bControlsAreCreated = Not (cBool(DialogModel.lstSelFields.Tag)) - If Not bControlsAreCreated Then - GetTableMetaData() - CreateDBForm() - RemoveShapes() - InitializeLayoutSettings() - oDBForm.Load - End If - DialogModel.cmdGoOn.Label = sReady - DialogModel.cmdBack.Enabled = True - DialogModel.Step = 2 - bDisposeDoc = False - Case 2 - StoreForm() - DlgFormDB.EndExecute() - exit Sub - End Select - DialogModel.imgTheme.ImageUrl = FormPath & "FormWizard_" & DialogModel.Step & ".bmp" - DlgFormDB.Title = WizardTitle(DialogModel.Step) -WIZARDERROR: - If Err <> 0 Then - Msgbox(sMsgErrMsg, 16, GetProductName()) - Resume LOCERROR - LOCERROR: - End If -End Sub - - -Sub InitializeLayoutSettings() - SwitchArrangementButtons(cTabled) - SwitchAlignMode(SBALIGNLEFT) - SwitchBorderMode(SB3DBORDER) - ToggleBorderGroup(bControlsAreCreated) - ToggleAlignGroup(bControlsAreCreated) - ArrangeControls() - If OldAlignMode <> 0 Then - DlgFormDB.GetControl("optAlign2").Model.State = 0 - End If -End Sub - - -Sub ToggleDatabasePage(bDoEnable as Boolean) - With DialogModel - .cmdBack.Enabled = False - .cmdHelp.Enabled = bDoEnable - .cmdGoOn.Enabled = Ubound(DialogModel.lstSelFields.StringItemList()) <> -1 - .hlnBinaries.Enabled = ((bDoEnable = True) And (bEnableBinaryOptionGroup = True)) - .optIgnoreBinaries.Enabled = ((bDoEnable = True) And (bEnableBinaryOptionGroup = True)) - .optBinariesasGraphics.Enabled = ((bDoEnable = True) And (bEnableBinaryOptionGroup = True)) - End With -End Sub - - -' This Sub is called from the Procedure "StoreDocument" in the "Tools" Library -Sub CommitLastDocumentChanges(sTargetPath as String) -Dim i as Integer -Dim sBookmarkName as String -Dim oDBBookmarks as Object -Dim bLinkExists as Boolean -Dim sBaseBookmarkName as String - sBookmarkName = GetFileNamewithoutExtension(FileNameoutofPath(sTargetPath)) - sBaseBookmarkName = sBookmarkName - oDBBookmarks = oDataSource.GetBookmarks() - i = 1 - Do - bLinkExists = oDBBookmarks.HasbyName(sBookmarkName) - If bLinkExists Then - i = i + 1 - sBookmarkName = sBaseBookmarkName & "_" & i - Else - oDBBookmarks.insertByName(sBookmarkName, sTargetPath) - End If - Loop Until Not bLinkExists - bDisposeDoc = False - GroupShapesTogether() - ToggleDesignMode(oDocument) - oDBForm.Reload() -End Sub - - -Sub StoreFormInDatabase() - Dim NoArgs() as new com.sun.star.beans.PropertyValue - FormName = "Form_" & sDBName & "_" & TableName & ".sxw" - sFormUrl = TempPath & "/" & FormName - oDocument.StoreAsUrl(sFormUrl, NoArgs()) - bdisposeDoc = true - DlgFormDB.Endexecute() -End Sub - - - -Sub StoreForm() -Dim sTargetPath as String -Dim TypeNames(0,2) as String -Dim oMasterKey as Object -Dim oTypes() as Object - oMasterKey = GetRegistryKeyContent("org.openoffice.TypeDetection.Types/") - oTypes() = oMasterKey.Types - TypeNames(0,0) = GetFilterName("StarOffice XML (Writer)") - TypeNames(0,1) = "*.sxw" - TypeNames(0,2) = "" - StoreFormInDatabase() -' sTargetPath = StoreDocument(oDocument, TypeNames(), "Form_" & sDBName & "_" & TableName & ".sxw", WorkPath, 1) -End Sub - - - -Sub EmptyFieldsListboxes() -Dim NullList() as String - ToggleListboxControls(DialogModel, False) - DialogModel.lstFields.StringItemList() = NullList() - DialogModel.lstSelFields.StringItemList() = NullList() - bEnableBinaryOptionGroup = False -End Sub - - -Sub DeleteFirstTableListBoxEntry() - DeleteFirstListBoxEntry("lstTables", sSelectDBTable) -End Sub - -Sub DeleteFirstListboxEntry(ListBoxName as String, DelEntryName as String) -Dim oListbox as Object -Dim sFirstItem as String -dim iSelPos as Integer - oListBox = DlgFormDB.getControl(ListBoxName) - sFirstItem = oListBox.getItem(0) - If sFirstItem = DelEntryName Then - iSelPos = oListBox.getSelectedItemPos() - oListBox.removeItems(0, 1) - If iSelPos > 0 Then - oListBox.selectItemPos(iSelPos-1, True) - End If - End If -End Sub -</script:module>
\ No newline at end of file |