1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<!--*********************************************************** 4 * 5 * Licensed to the Apache Software Foundation (ASF) under one 6 * or more contributor license agreements. See the NOTICE file 7 * distributed with this work for additional information 8 * regarding copyright ownership. The ASF licenses this file 9 * to you under the Apache License, Version 2.0 (the 10 * "License"); you may not use this file except in compliance 11 * with the License. You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, 16 * software distributed under the License is distributed on an 17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18 * KIND, either express or implied. See the License for the 19 * specific language governing permissions and limitations 20 * under the License. 21 * 22 ***********************************************************--> 23<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Common" script:language="StarBasic">REM ***** BASIC ***** 24Option Explicit 25 26 27Function LoadNewStyles(oDocument as Object, oDialogModel as Object, CurIndex as Integer, SourceFile as String, Styles() as String, TextureDir as String) as Boolean 28Dim BackGroundURL as String 29Dim oBackGraph as Object 30Dim i, BackColor as Long 31Dim bLocWithBackGraphic as Boolean 32Dim oFamilies as Object, oFamily as Object', oStyle as Object 33Dim StylesOptions(0) as New com.sun.star.beans.PropertyValue 34 35 If SourceFile <> "" Then 36 StylesOptions(0).Name = "OverwriteStyles" 37 StylesOptions(0).Value = True 38 oDocument.StyleFamilies.LoadStylesFromURL(SourceFile, StylesOptions()) 39 End If 40 41 ' Read array fields for background, bullet & graphics 42 BackgroundURL = Styles(CurIndex, 7) 43 If Left(BackgroundURL, 1) <> "#" Then 44 BackgroundURL = TextureDir + BackgroundURL 45 bLocWithBackGraphic = True 46 Else 47 BackColor = clng("&H" & Right(BackgroundURL, Len(BackgroundURL)-1)) 48 bLocWithBackGraphic = False 49 End If 50 oFamilies = oDocument.StyleFamilies 51 oFamily = oFamilies.GetbyName("PageStyles") 52 For i = 0 To oFamily.Count - 1 53 If oFamily.GetByIndex(i).IsInUse Then 54 oStyle = oFamily.GetbyIndex(i) 55 If oStyle.PropertySetInfo.HasPropertybyName("BackGraphicURL") Then 56 If Left(BackgroundURL, 1) = "#" Then 57 oStyle.BackGraphicURL = "" 58 oStyle.BackColor = BackColor 59 oStyle.BackTransparent = False 60 Else 61 oStyle.BackGraphicUrl = BackGroundURL 62 SetTileBackgroundorNot(oDialogModel, oStyle) 63 End If 64 Exit For 65 End If 66 End If 67 Next i 68 LoadNewStyles() = bLocWithBackGraphic 69ErrorOcurred: 70 If Err <> 0 Then 71 MsgBox (WebWiz_gErrWhileLoadStyles$, 16, WebWiz_gWizardName$) 72 RESUME EXITSUB 73EXITSUB: 74 End If 75End Function 76 77 78 79Sub ChangeBackGraphicUrl(SavePath as String) 80Dim oPageFamily as Object 81Dim i as Integer 82 oPageFamily = oBaseDocument.StyleFamilies.GetbyName("PageStyles") 83 For i = 0 To oPageFamily.Count - 1 84 If oPageFamily.GetByIndex(i).IsInUse Then 85 oStyle = oPageFamily.GetbyIndex(i) 86 If oStyle.PropertySetInfo.HasPropertybyName("BackGraphicURL") Then 87 If oStyle.BackGraphicUrl <> "" Then 88 oStyle.BackGraphicUrl = CopyFile(oStyle.BackGraphicUrl, SavePath) 89 Exit Sub 90 End If 91 End If 92 End If 93 Next i 94End Sub 95 96 97Sub SetBackGraphicStyle(oEvent as Object) 98Dim oFamilies as Object 99Dim oFamily as Object 100Dim i as Integer 101Dim oOptModel as Object 102Dim iBackgroundValue as Integer 103Dim oLocDocument as Object 104 ooptModel = oEvent.Source.Model 105 iBackgroundValue = Val(ooptModel.Tag) 106 oLocDocument = StarDesktop.ActiveFrame.Controller.Model 107 oLocDocument.LockControllers 108 oFamilies = oLocDocument.StyleFamilies 109 oFamily = oFamilies.GetbyName("PageStyles") 110 For i = 0 To oFamily.Count - 1 111 If oFamily.GetByIndex(i).IsInUse Then 112 oStyle = oFamily.GetbyIndex(i) 113 If oStyle.PropertySetInfo.HasPropertybyName("BackGraphicURL") Then 114 oStyle.BackGraphicLocation = iBackgroundValue 115 End If 116 End If 117 Next i 118 oLocDocument.UnlockControllers 119End Sub 120 121 122Sub SetTileBackgroundorNot(DialogModel as Object, oStyle as Object) 123 If Not IsNull(DialogModel) Then 124 If DialogModel.optTiled.State = 1 Then 125 oStyle.BackGraphicLocation = com.sun.star.style.GraphicLocation.TILED 126 Else 127 oStyle.BackGraphicLocation = com.sun.star.style.GraphicLocation.AREA 128 End If 129 End If 130End Sub 131 132 133Sub ToggleOptionButtons(DialogModel as Object, bDoEnable as Integer) 134 If Not IsNull(DialogModel) Then 135 DialogModel.optTiled.Enabled = bDoEnable 136 DialogModel.optArea.Enabled = bDoEnable 137 DialogModel.hlnBackground.Enabled = bDoEnable 138 End If 139End Sub 140 141 142Function GetCurIndex(oListbox as Object, sList() as String, FileIndex as Integer) 143Dim i as Integer 144Dim n as Integer 145Dim SelValue as String 146Dim MaxIndex as Integer 147 If IsNull(oListBox) Then 148 ' Startup for WebWizard 149 SelValue = sList(0,1) 150 Else 151 n = oListbox.SelectedItems(0) 152 SelValue = oListbox.StringItemList(n) 153 End If 154 ' Find field index for chosen list entry 155 MaxIndex = Ubound(sList) 156 For i = 0 To MaxIndex 157 If sList(i,1) = SelValue Then 158 FileStr = sList(i, FileIndex) 159 Exit For 160 End If 161 Next 162 GetCurIndex = i 163End Function 164 165</script:module> 166