1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sch_ChXDiagram" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*1cbee2cdSAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*1cbee2cdSAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*1cbee2cdSAndrew Rist'  distributed with this work for additional information
11*1cbee2cdSAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*1cbee2cdSAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*1cbee2cdSAndrew Rist'  "License"); you may not use this file except in compliance
14*1cbee2cdSAndrew Rist'  with the License.  You may obtain a copy of the License at
15*1cbee2cdSAndrew Rist'
16*1cbee2cdSAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*1cbee2cdSAndrew Rist'
18*1cbee2cdSAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*1cbee2cdSAndrew Rist'  software distributed under the License is distributed on an
20*1cbee2cdSAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*1cbee2cdSAndrew Rist'  KIND, either express or implied.  See the License for the
22*1cbee2cdSAndrew Rist'  specific language governing permissions and limitations
23*1cbee2cdSAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*1cbee2cdSAndrew Rist
30*1cbee2cdSAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweirDim nCol As Integer
36cdf0e10cSrcweirDim nRow As Integer
37cdf0e10cSrcweir
38cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests:
39cdf0e10cSrcweirGlobal oLineDiagram As Object
40cdf0e10cSrcweirGlobal oStackDiagram As Object
41cdf0e10cSrcweirGlobal oStockDiagram As Object
42cdf0e10cSrcweirGlobal oBarDiagram As Object
43cdf0e10cSrcweirGlobal nGlobalBarDiagram As Long
44cdf0e10cSrcweir
45cdf0e10cSrcweir' For drawing.XShapeDescriptor
46cdf0e10cSrcweirGlobal cShapeType As String
47cdf0e10cSrcweir
48cdf0e10cSrcweir
49cdf0e10cSrcweirSub CreateObj()
50cdf0e10cSrcweir
51cdf0e10cSrcweir'*************************************************************************
52cdf0e10cSrcweir' COMPONENT:
53cdf0e10cSrcweir' sch.ChXDiagram
54cdf0e10cSrcweir'*************************************************************************
55cdf0e10cSrcweirOn Error Goto ErrHndl
56cdf0e10cSrcweir    Dim oCharts As Object
57cdf0e10cSrcweir    Dim oChart As Object
58cdf0e10cSrcweir    Dim cType(4) As String
59cdf0e10cSrcweir    Dim mRangeAddress(0) As New com.sun.star.table.CellRangeAddress
60cdf0e10cSrcweir    Dim aRect As New com.sun.star.awt.Rectangle
61cdf0e10cSrcweir    Dim n As Integer
62cdf0e10cSrcweir
63cdf0e10cSrcweir    oDoc = utils.createDocument("scalc", cObjectName)
64cdf0e10cSrcweir
65cdf0e10cSrcweir    cType(0) = "StockDiagram"
66cdf0e10cSrcweir    cType(1) = "BarDiagram"
67cdf0e10cSrcweir    cType(2) = "XYDiagram"
68cdf0e10cSrcweir    cType(3) = "StackableDiagram"
69cdf0e10cSrcweir    cType(4) = "LineDiagram"
70cdf0e10cSrcweir
71cdf0e10cSrcweir    nCol = 5
72cdf0e10cSrcweir    nRow = 6
73cdf0e10cSrcweir    FillCells()
74cdf0e10cSrcweir
75cdf0e10cSrcweir    aRect.Width = 5000
76cdf0e10cSrcweir    aRect.Height = 5000
77cdf0e10cSrcweir    mRangeAddress(0).Sheet = 0
78cdf0e10cSrcweir    mRangeAddress(0).StartColumn = 0
79cdf0e10cSrcweir    mRangeAddress(0).StartRow = 0
80cdf0e10cSrcweir    mRangeAddress(0).EndColumn = nCol
81cdf0e10cSrcweir    mRangeAddress(0).EndRow = nRow
82cdf0e10cSrcweir
83cdf0e10cSrcweir    for n = 0 to 4
84cdf0e10cSrcweir        aRect.X = 500 * n
85cdf0e10cSrcweir        aRect.Y = 3000 * n
86cdf0e10cSrcweir        oCharts = oDoc.Sheets(0).Charts
87cdf0e10cSrcweir        oCharts.addNewByName(cObjectName + cType(n) + n, aRect, mRangeAddress(), true, true)
88cdf0e10cSrcweir        oChart = oCharts.getByName(cObjectName + cType(n) + n).EmbeddedObject
89cdf0e10cSrcweir        oChart.Diagram = oChart.createInstance("com.sun.star.chart." + cType(n))
90cdf0e10cSrcweir    next n
91cdf0e10cSrcweir
92cdf0e10cSrcweir    oStockDiagram = oCharts.getByName(cObjectName + cType(0) + 0).EmbeddedObject.Diagram
93cdf0e10cSrcweir    oBarDiagram   = oCharts.getByName(cObjectName + cType(1) + 1).EmbeddedObject.Diagram
94cdf0e10cSrcweir    oLineDiagram  = oCharts.getByName(cObjectName + cType(2) + 2).EmbeddedObject.Diagram
95cdf0e10cSrcweir    oStackDiagram = oCharts.getByName(cObjectName + cType(3) + 3).EmbeddedObject.Diagram
96cdf0e10cSrcweir    oObj          = oCharts.getByName(cObjectName + cType(4) + 4).EmbeddedObject.Diagram
97cdf0e10cSrcweir
98cdf0e10cSrcweir    nGlobalBarDiagram = 4
99cdf0e10cSrcweir
100cdf0e10cSrcweir    ' For drawing.XShapeDescriptor
101cdf0e10cSrcweir    cShapeType = "com.sun.star.chart.Diagram"
102cdf0e10cSrcweir
103cdf0e10cSrcweirExit Sub
104cdf0e10cSrcweirErrHndl:
105cdf0e10cSrcweir    Test.Exception()
106cdf0e10cSrcweirEnd Sub
107cdf0e10cSrcweir
108cdf0e10cSrcweirSub FillCells()
109cdf0e10cSrcweir    Dim oCell As Object
110cdf0e10cSrcweir    Dim oRange As Object
111cdf0e10cSrcweir    Dim n1 As Integer
112cdf0e10cSrcweir    Dim n2 As Integer
113cdf0e10cSrcweir    Dim oFormats As Variant
114cdf0e10cSrcweir    Dim nFormat As Integer
115cdf0e10cSrcweir    Dim nKey As Integer
116cdf0e10cSrcweir    Dim aLanguage As New com.sun.star.lang.Locale
117cdf0e10cSrcweir
118cdf0e10cSrcweir    oRange = oDoc.Sheets(0).getCellRangeByPosition(0, 0, nCol, nRow)
119cdf0e10cSrcweir
120cdf0e10cSrcweir    for n1 = 1 to nCol - 1
121cdf0e10cSrcweir        For n2 = 1 To nRow - 1
122cdf0e10cSrcweir            oRange.getCellByPosition(n1, n2).Value = n2 * (n1 + 1)
123cdf0e10cSrcweir        Next n2
124cdf0e10cSrcweir    next n1
125cdf0e10cSrcweir
126cdf0e10cSrcweir    for n1 = 1 to nCol - 1
127cdf0e10cSrcweir        oRange.getCellByPosition(n1, 0).String = "Col " + n1
128cdf0e10cSrcweir    next n1
129cdf0e10cSrcweir    for n2 = 1 to nRow - 1
130cdf0e10cSrcweir        oRange.getCellByPosition(0, n2).String = "Row " + n2
131cdf0e10cSrcweir    next n2
132cdf0e10cSrcweir
133cdf0e10cSrcweir    oFormats = oDoc.NumberFormats
134cdf0e10cSrcweir    nFormat = com.sun.star.util.NumberFormat.CURRENCY
135cdf0e10cSrcweir    nKey = oFormats.getStandardFormat(nFormat, aLanguage)
136cdf0e10cSrcweir    oRange.NumberFormat = nKey
137cdf0e10cSrcweirEnd Sub
138cdf0e10cSrcweir</script:module>
139