1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?> 2*b1cdbd2cSJim Jagielski<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*b1cdbd2cSJim Jagielski<!--*********************************************************** 4*b1cdbd2cSJim Jagielski * 5*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 6*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 7*b1cdbd2cSJim Jagielski * distributed with this work for additional information 8*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 9*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 10*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 11*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 14*b1cdbd2cSJim Jagielski * 15*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 16*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 17*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 19*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 20*b1cdbd2cSJim Jagielski * under the License. 21*b1cdbd2cSJim Jagielski * 22*b1cdbd2cSJim Jagielski ***********************************************************--> 23*b1cdbd2cSJim Jagielski<script:module xmlns:script="http://openoffice.org/2000/script" script:name="tools" script:language="StarBasic">REM ***** BASIC ***** 24*b1cdbd2cSJim JagielskiOption Explicit 25*b1cdbd2cSJim JagielskiPublic Const SBMAXTEXTSIZE = 50 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim JagielskiFunction SetProgressValue(iValue as Integer) 29*b1cdbd2cSJim Jagielski If iValue = 0 Then 30*b1cdbd2cSJim Jagielski oProgressbar.End 31*b1cdbd2cSJim Jagielski End If 32*b1cdbd2cSJim Jagielski ProgressValue = iValue 33*b1cdbd2cSJim Jagielski oProgressbar.Value = iValue 34*b1cdbd2cSJim JagielskiEnd Function 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski 37*b1cdbd2cSJim JagielskiFunction GetPreferredWidth(oModel as Object, bGetMaxWidth as Boolean, Optional LocText) 38*b1cdbd2cSJim JagielskiDim aPeerSize as new com.sun.star.awt.Size 39*b1cdbd2cSJim JagielskiDim nWidth as Integer 40*b1cdbd2cSJim JagielskiDim oControl as Object 41*b1cdbd2cSJim Jagielski If Not IsMissing(LocText) Then 42*b1cdbd2cSJim Jagielski ' Label 43*b1cdbd2cSJim Jagielski aPeerSize = GetPeerSize(oModel, oControl, LocText) 44*b1cdbd2cSJim Jagielski ElseIf CurControlType = cImageControl Then 45*b1cdbd2cSJim Jagielski GetPreferredWidth() = 2000 46*b1cdbd2cSJim Jagielski Exit Function 47*b1cdbd2cSJim Jagielski Else 48*b1cdbd2cSJim Jagielski aPeerSize = GetPeerSize(oModel, oControl) 49*b1cdbd2cSJim Jagielski End If 50*b1cdbd2cSJim Jagielski nWidth = aPeerSize.Width 51*b1cdbd2cSJim Jagielski ' We increase the preferred Width a bit so that the control does not become too small 52*b1cdbd2cSJim Jagielski ' when we change the border from "3D" to "Flat" 53*b1cdbd2cSJim Jagielski GetPreferredWidth = (nWidth + 10) * XPixelFactor ' PixelTo100thmm(nWidth) 54*b1cdbd2cSJim JagielskiEnd Function 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim JagielskiFunction GetPreferredHeight(oModel as Object, Optional LocText) 58*b1cdbd2cSJim JagielskiDim aPeerSize as new com.sun.star.awt.Size 59*b1cdbd2cSJim JagielskiDim nHeight as Integer 60*b1cdbd2cSJim JagielskiDim oControl as Object 61*b1cdbd2cSJim Jagielski If Not IsMissing(LocText) Then 62*b1cdbd2cSJim Jagielski ' Label 63*b1cdbd2cSJim Jagielski aPeerSize = GetPeerSize(oModel, oControl, LocText) 64*b1cdbd2cSJim Jagielski ElseIf CurControlType = cImageControl Then 65*b1cdbd2cSJim Jagielski GetPreferredHeight() = 2000 66*b1cdbd2cSJim Jagielski Exit Function 67*b1cdbd2cSJim Jagielski Else 68*b1cdbd2cSJim Jagielski aPeerSize = GetPeerSize(oModel, oControl) 69*b1cdbd2cSJim Jagielski End If 70*b1cdbd2cSJim Jagielski nHeight = aPeerSize.Height 71*b1cdbd2cSJim Jagielski ' We increase the preferred Height a bit so that the control does not become too small 72*b1cdbd2cSJim Jagielski ' when we change the border from "3D" to "Flat" 73*b1cdbd2cSJim Jagielski GetPreferredHeight = (nHeight+1) * YPixelFactor ' PixelTo100thmm(nHeight) 74*b1cdbd2cSJim JagielskiEnd Function 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim JagielskiFunction GetPeerSize(oModel as Object, oControl as Object, Optional LocText) 78*b1cdbd2cSJim JagielskiDim oPeer as Object 79*b1cdbd2cSJim JagielskiDim aPeerSize as new com.sun.star.awt.Size 80*b1cdbd2cSJim JagielskiDim NullValue 81*b1cdbd2cSJim Jagielski oControl = oController.GetControl(oModel) 82*b1cdbd2cSJim Jagielski oPeer = oControl.GetPeer() 83*b1cdbd2cSJim Jagielski If oControl.Model.PropertySetInfo.HasPropertybyName("EffectiveMax") Then 84*b1cdbd2cSJim Jagielski If oControl.Model.EffectiveMax = 0 Then 85*b1cdbd2cSJim Jagielski ' This is relevant for decimal fields 86*b1cdbd2cSJim Jagielski oControl.Model.EffectiveValue = 999.9999 87*b1cdbd2cSJim Jagielski Else 88*b1cdbd2cSJim Jagielski oControl.Model.EffectiveValue = oControl.Model.EffectiveMax 89*b1cdbd2cSJim Jagielski End If 90*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 91*b1cdbd2cSJim Jagielski oControl.Model.EffectiveValue = NullValue 92*b1cdbd2cSJim Jagielski ElseIf Not IsMissing(LocText) Then 93*b1cdbd2cSJim Jagielski oControl.Text = LocText 94*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 95*b1cdbd2cSJim Jagielski ElseIf CurFieldType = com.sun.star.sdbc.DataType.BIT Then 96*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 97*b1cdbd2cSJim Jagielski ElseIf CurFieldType = com.sun.star.sdbc.DataType.BOOLEAN Then 98*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 99*b1cdbd2cSJim Jagielski ElseIf CurFieldType = com.sun.star.sdbc.DataType.DATE Then 100*b1cdbd2cSJim Jagielski oControl.Model.Date = Date 101*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 102*b1cdbd2cSJim Jagielski oControl.Model.Date = NullValue 103*b1cdbd2cSJim Jagielski ElseIf CurFieldType = com.sun.star.sdbc.DataType.TIME Then 104*b1cdbd2cSJim Jagielski oControl.Time = Time 105*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 106*b1cdbd2cSJim Jagielski oControl.Time = NullValue 107*b1cdbd2cSJim Jagielski Else 108*b1cdbd2cSJim Jagielski If oControl.MaxTextLen > SBMAXTEXTSIZE Then 109*b1cdbd2cSJim Jagielski oControl.Text = Mid(SBSIZETEXT,1, SBMAXTEXTSIZE) 110*b1cdbd2cSJim Jagielski Else 111*b1cdbd2cSJim Jagielski oControl.Text = Mid(SBSIZETEXT,1, oControl.MaxTextLen) 112*b1cdbd2cSJim Jagielski End If 113*b1cdbd2cSJim Jagielski GetPeerSize() = oPeer.PreferredSize() 114*b1cdbd2cSJim Jagielski oControl.Text = "" 115*b1cdbd2cSJim Jagielski End If 116*b1cdbd2cSJim JagielskiEnd Function 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim JagielskiFunction TwipToCM(BYVAL nValue as long) as String 120*b1cdbd2cSJim Jagielski TwipToCM = trim(str(nValue / 567)) + "cm" 121*b1cdbd2cSJim JagielskiEnd function 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim JagielskiFunction TwipTo100telMM(BYVAL nValue as long) as long 125*b1cdbd2cSJim Jagielski TwipTo100telMM = nValue / 0.567 126*b1cdbd2cSJim JagielskiEnd function 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim JagielskiFunction TwipToPixel(BYVAL nValue as long) as long ' not an exact calculation 130*b1cdbd2cSJim Jagielski TwipToPixel = nValue / 15 131*b1cdbd2cSJim JagielskiEnd function 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski 134*b1cdbd2cSJim JagielskiFunction PixelTo100thMMX(oControl as Object) as long 135*b1cdbd2cSJim Jagielski oPeer = oControl.GetPeer() 136*b1cdbd2cSJim Jagielski PixelTo100mmX = Clng(Peer.GetInfo.PixelPerMeterX/100000) 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski' PixelTo100thMM = nValue * 28 ' not an exact calculation 139*b1cdbd2cSJim JagielskiEnd function 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim JagielskiFunction PixelTo100thMMY(oControl as Object) as long 143*b1cdbd2cSJim Jagielski oPeer = oControl.GetPeer() 144*b1cdbd2cSJim Jagielski PixelTo100mmX = Clng(Peer.GetInfo.PixelPerMeterY/100000) 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski' PixelTo100thMM = nValue * 28 ' not an exact calculation 147*b1cdbd2cSJim JagielskiEnd function 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim JagielskiFunction GetPoint(xPos, YPos) as New com.sun.star.awt.Point 151*b1cdbd2cSJim JagielskiDim aPoint as New com.sun.star.awt.Point 152*b1cdbd2cSJim Jagielski aPoint.X = xPos 153*b1cdbd2cSJim Jagielski aPoint.Y = yPos 154*b1cdbd2cSJim Jagielski GetPoint() = aPoint 155*b1cdbd2cSJim JagielskiEnd Function 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim JagielskiFunction GetSize(iWidth, iHeight) As New com.sun.star.awt.Size 159*b1cdbd2cSJim JagielskiDim aSize As New com.sun.star.awt.Size 160*b1cdbd2cSJim Jagielski aSize.Width = iWidth 161*b1cdbd2cSJim Jagielski aSize.Height = iHeight 162*b1cdbd2cSJim Jagielski GetSize() = aSize 163*b1cdbd2cSJim JagielskiEnd Function 164*b1cdbd2cSJim Jagielski 165*b1cdbd2cSJim Jagielski 166*b1cdbd2cSJim JagielskiSub ImportStyles() 167*b1cdbd2cSJim JagielskiDim OldIndex as Integer 168*b1cdbd2cSJim Jagielski If Not bDebug Then 169*b1cdbd2cSJim Jagielski On Local Error GoTo WIZARDERROR 170*b1cdbd2cSJim Jagielski End If 171*b1cdbd2cSJim Jagielski OldIndex = CurIndex 172*b1cdbd2cSJim Jagielski CurIndex = GetCurIndex(DialogModel.lstStyles, Styles(),8) 173*b1cdbd2cSJim Jagielski If CurIndex <> OldIndex Then 174*b1cdbd2cSJim Jagielski ToggleLayoutPage(False) 175*b1cdbd2cSJim Jagielski Dim sImportPath as String 176*b1cdbd2cSJim Jagielski sImportPath = Styles(CurIndex, 8) 177*b1cdbd2cSJim Jagielski bWithBackGraphic = LoadNewStyles(oDocument, DialogModel, CurIndex, sImportPath, Styles(), TexturePath) 178*b1cdbd2cSJim Jagielski ControlCaptionsToStandardLayout() 179*b1cdbd2cSJim Jagielski ToggleLayoutPage(True, "lstStyles") 180*b1cdbd2cSJim Jagielski End If 181*b1cdbd2cSJim JagielskiWIZARDERROR: 182*b1cdbd2cSJim Jagielski If Err <> 0 Then 183*b1cdbd2cSJim Jagielski Msgbox(sMsgErrMsg, 16, GetProductName()) 184*b1cdbd2cSJim Jagielski Resume LOCERROR 185*b1cdbd2cSJim Jagielski LOCERROR: 186*b1cdbd2cSJim Jagielski End If 187*b1cdbd2cSJim JagielskiEnd Sub 188*b1cdbd2cSJim Jagielski 189*b1cdbd2cSJim Jagielski 190*b1cdbd2cSJim Jagielski 191*b1cdbd2cSJim JagielskiFunction SetNumerics(ByVal oLocObject as Object, iLocFieldType as Integer) as Object 192*b1cdbd2cSJim Jagielski If CurControlType = cNumericBox Then 193*b1cdbd2cSJim Jagielski oLocObject.TreatAsNumber = True 194*b1cdbd2cSJim Jagielski Select Case iLocFieldType 195*b1cdbd2cSJim Jagielski Case com.sun.star.sdbc.DataType.BIGINT 196*b1cdbd2cSJim Jagielski oLocObject.EffectiveMax = 2147483647 * 2147483647 197*b1cdbd2cSJim Jagielski oLocObject.EffectiveMin = -(-2147483648 * -2147483648) 198*b1cdbd2cSJim Jagielski' oLocObject.DecimalAccuracy = 0 199*b1cdbd2cSJim Jagielski Case com.sun.star.sdbc.DataType.INTEGER 200*b1cdbd2cSJim Jagielski oLocObject.EffectiveMax = 2147483647 201*b1cdbd2cSJim Jagielski oLocObject.EffectiveMin = -2147483648 202*b1cdbd2cSJim Jagielski Case com.sun.star.sdbc.DataType.SMALLINT 203*b1cdbd2cSJim Jagielski oLocObject.EffectiveMax = 32767 204*b1cdbd2cSJim Jagielski oLocObject.EffectiveMin = -32768 205*b1cdbd2cSJim Jagielski Case com.sun.star.sdbc.DataType.TINYINT 206*b1cdbd2cSJim Jagielski oLocObject.EffectiveMax = 127 207*b1cdbd2cSJim Jagielski oLocObject.EffectiveMin = -128 208*b1cdbd2cSJim Jagielski Case com.sun.star.sdbc.DataType.FLOAT, com.sun.star.sdbc.DataType.REAL, com.sun.star.sdbc.DataType.DOUBLE, com.sun.star.sdbc.DataType.DECIMAL, com.sun.star.sdbc.DataType.NUMERIC 209*b1cdbd2cSJim Jagielski'Todo: oLocObject.DecimalAccuracy = ... 210*b1cdbd2cSJim Jagielski oLocObject.EffectiveDefault = CurDefaultValue 211*b1cdbd2cSJim Jagielski' Todo: HelpText??? 212*b1cdbd2cSJim Jagielski End Select 213*b1cdbd2cSJim Jagielski If oLocObject.PropertySetinfo.HasPropertyByName("Width")Then ' Note: an Access AutoincrementField does not provide this property Width 214*b1cdbd2cSJim Jagielski oLocObject.Width = CurFieldLength + CurScale + 1 215*b1cdbd2cSJim Jagielski End If 216*b1cdbd2cSJim Jagielski If CurIsCurrency Then 217*b1cdbd2cSJim Jagielski'Todo: How do you set currencies? 218*b1cdbd2cSJim Jagielski End If 219*b1cdbd2cSJim Jagielski ElseIf CurControlType = cTextBox Then 'com.sun.star.sdbc.DataType.CHAR, com.sun.star.sdbc.DataType.VARCHAR, com.sun.star.sdbc.DataType.LONGVARCHAR 220*b1cdbd2cSJim Jagielski If CurFieldLength = 0 Then 'Or oLocObject.MaxTextLen > SBMAXTEXTSIZE 221*b1cdbd2cSJim Jagielski oLocObject.MaxTextLen = SBMAXTEXTSIZE 222*b1cdbd2cSJim Jagielski CurFieldLength = SBMAXTEXTSIZE 223*b1cdbd2cSJim Jagielski Else 224*b1cdbd2cSJim Jagielski oLocObject.MaxTextLen = CurFieldLength 225*b1cdbd2cSJim Jagielski End If 226*b1cdbd2cSJim Jagielski oLocObject.DefaultText = CurDefaultValue 227*b1cdbd2cSJim Jagielski ElseIf CurControlType = cDateBox Then 228*b1cdbd2cSJim Jagielski' Todo Why does this not work?: oLocObject.DefaultDate = CurDefaultValue 229*b1cdbd2cSJim Jagielski ElseIf CurControlType = cTimeBox Then ' com.sun.star.sdbc.DataType.DATE, com.sun.star.sdbc.DataType.TIME 230*b1cdbd2cSJim Jagielski oLocObject.DefaultTime = CurDefaultValue 231*b1cdbd2cSJim Jagielski' Todo: Property TimeFormat? frome where? 232*b1cdbd2cSJim Jagielski ElseIf CurControlType = cCheckBox Then 233*b1cdbd2cSJim Jagielski' Todo Why does this not work?: oLocObject.DefautState = CurDefaultValue 234*b1cdbd2cSJim Jagielski End If 235*b1cdbd2cSJim Jagielski If oLocObject.PropertySetInfo.HasPropertybyName("FormatKey") Then 236*b1cdbd2cSJim Jagielski On Local Error Resume Next 237*b1cdbd2cSJim Jagielski oLocObject.FormatKey = CurFormatKey 238*b1cdbd2cSJim Jagielski End If 239*b1cdbd2cSJim JagielskiEnd Function 240*b1cdbd2cSJim Jagielski 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski' Destroy all Shapes in Nirwana 243*b1cdbd2cSJim JagielskiSub RemoveShapes() 244*b1cdbd2cSJim JagielskiDim n as Integer 245*b1cdbd2cSJim JagielskiDim oControl as Object 246*b1cdbd2cSJim JagielskiDim oShape as Object 247*b1cdbd2cSJim Jagielski For n = oDrawPage.Count-1 To 0 Step -1 248*b1cdbd2cSJim Jagielski oShape = oDrawPage(n) 249*b1cdbd2cSJim Jagielski If oShape.Position.Y > -2000 Then 250*b1cdbd2cSJim Jagielski oDrawPage.Remove(oShape) 251*b1cdbd2cSJim Jagielski End If 252*b1cdbd2cSJim Jagielski Next n 253*b1cdbd2cSJim JagielskiEnd Sub 254*b1cdbd2cSJim Jagielski 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski' Destroy all Shapes in Nirwana 257*b1cdbd2cSJim JagielskiSub RemoveNirwanaShapes() 258*b1cdbd2cSJim JagielskiDim n as Integer 259*b1cdbd2cSJim JagielskiDim oControl as Object 260*b1cdbd2cSJim JagielskiDim oShape as Object 261*b1cdbd2cSJim Jagielski For n = oDrawPage.Count-1 To 0 Step -1 262*b1cdbd2cSJim Jagielski oShape = oDrawPage(n) 263*b1cdbd2cSJim Jagielski If oShape.Position.Y < -2000 Then 264*b1cdbd2cSJim Jagielski oDrawPage.Remove(oShape) 265*b1cdbd2cSJim Jagielski End If 266*b1cdbd2cSJim Jagielski Next n 267*b1cdbd2cSJim JagielskiEnd Sub 268*b1cdbd2cSJim Jagielski 269*b1cdbd2cSJim Jagielski 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski' Note: as Shapes cannot be removed from the DrawPage without destroying 272*b1cdbd2cSJim Jagielski' the object we have to park them somewhere beyond the visible area of the page 273*b1cdbd2cSJim JagielskiSub ShapesToNirwana() 274*b1cdbd2cSJim JagielskiDim n as Integer 275*b1cdbd2cSJim JagielskiDim oControl as Object 276*b1cdbd2cSJim Jagielski For n = 0 To oDrawPage.Count-1 277*b1cdbd2cSJim Jagielski oDrawPage(n).Position = GetPoint(-20, -10000) 278*b1cdbd2cSJim Jagielski Next n 279*b1cdbd2cSJim JagielskiEnd Sub 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski 282*b1cdbd2cSJim JagielskiFunction CalcUniqueContentName(BYVAL oContainer as Object, sBaseName as String) as String 283*b1cdbd2cSJim Jagielski 284*b1cdbd2cSJim JagielskiDim nPostfix as Integer 285*b1cdbd2cSJim JagielskiDim sReturn as String 286*b1cdbd2cSJim Jagielski nPostfix = 2 287*b1cdbd2cSJim Jagielski sReturn = sBaseName 288*b1cdbd2cSJim Jagielski while (oContainer.hasByName(sReturn)) 289*b1cdbd2cSJim Jagielski sReturn = sBaseName & nPostfix 290*b1cdbd2cSJim Jagielski nPostfix = nPostfix + 1 291*b1cdbd2cSJim Jagielski Wend 292*b1cdbd2cSJim Jagielski CalcUniqueContentName = sReturn 293*b1cdbd2cSJim JagielskiEnd Function 294*b1cdbd2cSJim Jagielski 295*b1cdbd2cSJim Jagielski 296*b1cdbd2cSJim JagielskiFunction CountItemsInArray(BigArray(), SearchItem) 297*b1cdbd2cSJim JagielskiDim i as Integer 298*b1cdbd2cSJim JagielskiDim MaxIndex as Integer 299*b1cdbd2cSJim JagielskiDim ResCount as Integer 300*b1cdbd2cSJim Jagielski ResCount = 0 301*b1cdbd2cSJim Jagielski MaxIndex = Ubound(BigArray()) 302*b1cdbd2cSJim Jagielski For i = 0 To MaxIndex 303*b1cdbd2cSJim Jagielski If SearchItem = BigArray(i) Then 304*b1cdbd2cSJim Jagielski ResCount = ResCount + 1 305*b1cdbd2cSJim Jagielski End If 306*b1cdbd2cSJim Jagielski Next i 307*b1cdbd2cSJim Jagielski CountItemsInArray() = ResCount 308*b1cdbd2cSJim JagielskiEnd Function 309*b1cdbd2cSJim Jagielski 310*b1cdbd2cSJim Jagielski 311*b1cdbd2cSJim JagielskiFunction GetDBHeight(oDBModel as Object) 312*b1cdbd2cSJim Jagielski If CurControlType = cImageControl Then 313*b1cdbd2cSJim Jagielski nDBHeight = 2000 314*b1cdbd2cSJim Jagielski Else 315*b1cdbd2cSJim Jagielski If CurFieldType = com.sun.star.sdbc.DataType.LONGVARCHAR Then 316*b1cdbd2cSJim Jagielski oDBModel.MultiLine = True 317*b1cdbd2cSJim Jagielski nDBHeight = nDBRefHeight * 4 318*b1cdbd2cSJim Jagielski Else 319*b1cdbd2cSJim Jagielski nDBHeight = nDBRefHeight 320*b1cdbd2cSJim Jagielski End If 321*b1cdbd2cSJim Jagielski End If 322*b1cdbd2cSJim Jagielski GetDBHeight() = nDBHeight 323*b1cdbd2cSJim JagielskiEnd Function 324*b1cdbd2cSJim Jagielski 325*b1cdbd2cSJim Jagielski 326*b1cdbd2cSJim JagielskiFunction GetFormWizardPaths() as Boolean 327*b1cdbd2cSJim Jagielski FormPath = GetOfficeSubPath("Template","../wizard/bitmap") 328*b1cdbd2cSJim Jagielski If FormPath <> "" Then 329*b1cdbd2cSJim Jagielski WebWizardPath = GetOfficeSubPath("Template","wizard/web") 330*b1cdbd2cSJim Jagielski If WebWizardPath <> "" Then 331*b1cdbd2cSJim Jagielski WizardPath = GetOfficeSubPath("Template","wizard/") 332*b1cdbd2cSJim Jagielski If Wizardpath <> "" Then 333*b1cdbd2cSJim Jagielski TexturePath = GetOfficeSubPath("Gallery", "www-back/") 334*b1cdbd2cSJim Jagielski If TexturePath <> "" Then 335*b1cdbd2cSJim Jagielski WorkPath = GetPathSettings("Work") 336*b1cdbd2cSJim Jagielski If WorkPath <> "" Then 337*b1cdbd2cSJim Jagielski TempPath = GetPathSettings("Temp") 338*b1cdbd2cSJim Jagielski If TempPath <> "" Then 339*b1cdbd2cSJim Jagielski GetFormWizardPaths = True 340*b1cdbd2cSJim Jagielski Exit Function 341*b1cdbd2cSJim Jagielski End If 342*b1cdbd2cSJim Jagielski End If 343*b1cdbd2cSJim Jagielski End If 344*b1cdbd2cSJim Jagielski End If 345*b1cdbd2cSJim Jagielski End If 346*b1cdbd2cSJim Jagielski End If 347*b1cdbd2cSJim Jagielski DisposeDocument(oDocument) 348*b1cdbd2cSJim Jagielski GetFormWizardPaths() = False 349*b1cdbd2cSJim JagielskiEnd Function 350*b1cdbd2cSJim Jagielski 351*b1cdbd2cSJim Jagielski 352*b1cdbd2cSJim JagielskiFunction GetFilterName(sApplicationKey as String) as String 353*b1cdbd2cSJim JagielskiDim oArgs() 354*b1cdbd2cSJim JagielskiDim oFactory 355*b1cdbd2cSJim JagielskiDim i as Integer 356*b1cdbd2cSJim JagielskiDim Maxindex as Integer 357*b1cdbd2cSJim JagielskiDim UIName as String 358*b1cdbd2cSJim Jagielski oFactory = createUnoService("com.sun.star.document.FilterFactory") 359*b1cdbd2cSJim Jagielski oArgs() = oFactory.getByName(sApplicationKey) 360*b1cdbd2cSJim Jagielski MaxIndex = Ubound(oArgs()) 361*b1cdbd2cSJim Jagielski For i = 0 to MaxIndex 362*b1cdbd2cSJim Jagielski If (oArgs(i).Name="UIName") Then 363*b1cdbd2cSJim Jagielski UIName = oArgs(i).Value 364*b1cdbd2cSJim Jagielski Exit For 365*b1cdbd2cSJim Jagielski End If 366*b1cdbd2cSJim Jagielski next i 367*b1cdbd2cSJim Jagielski GetFilterName() = UIName 368*b1cdbd2cSJim JagielskiEnd Function 369*b1cdbd2cSJim Jagielski</script:module> 370