xref: /trunk/main/wizards/source/webwizard/Common.xba (revision fc9fd3f14a55d77b35643a64034752a178b2a5b0)
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Common" script:language="StarBasic">REM  *****  BASIC  *****
4Option Explicit
5
6
7Function LoadNewStyles(oDocument as Object, oDialogModel as Object, CurIndex as Integer, SourceFile as String, Styles() as String, TextureDir as String) as Boolean
8Dim BackGroundURL as String
9Dim oBackGraph as Object
10Dim i, BackColor as Long
11Dim bLocWithBackGraphic as Boolean
12Dim oFamilies as Object, oFamily as Object&apos;, oStyle as Object
13Dim StylesOptions(0) as New com.sun.star.beans.PropertyValue
14
15    If SourceFile &lt;&gt; &quot;&quot; Then
16        StylesOptions(0).Name = &quot;OverwriteStyles&quot;
17        StylesOptions(0).Value = True
18        oDocument.StyleFamilies.LoadStylesFromURL(SourceFile, StylesOptions())
19    End If
20
21    &apos; Read array fields for background, bullet &amp; graphics
22    BackgroundURL = Styles(CurIndex, 7)
23    If Left(BackgroundURL, 1) &lt;&gt; &quot;#&quot; Then
24        BackgroundURL = TextureDir + BackgroundURL
25        bLocWithBackGraphic = True
26    Else
27        BackColor = clng(&quot;&amp;H&quot; &amp; Right(BackgroundURL, Len(BackgroundURL)-1))
28        bLocWithBackGraphic = False
29    End If
30    oFamilies = oDocument.StyleFamilies
31    oFamily = oFamilies.GetbyName(&quot;PageStyles&quot;)
32    For i = 0 To oFamily.Count - 1
33        If oFamily.GetByIndex(i).IsInUse Then
34            oStyle = oFamily.GetbyIndex(i)
35            If oStyle.PropertySetInfo.HasPropertybyName(&quot;BackGraphicURL&quot;) Then
36                If Left(BackgroundURL, 1) = &quot;#&quot; Then
37                    oStyle.BackGraphicURL = &quot;&quot;
38                    oStyle.BackColor = BackColor
39                    oStyle.BackTransparent = False
40                Else
41                    oStyle.BackGraphicUrl = BackGroundURL
42                    SetTileBackgroundorNot(oDialogModel, oStyle)
43                End If
44                Exit For
45            End If
46        End If
47    Next i
48    LoadNewStyles() = bLocWithBackGraphic
49ErrorOcurred:
50    If Err &lt;&gt; 0 Then
51        MsgBox (WebWiz_gErrWhileLoadStyles$, 16, WebWiz_gWizardName$)
52        RESUME EXITSUB
53EXITSUB:
54    End If
55End Function
56
57
58
59Sub ChangeBackGraphicUrl(SavePath as String)
60Dim oPageFamily as Object
61Dim i as Integer
62    oPageFamily = oBaseDocument.StyleFamilies.GetbyName(&quot;PageStyles&quot;)
63    For i = 0 To oPageFamily.Count - 1
64        If oPageFamily.GetByIndex(i).IsInUse Then
65            oStyle = oPageFamily.GetbyIndex(i)
66            If oStyle.PropertySetInfo.HasPropertybyName(&quot;BackGraphicURL&quot;) Then
67                If oStyle.BackGraphicUrl &lt;&gt; &quot;&quot; Then
68                    oStyle.BackGraphicUrl = CopyFile(oStyle.BackGraphicUrl, SavePath)
69                    Exit Sub
70                End If
71            End If
72        End If
73    Next i
74End Sub
75
76
77Sub SetBackGraphicStyle(oEvent as Object)
78Dim oFamilies as Object
79Dim oFamily as Object
80Dim i as Integer
81Dim oOptModel as Object
82Dim iBackgroundValue as Integer
83Dim oLocDocument as Object
84    ooptModel = oEvent.Source.Model
85    iBackgroundValue = Val(ooptModel.Tag)
86    oLocDocument = StarDesktop.ActiveFrame.Controller.Model
87    oLocDocument.LockControllers
88    oFamilies = oLocDocument.StyleFamilies
89    oFamily = oFamilies.GetbyName(&quot;PageStyles&quot;)
90    For i = 0 To oFamily.Count - 1
91        If oFamily.GetByIndex(i).IsInUse Then
92            oStyle = oFamily.GetbyIndex(i)
93            If oStyle.PropertySetInfo.HasPropertybyName(&quot;BackGraphicURL&quot;) Then
94                oStyle.BackGraphicLocation = iBackgroundValue
95            End If
96        End If
97    Next i
98    oLocDocument.UnlockControllers
99End Sub
100
101
102Sub SetTileBackgroundorNot(DialogModel as Object, oStyle as Object)
103    If Not IsNull(DialogModel) Then
104        If DialogModel.optTiled.State = 1 Then
105            oStyle.BackGraphicLocation = com.sun.star.style.GraphicLocation.TILED
106        Else
107            oStyle.BackGraphicLocation = com.sun.star.style.GraphicLocation.AREA
108        End If
109    End If
110End Sub
111
112
113Sub ToggleOptionButtons(DialogModel as Object, bDoEnable as Integer)
114    If Not IsNull(DialogModel) Then
115        DialogModel.optTiled.Enabled = bDoEnable
116        DialogModel.optArea.Enabled = bDoEnable
117        DialogModel.hlnBackground.Enabled = bDoEnable
118    End If
119End Sub
120
121
122Function GetCurIndex(oListbox as Object, sList() as String, FileIndex as Integer)
123Dim i as Integer
124Dim n as Integer
125Dim SelValue as String
126Dim MaxIndex as Integer
127    If IsNull(oListBox) Then
128        &apos; Startup for WebWizard
129        SelValue = sList(0,1)
130    Else
131        n = oListbox.SelectedItems(0)
132        SelValue = oListbox.StringItemList(n)
133    End If
134    &apos; Find field index for chosen list entry
135    MaxIndex = Ubound(sList)
136    For i = 0 To MaxIndex
137        If sList(i,1) = SelValue Then
138            FileStr = sList(i, FileIndex)
139            Exit For
140        End If
141    Next
142    GetCurIndex = i
143End Function
144
145</script:module>