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<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OGridControlModel" script:language="StarBasic">
4*b1cdbd2cSJim Jagielski
5*b1cdbd2cSJim Jagielski
6*b1cdbd2cSJim Jagielski'*************************************************************************
7*b1cdbd2cSJim Jagielski'
8*b1cdbd2cSJim Jagielski'  Licensed to the Apache Software Foundation (ASF) under one
9*b1cdbd2cSJim Jagielski'  or more contributor license agreements.  See the NOTICE file
10*b1cdbd2cSJim Jagielski'  distributed with this work for additional information
11*b1cdbd2cSJim Jagielski'  regarding copyright ownership.  The ASF licenses this file
12*b1cdbd2cSJim Jagielski'  to you under the Apache License, Version 2.0 (the
13*b1cdbd2cSJim Jagielski'  "License"); you may not use this file except in compliance
14*b1cdbd2cSJim Jagielski'  with the License.  You may obtain a copy of the License at
15*b1cdbd2cSJim Jagielski'
16*b1cdbd2cSJim Jagielski'    http://www.apache.org/licenses/LICENSE-2.0
17*b1cdbd2cSJim Jagielski'
18*b1cdbd2cSJim Jagielski'  Unless required by applicable law or agreed to in writing,
19*b1cdbd2cSJim Jagielski'  software distributed under the License is distributed on an
20*b1cdbd2cSJim Jagielski'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*b1cdbd2cSJim Jagielski'  KIND, either express or implied.  See the License for the
22*b1cdbd2cSJim Jagielski'  specific language governing permissions and limitations
23*b1cdbd2cSJim Jagielski'  under the License.
24*b1cdbd2cSJim Jagielski'
25*b1cdbd2cSJim Jagielski'*************************************************************************
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski' Be sure that all variables are dimensioned:
32*b1cdbd2cSJim Jagielskioption explicit
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski
35*b1cdbd2cSJim Jagielski' REQUIRED VARIABLES for interface/service tests:
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski' Required for XPersistObject
38*b1cdbd2cSJim JagielskiGlobal oPersistInstance As Object
39*b1cdbd2cSJim Jagielski
40*b1cdbd2cSJim Jagielski' Required for XComponent
41*b1cdbd2cSJim JagielskiGlobal oComponentInstance As Object ' it will be disposed
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski' Requiered for  com.sun.star.container.XNameContainer
44*b1cdbd2cSJim Jagielski Global oInstance As Object 'instance to insert
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski' Requiered for  com.sun.star.view.XSelectionSupplier
47*b1cdbd2cSJim Jagielski Global SelectableObj1 As Variant
48*b1cdbd2cSJim Jagielski Global SelectableObj2 As Variant
49*b1cdbd2cSJim Jagielski
50*b1cdbd2cSJim Jagielski' Requiered for  com.sun.star.container.XNameReplace
51*b1cdbd2cSJim Jagielski Global cNameToReplace As String 'name of instance to be replased
52*b1cdbd2cSJim Jagielski Global oReplaceInstance As Object 'instance, that will be inserted
53*b1cdbd2cSJim Jagielski                                   'instead old one
54*b1cdbd2cSJim Jagielski
55*b1cdbd2cSJim Jagielski' Requiered for  com.sun.star.container.XIndexReplace
56*b1cdbd2cSJim Jagielski Global oIdxReplaceInstance As Object
57*b1cdbd2cSJim Jagielski
58*b1cdbd2cSJim Jagielski' Requiered for XContainer
59*b1cdbd2cSJim Jagielski Global oElementToInsert As Object
60*b1cdbd2cSJim Jagielski
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim JagielskiSub CreateObj()
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim Jagielski'*************************************************************************
65*b1cdbd2cSJim Jagielski' COMPONENT:
66*b1cdbd2cSJim Jagielski' forms.OGridControlModel
67*b1cdbd2cSJim Jagielski'*************************************************************************
68*b1cdbd2cSJim JagielskiOn Error Goto ErrHndl
69*b1cdbd2cSJim Jagielski    Dim bOK As Boolean, i As Integer
70*b1cdbd2cSJim Jagielski    Dim oShape As Object, oGridColumn As Object
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielski    bOK = true
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski    oDoc = utils.createDocument("swriter", cObjectName)
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielski    oShape = toolkittools.addControlToDefaultForm("GridControl", 1000, 1000, 3000, 3000)
77*b1cdbd2cSJim Jagielski    oObj = oShape.getControl()
78*b1cdbd2cSJim Jagielski    oShape = toolkittools.addControlToDefaultForm("GridControl", 1000, 5000, 500, 500)
79*b1cdbd2cSJim Jagielski    oComponentInstance = oShape.getControl()
80*b1cdbd2cSJim Jagielski    oShape = toolkittools.addControlToDefaultForm("GridControl", 1000, 9000, 500, 500)
81*b1cdbd2cSJim Jagielski    oPersistInstance = oShape.getControl()
82*b1cdbd2cSJim Jagielski
83*b1cdbd2cSJim Jagielski    'insert Columns into Grid
84*b1cdbd2cSJim Jagielski    for i = 0 to 10
85*b1cdbd2cSJim Jagielski        oGridColumn = oObj.createColumn("TextField")
86*b1cdbd2cSJim Jagielski        oGridColumn.Label = "Label" + Str(i)
87*b1cdbd2cSJim Jagielski        oGridColumn.DataField = "Data" + Str(i)
88*b1cdbd2cSJim Jagielski        oObj.insertByName("Field" + i , oGridColumn)
89*b1cdbd2cSJim Jagielski
90*b1cdbd2cSJim Jagielski    next i
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielski    SelectableObj1 = oObj.getByName("Field" + 7)
93*b1cdbd2cSJim Jagielski    SelectableObj2 = oObj.getByName("Field" + 5)
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim Jagielski    'for XNameContainer
96*b1cdbd2cSJim Jagielski    oInstance = oObj.createColumn("TextField")
97*b1cdbd2cSJim Jagielski    oInstance.Label = "LabelInstance"
98*b1cdbd2cSJim Jagielski    oInstance.DataField = "DataInstance"
99*b1cdbd2cSJim Jagielski
100*b1cdbd2cSJim Jagielski    oElementToInsert = oObj.createColumn("TextField")
101*b1cdbd2cSJim Jagielski    oElementToInsert.Label = "LabelInstance"
102*b1cdbd2cSJim Jagielski    oElementToInsert.DataField = "DataInstance"
103*b1cdbd2cSJim Jagielski
104*b1cdbd2cSJim Jagielski    'for XNameReplace
105*b1cdbd2cSJim Jagielski    cNameToReplace = "Field2"
106*b1cdbd2cSJim Jagielski    oReplaceInstance = oObj.createColumn("TextField")
107*b1cdbd2cSJim Jagielski    oReplaceInstance.Label = "LabelReplace"
108*b1cdbd2cSJim Jagielski    oReplaceInstance.DataField = "LabelReplace"
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski    'for XIndexReplace
111*b1cdbd2cSJim Jagielski    oIdxReplaceInstance = oObj.createColumn("TextField")
112*b1cdbd2cSJim Jagielski    oIdxReplaceInstance.Label = "LabelIndexReplace"
113*b1cdbd2cSJim Jagielski
114*b1cdbd2cSJim JagielskiExit Sub
115*b1cdbd2cSJim JagielskiErrHndl:
116*b1cdbd2cSJim Jagielski    Test.Exception()
117*b1cdbd2cSJim JagielskiEnd Sub
118*b1cdbd2cSJim Jagielski</script:module>
119