2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 import com
.sun
.star
.awt
.Point
;
22 import com
.sun
.star
.beans
.PropertyValue
;
23 import com
.sun
.star
.drawing
.PolygonFlags
;
24 import com
.sun
.star
.uno
.Enum
;
25 import java
.lang
.reflect
.Field
;
26 import java
.lang
.reflect
.Method
;
27 import java
.lang
.reflect
.Modifier
;
28 import java
.lang
.reflect
.Array
;
29 import com
.sun
.star
.uno
.Any
;
30 import com
.sun
.star
.uno
.AnyConverter
;
31 import com
.sun
.star
.uno
.Type
;
33 public class ValueChanger
{
35 // Method to change a Value, thought for properties
36 public static Object
changePValue(Object oldValue
, String name
) {
38 Object newValue
= null;
40 if (oldValue
instanceof com
.sun
.star
.uno
.Any
) {
42 oldValue
= AnyConverter
.toObject(((Any
) oldValue
).getType(),
44 } catch (com
.sun
.star
.lang
.IllegalArgumentException iae
) {
51 if (oldValue
instanceof Boolean
) {
52 boolean oldbool
= ((Boolean
) oldValue
).booleanValue();
53 newValue
= Boolean
.valueOf(!oldbool
);
54 } else if (oldValue
instanceof Integer
) {
55 int oldint
= ((Integer
) oldValue
).intValue();
56 newValue
= Integer
.valueOf(oldint
+ 5);
57 } else if (oldValue
instanceof Long
) {
58 long oldlong
= ((Long
) oldValue
).longValue();
59 newValue
= Long
.valueOf(oldlong
+ 15);
60 } else if (oldValue
instanceof Short
) {
61 short n
= ((Short
) oldValue
).shortValue();
62 if ("DefaultState".equals(name
) && n
== 2) {
63 // css.form.component.{CheckBox,RadioButton} DefaultState
64 // properties must have values in the range 0--2:
66 } else if ("LinkUpdateMode".equals(name
) && n
>= 2) {
67 // css.document.Settings LinkUpdateMode property must have
68 // values in the css.document.LinkUpdateModes range (0--3),
69 // while css.sheet.XGlobalSheetSettings LinkUpdateMode property
70 // must have values in the range 0--2:
75 newValue
= Short
.valueOf(n
);
76 } else if (oldValue
instanceof Byte
) {
77 byte oldbyte
= ((Byte
) oldValue
).byteValue();
78 newValue
= Byte
.valueOf((byte) (oldbyte
+ 1));
79 } else if (oldValue
instanceof Float
) {
80 float oldfloat
= ((Float
) oldValue
).floatValue();
81 newValue
= Float
.valueOf((float) (oldfloat
+ 16.7));
82 } else if (oldValue
instanceof Double
) {
83 double olddouble
= ((Double
) oldValue
).doubleValue();
84 newValue
= Double
.valueOf(olddouble
+ 17.8);
85 } else if (oldValue
instanceof String
) {
86 String oldString
= (String
) oldValue
;
87 newValue
= oldString
+ "New";
88 } else if (oldValue
instanceof com
.sun
.star
.chart
.ChartAxisArrangeOrderType
) {
89 Object AO1
= com
.sun
.star
.chart
.ChartAxisArrangeOrderType
.AUTO
;
90 Object AO2
= com
.sun
.star
.chart
.ChartAxisArrangeOrderType
.SIDE_BY_SIDE
;
91 Object AO3
= com
.sun
.star
.chart
.ChartAxisArrangeOrderType
.STAGGER_EVEN
;
92 Object AO4
= com
.sun
.star
.chart
.ChartAxisArrangeOrderType
.STAGGER_ODD
;
94 if (oldValue
.equals(AO1
))
96 if (oldValue
.equals(AO2
))
98 if (oldValue
.equals(AO3
))
100 if (oldValue
.equals(AO4
))
102 } else if (oldValue
instanceof com
.sun
.star
.view
.PaperOrientation
) {
103 Object OR1
= com
.sun
.star
.view
.PaperOrientation
.LANDSCAPE
;
104 Object OR2
= com
.sun
.star
.view
.PaperOrientation
.PORTRAIT
;
106 if (oldValue
.equals(OR1
))
110 } else if (oldValue
instanceof com
.sun
.star
.lang
.Locale
) {
111 com
.sun
.star
.lang
.Locale Loc1
= new com
.sun
.star
.lang
.Locale(
113 com
.sun
.star
.lang
.Locale Loc2
= new com
.sun
.star
.lang
.Locale(
115 com
.sun
.star
.lang
.Locale old
= (com
.sun
.star
.lang
.Locale
) oldValue
;
116 if (old
.Language
.equals(Loc1
.Language
)
117 && old
.Country
.equals(Loc1
.Country
)
118 && old
.Variant
.equals(Loc1
.Variant
))
122 } else if (oldValue
instanceof com
.sun
.star
.style
.ParagraphAdjust
) {
123 Object PA1
= com
.sun
.star
.style
.ParagraphAdjust
.LEFT
;
124 Object PA2
= com
.sun
.star
.style
.ParagraphAdjust
.CENTER
;
126 if (oldValue
.equals(PA1
))
130 } else if (oldValue
instanceof com
.sun
.star
.style
.LineSpacing
) {
131 com
.sun
.star
.style
.LineSpacing LS
= new com
.sun
.star
.style
.LineSpacing();
132 com
.sun
.star
.style
.LineSpacing LSold
= (com
.sun
.star
.style
.LineSpacing
) oldValue
;
133 LS
.Height
= (short) ((LSold
.Height
) + 1);
134 LS
.Mode
= (short) ((LSold
.Mode
) + 1);
136 } else if (oldValue
instanceof com
.sun
.star
.drawing
.Direction3D
) {
137 com
.sun
.star
.drawing
.Direction3D D3D
= new com
.sun
.star
.drawing
.Direction3D();
138 com
.sun
.star
.drawing
.Direction3D D3Dold
= (com
.sun
.star
.drawing
.Direction3D
) oldValue
;
139 D3D
.DirectionX
= D3Dold
.DirectionX
+ .5;
140 D3D
.DirectionY
= D3Dold
.DirectionY
+ .5;
141 D3D
.DirectionZ
= D3Dold
.DirectionZ
+ .5;
143 } else if (oldValue
instanceof com
.sun
.star
.style
.GraphicLocation
) {
144 Object GL1
= com
.sun
.star
.style
.GraphicLocation
.AREA
;
145 Object GL2
= com
.sun
.star
.style
.GraphicLocation
.LEFT_BOTTOM
;
147 if (oldValue
.equals(GL1
))
151 } else if (oldValue
instanceof com
.sun
.star
.style
.TabStop
) {
152 com
.sun
.star
.style
.TabStop TS
= new com
.sun
.star
.style
.TabStop();
153 com
.sun
.star
.style
.TabStop TSold
= (com
.sun
.star
.style
.TabStop
) oldValue
;
154 com
.sun
.star
.style
.TabAlign TA1
= com
.sun
.star
.style
.TabAlign
.CENTER
;
155 com
.sun
.star
.style
.TabAlign TA2
= com
.sun
.star
.style
.TabAlign
.RIGHT
;
157 if (TSold
.Alignment
.equals(TA1
))
162 TS
.Position
= ((TSold
.Position
) + 1);
165 } else if (oldValue
instanceof com
.sun
.star
.style
.DropCapFormat
) {
166 com
.sun
.star
.style
.DropCapFormat DCF
= new com
.sun
.star
.style
.DropCapFormat();
167 com
.sun
.star
.style
.DropCapFormat DCFold
= (com
.sun
.star
.style
.DropCapFormat
) oldValue
;
168 DCF
.Count
= (byte) ((DCFold
.Count
) + 1);
169 DCF
.Distance
= (short) ((DCFold
.Distance
) + 1);
170 DCF
.Lines
= (byte) ((DCFold
.Lines
) + 1);
172 } else if (oldValue
instanceof com
.sun
.star
.text
.TextContentAnchorType
) {
173 com
.sun
.star
.text
.TextContentAnchorType TCAT1
= com
.sun
.star
.text
.TextContentAnchorType
.AS_CHARACTER
;
174 com
.sun
.star
.text
.TextContentAnchorType TCAT2
= com
.sun
.star
.text
.TextContentAnchorType
.AT_CHARACTER
;
175 com
.sun
.star
.text
.TextContentAnchorType TCAT3
= com
.sun
.star
.text
.TextContentAnchorType
.AT_FRAME
;
176 com
.sun
.star
.text
.TextContentAnchorType TCAT4
= com
.sun
.star
.text
.TextContentAnchorType
.AT_PAGE
;
177 com
.sun
.star
.text
.TextContentAnchorType TCAT5
= com
.sun
.star
.text
.TextContentAnchorType
.AT_PARAGRAPH
;
178 if (oldValue
.equals(TCAT1
))
180 if (oldValue
.equals(TCAT2
))
182 if (oldValue
.equals(TCAT3
))
184 if (oldValue
.equals(TCAT4
))
186 if (oldValue
.equals(TCAT5
))
188 } else if (oldValue
instanceof com
.sun
.star
.text
.WrapTextMode
) {
189 com
.sun
.star
.text
.WrapTextMode WTM1
= com
.sun
.star
.text
.WrapTextMode
.DYNAMIC
;
190 com
.sun
.star
.text
.WrapTextMode WTM2
= com
.sun
.star
.text
.WrapTextMode
.LEFT
;
191 com
.sun
.star
.text
.WrapTextMode WTM3
= com
.sun
.star
.text
.WrapTextMode
.NONE
;
192 com
.sun
.star
.text
.WrapTextMode WTM4
= com
.sun
.star
.text
.WrapTextMode
.PARALLEL
;
193 com
.sun
.star
.text
.WrapTextMode WTM5
= com
.sun
.star
.text
.WrapTextMode
.RIGHT
;
194 com
.sun
.star
.text
.WrapTextMode WTM6
= com
.sun
.star
.text
.WrapTextMode
.THROUGH
;
195 if (oldValue
.equals(WTM1
))
197 if (oldValue
.equals(WTM2
))
199 if (oldValue
.equals(WTM3
))
201 if (oldValue
.equals(WTM4
))
203 if (oldValue
.equals(WTM5
))
205 if (oldValue
.equals(WTM6
))
207 } else if (oldValue
instanceof com
.sun
.star
.awt
.Size
) {
208 com
.sun
.star
.awt
.Size oldSize
= (com
.sun
.star
.awt
.Size
) oldValue
;
209 com
.sun
.star
.awt
.Size newSize
= new com
.sun
.star
.awt
.Size();
210 newSize
.Height
= oldSize
.Height
+ 1;
211 newSize
.Width
= oldSize
.Width
+ 1;
213 } else if (oldValue
instanceof com
.sun
.star
.awt
.Rectangle
) {
214 com
.sun
.star
.awt
.Rectangle oldRectangle
= (com
.sun
.star
.awt
.Rectangle
) oldValue
;
215 com
.sun
.star
.awt
.Rectangle newRectangle
= new com
.sun
.star
.awt
.Rectangle();
216 newRectangle
.Height
= oldRectangle
.Height
+ 1;
217 newRectangle
.Width
= oldRectangle
.Width
+ 1;
218 newRectangle
.X
= oldRectangle
.Y
+ 1;
219 newRectangle
.Y
= oldRectangle
.X
+ 1;
220 newValue
= newRectangle
;
221 } else if (oldValue
instanceof com
.sun
.star
.awt
.Point
) {
222 com
.sun
.star
.awt
.Point oldPoint
= (com
.sun
.star
.awt
.Point
) oldValue
;
223 com
.sun
.star
.awt
.Point newPoint
= new com
.sun
.star
.awt
.Point();
224 newPoint
.X
= oldPoint
.X
+ 1;
225 newPoint
.Y
= oldPoint
.Y
+ 1;
227 } else if (oldValue
instanceof com
.sun
.star
.table
.ShadowFormat
) {
228 com
.sun
.star
.table
.ShadowFormat SF
= new com
.sun
.star
.table
.ShadowFormat();
229 com
.sun
.star
.table
.ShadowFormat SFold
= (com
.sun
.star
.table
.ShadowFormat
) oldValue
;
230 SF
.IsTransparent
= (!SFold
.IsTransparent
);
231 SF
.ShadowWidth
= (short) ((SFold
.ShadowWidth
) + 1);
233 } else if (oldValue
instanceof com
.sun
.star
.awt
.FontSlant
) {
234 com
.sun
.star
.awt
.FontSlant FS1
= com
.sun
.star
.awt
.FontSlant
.DONTKNOW
;
235 com
.sun
.star
.awt
.FontSlant FS2
= com
.sun
.star
.awt
.FontSlant
.ITALIC
;
236 com
.sun
.star
.awt
.FontSlant FS3
= com
.sun
.star
.awt
.FontSlant
.NONE
;
237 com
.sun
.star
.awt
.FontSlant FS4
= com
.sun
.star
.awt
.FontSlant
.OBLIQUE
;
238 com
.sun
.star
.awt
.FontSlant FS5
= com
.sun
.star
.awt
.FontSlant
.REVERSE_ITALIC
;
239 com
.sun
.star
.awt
.FontSlant FS6
= com
.sun
.star
.awt
.FontSlant
.REVERSE_OBLIQUE
;
240 if (oldValue
.equals(FS1
))
242 if (oldValue
.equals(FS2
))
244 if (oldValue
.equals(FS3
))
246 if (oldValue
.equals(FS4
))
248 if (oldValue
.equals(FS5
))
250 if (oldValue
.equals(FS6
))
252 } else if (oldValue
instanceof com
.sun
.star
.table
.CellHoriJustify
) {
253 com
.sun
.star
.table
.CellHoriJustify CHJ1
= com
.sun
.star
.table
.CellHoriJustify
.BLOCK
;
254 com
.sun
.star
.table
.CellHoriJustify CHJ2
= com
.sun
.star
.table
.CellHoriJustify
.CENTER
;
255 com
.sun
.star
.table
.CellHoriJustify CHJ3
= com
.sun
.star
.table
.CellHoriJustify
.LEFT
;
256 com
.sun
.star
.table
.CellHoriJustify CHJ4
= com
.sun
.star
.table
.CellHoriJustify
.REPEAT
;
257 com
.sun
.star
.table
.CellHoriJustify CHJ5
= com
.sun
.star
.table
.CellHoriJustify
.RIGHT
;
258 com
.sun
.star
.table
.CellHoriJustify CHJ6
= com
.sun
.star
.table
.CellHoriJustify
.STANDARD
;
259 if (oldValue
.equals(CHJ1
))
261 if (oldValue
.equals(CHJ2
))
263 if (oldValue
.equals(CHJ3
))
265 if (oldValue
.equals(CHJ4
))
267 if (oldValue
.equals(CHJ5
))
269 if (oldValue
.equals(CHJ6
))
271 } else if (oldValue
instanceof com
.sun
.star
.table
.CellVertJustify
) {
272 com
.sun
.star
.table
.CellVertJustify CVJ1
= com
.sun
.star
.table
.CellVertJustify
.BOTTOM
;
273 com
.sun
.star
.table
.CellVertJustify CVJ2
= com
.sun
.star
.table
.CellVertJustify
.CENTER
;
274 com
.sun
.star
.table
.CellVertJustify CVJ3
= com
.sun
.star
.table
.CellVertJustify
.STANDARD
;
275 com
.sun
.star
.table
.CellVertJustify CVJ4
= com
.sun
.star
.table
.CellVertJustify
.TOP
;
276 if (oldValue
.equals(CVJ1
))
278 if (oldValue
.equals(CVJ2
))
280 if (oldValue
.equals(CVJ3
))
282 if (oldValue
.equals(CVJ4
))
284 } else if (oldValue
instanceof com
.sun
.star
.table
.CellOrientation
) {
285 com
.sun
.star
.table
.CellOrientation CO1
= com
.sun
.star
.table
.CellOrientation
.BOTTOMTOP
;
286 com
.sun
.star
.table
.CellOrientation CO2
= com
.sun
.star
.table
.CellOrientation
.STACKED
;
287 com
.sun
.star
.table
.CellOrientation CO3
= com
.sun
.star
.table
.CellOrientation
.STANDARD
;
288 com
.sun
.star
.table
.CellOrientation CO4
= com
.sun
.star
.table
.CellOrientation
.TOPBOTTOM
;
289 if (oldValue
.equals(CO1
))
291 if (oldValue
.equals(CO2
))
293 if (oldValue
.equals(CO3
))
295 if (oldValue
.equals(CO4
))
297 } else if (oldValue
instanceof com
.sun
.star
.util
.CellProtection
) {
298 com
.sun
.star
.util
.CellProtection CP
= new com
.sun
.star
.util
.CellProtection();
299 com
.sun
.star
.util
.CellProtection CPold
= (com
.sun
.star
.util
.CellProtection
) oldValue
;
300 CP
.IsFormulaHidden
= (!CPold
.IsFormulaHidden
);
301 CP
.IsHidden
= (!CPold
.IsHidden
);
302 CP
.IsLocked
= (!CPold
.IsLocked
);
303 CP
.IsPrintHidden
= (!CPold
.IsPrintHidden
);
305 } else if (oldValue
instanceof com
.sun
.star
.table
.TableBorder
) {
306 com
.sun
.star
.table
.TableBorder TBold
= (com
.sun
.star
.table
.TableBorder
) oldValue
;
307 com
.sun
.star
.table
.TableBorder TB
= new com
.sun
.star
.table
.TableBorder();
308 TB
.IsBottomLineValid
= (!TBold
.IsBottomLineValid
);
309 TB
.IsDistanceValid
= (!TBold
.IsDistanceValid
);
310 TB
.IsRightLineValid
= (!TBold
.IsRightLineValid
);
311 TB
.IsTopLineValid
= (!TBold
.IsTopLineValid
);
313 } else if (oldValue
instanceof com
.sun
.star
.drawing
.FillStyle
) {
315 * if (oldValue instanceof com.sun.star.awt.XBitmap) { newValue =
316 * new BitmapLoader(); }
318 com
.sun
.star
.drawing
.FillStyle FS1
= com
.sun
.star
.drawing
.FillStyle
.NONE
;
319 com
.sun
.star
.drawing
.FillStyle FS2
= com
.sun
.star
.drawing
.FillStyle
.SOLID
;
320 com
.sun
.star
.drawing
.FillStyle FS3
= com
.sun
.star
.drawing
.FillStyle
.GRADIENT
;
321 com
.sun
.star
.drawing
.FillStyle FS4
= com
.sun
.star
.drawing
.FillStyle
.HATCH
;
322 com
.sun
.star
.drawing
.FillStyle FS5
= com
.sun
.star
.drawing
.FillStyle
.BITMAP
;
323 if (oldValue
.equals(FS1
))
325 if (oldValue
.equals(FS2
))
327 if (oldValue
.equals(FS3
))
329 if (oldValue
.equals(FS4
))
331 if (oldValue
.equals(FS5
))
333 } else if (oldValue
instanceof com
.sun
.star
.awt
.Gradient
) {
334 com
.sun
.star
.awt
.Gradient _newValue
= copyStruct(
335 (com
.sun
.star
.awt
.Gradient
) oldValue
);
336 _newValue
.Angle
+= 10;
337 _newValue
.Border
+= 1;
338 _newValue
.EndColor
+= 1000;
339 _newValue
.EndIntensity
-= 10;
340 _newValue
.StartColor
+= 500;
341 _newValue
.StartIntensity
+= 10;
342 _newValue
.StepCount
+= 50;
343 _newValue
.Style
= com
.sun
.star
.awt
.GradientStyle
.RADIAL
;
344 _newValue
.XOffset
+= 10;
345 _newValue
.YOffset
+= 10;
346 newValue
= _newValue
;
347 } else if (oldValue
instanceof com
.sun
.star
.text
.GraphicCrop
) {
348 com
.sun
.star
.text
.GraphicCrop _newValue
= copyStruct(
349 (com
.sun
.star
.text
.GraphicCrop
) oldValue
);
350 _newValue
.Bottom
+= 10;
351 _newValue
.Left
+= 10;
352 _newValue
.Right
+= 10;
354 newValue
= _newValue
;
355 } else if (oldValue
instanceof com
.sun
.star
.drawing
.BitmapMode
) {
356 com
.sun
.star
.drawing
.BitmapMode bm1
= com
.sun
.star
.drawing
.BitmapMode
.NO_REPEAT
;
357 com
.sun
.star
.drawing
.BitmapMode bm2
= com
.sun
.star
.drawing
.BitmapMode
.REPEAT
;
358 com
.sun
.star
.drawing
.BitmapMode bm3
= com
.sun
.star
.drawing
.BitmapMode
.STRETCH
;
359 if (oldValue
.equals(bm1
))
361 if (oldValue
.equals(bm2
))
363 if (oldValue
.equals(bm3
))
365 } else if (oldValue
instanceof com
.sun
.star
.drawing
.TextAdjust
) {
366 com
.sun
.star
.drawing
.TextAdjust TA1
= com
.sun
.star
.drawing
.TextAdjust
.BLOCK
;
367 com
.sun
.star
.drawing
.TextAdjust TA2
= com
.sun
.star
.drawing
.TextAdjust
.CENTER
;
368 com
.sun
.star
.drawing
.TextAdjust TA3
= com
.sun
.star
.drawing
.TextAdjust
.LEFT
;
369 com
.sun
.star
.drawing
.TextAdjust TA4
= com
.sun
.star
.drawing
.TextAdjust
.RIGHT
;
370 com
.sun
.star
.drawing
.TextAdjust TA5
= com
.sun
.star
.drawing
.TextAdjust
.STRETCH
;
371 if (oldValue
.equals(TA1
))
373 if (oldValue
.equals(TA2
))
375 if (oldValue
.equals(TA3
))
377 if (oldValue
.equals(TA4
))
379 if (oldValue
.equals(TA5
))
381 } else if (oldValue
instanceof com
.sun
.star
.drawing
.TextFitToSizeType
) {
382 com
.sun
.star
.drawing
.TextFitToSizeType TF1
= com
.sun
.star
.drawing
.TextFitToSizeType
.ALLLINES
;
383 com
.sun
.star
.drawing
.TextFitToSizeType TF2
= com
.sun
.star
.drawing
.TextFitToSizeType
.NONE
;
384 com
.sun
.star
.drawing
.TextFitToSizeType TF3
= com
.sun
.star
.drawing
.TextFitToSizeType
.PROPORTIONAL
;
385 com
.sun
.star
.drawing
.TextFitToSizeType TF4
= com
.sun
.star
.drawing
.TextFitToSizeType
.AUTOFIT
;
386 if (oldValue
.equals(TF1
))
388 if (oldValue
.equals(TF2
))
390 if (oldValue
.equals(TF3
))
392 if (oldValue
.equals(TF4
))
394 } else if (oldValue
instanceof com
.sun
.star
.drawing
.TextAnimationKind
) {
395 com
.sun
.star
.drawing
.TextAnimationKind AK1
= com
.sun
.star
.drawing
.TextAnimationKind
.NONE
;
396 com
.sun
.star
.drawing
.TextAnimationKind AK2
= com
.sun
.star
.drawing
.TextAnimationKind
.SLIDE
;
397 com
.sun
.star
.drawing
.TextAnimationKind AK3
= com
.sun
.star
.drawing
.TextAnimationKind
.SCROLL
;
398 com
.sun
.star
.drawing
.TextAnimationKind AK4
= com
.sun
.star
.drawing
.TextAnimationKind
.BLINK
;
399 com
.sun
.star
.drawing
.TextAnimationKind AK5
= com
.sun
.star
.drawing
.TextAnimationKind
.ALTERNATE
;
401 if (oldValue
.equals(AK1
))
403 if (oldValue
.equals(AK2
))
405 if (oldValue
.equals(AK3
))
407 if (oldValue
.equals(AK4
))
409 if (oldValue
.equals(AK5
))
411 } else if (oldValue
instanceof com
.sun
.star
.drawing
.TextAnimationDirection
) {
412 com
.sun
.star
.drawing
.TextAnimationDirection AD1
= com
.sun
.star
.drawing
.TextAnimationDirection
.LEFT
;
413 com
.sun
.star
.drawing
.TextAnimationDirection AD2
= com
.sun
.star
.drawing
.TextAnimationDirection
.RIGHT
;
414 com
.sun
.star
.drawing
.TextAnimationDirection AD3
= com
.sun
.star
.drawing
.TextAnimationDirection
.DOWN
;
415 com
.sun
.star
.drawing
.TextAnimationDirection AD4
= com
.sun
.star
.drawing
.TextAnimationDirection
.UP
;
416 if (oldValue
.equals(AD1
))
418 if (oldValue
.equals(AD2
))
420 if (oldValue
.equals(AD3
))
422 if (oldValue
.equals(AD4
))
424 } else if (oldValue
instanceof com
.sun
.star
.drawing
.LineStyle
) {
425 com
.sun
.star
.drawing
.LineStyle LS1
= com
.sun
.star
.drawing
.LineStyle
.NONE
;
426 com
.sun
.star
.drawing
.LineStyle LS2
= com
.sun
.star
.drawing
.LineStyle
.DASH
;
427 com
.sun
.star
.drawing
.LineStyle LS3
= com
.sun
.star
.drawing
.LineStyle
.SOLID
;
428 if (oldValue
.equals(LS1
))
430 if (oldValue
.equals(LS2
))
432 if (oldValue
.equals(LS3
))
434 } else if (oldValue
instanceof com
.sun
.star
.drawing
.LineJoint
) {
435 com
.sun
.star
.drawing
.LineJoint LJ1
= com
.sun
.star
.drawing
.LineJoint
.BEVEL
;
436 com
.sun
.star
.drawing
.LineJoint LJ2
= com
.sun
.star
.drawing
.LineJoint
.MIDDLE
;
437 com
.sun
.star
.drawing
.LineJoint LJ3
= com
.sun
.star
.drawing
.LineJoint
.MITER
;
438 com
.sun
.star
.drawing
.LineJoint LJ4
= com
.sun
.star
.drawing
.LineJoint
.NONE
;
439 com
.sun
.star
.drawing
.LineJoint LJ5
= com
.sun
.star
.drawing
.LineJoint
.ROUND
;
440 if (oldValue
.equals(LJ1
))
442 if (oldValue
.equals(LJ2
))
444 if (oldValue
.equals(LJ3
))
446 if (oldValue
.equals(LJ4
))
448 if (oldValue
.equals(LJ5
))
450 } else if (oldValue
instanceof com
.sun
.star
.drawing
.LineDash
) {
451 com
.sun
.star
.drawing
.LineDash _newValue
= copyStruct(
452 (com
.sun
.star
.drawing
.LineDash
) oldValue
);
453 _newValue
.Dashes
+= 1;
454 _newValue
.DashLen
+= 10;
455 _newValue
.Distance
+= 20;
456 _newValue
.DotLen
+= 10;
457 _newValue
.Dots
+= 10;
458 _newValue
.Style
= com
.sun
.star
.drawing
.DashStyle
.RECT
;
459 newValue
= _newValue
;
460 } else if (oldValue
instanceof com
.sun
.star
.drawing
.Hatch
) {
461 com
.sun
.star
.drawing
.Hatch _newValue
= copyStruct(
462 (com
.sun
.star
.drawing
.Hatch
) oldValue
);
463 _newValue
.Angle
+= 10;
464 _newValue
.Color
+= 1000;
465 _newValue
.Distance
+= 10;
466 _newValue
.Style
= com
.sun
.star
.drawing
.HatchStyle
.DOUBLE
;
467 } else if (oldValue
instanceof com
.sun
.star
.drawing
.RectanglePoint
) {
468 com
.sun
.star
.drawing
.RectanglePoint RP1
= com
.sun
.star
.drawing
.RectanglePoint
.LEFT_BOTTOM
;
469 com
.sun
.star
.drawing
.RectanglePoint RP2
= com
.sun
.star
.drawing
.RectanglePoint
.LEFT_MIDDLE
;
470 com
.sun
.star
.drawing
.RectanglePoint RP3
= com
.sun
.star
.drawing
.RectanglePoint
.LEFT_TOP
;
471 com
.sun
.star
.drawing
.RectanglePoint RP4
= com
.sun
.star
.drawing
.RectanglePoint
.MIDDLE_BOTTOM
;
472 com
.sun
.star
.drawing
.RectanglePoint RP5
= com
.sun
.star
.drawing
.RectanglePoint
.MIDDLE_MIDDLE
;
473 com
.sun
.star
.drawing
.RectanglePoint RP6
= com
.sun
.star
.drawing
.RectanglePoint
.MIDDLE_TOP
;
474 com
.sun
.star
.drawing
.RectanglePoint RP7
= com
.sun
.star
.drawing
.RectanglePoint
.RIGHT_BOTTOM
;
475 com
.sun
.star
.drawing
.RectanglePoint RP8
= com
.sun
.star
.drawing
.RectanglePoint
.RIGHT_MIDDLE
;
476 com
.sun
.star
.drawing
.RectanglePoint RP9
= com
.sun
.star
.drawing
.RectanglePoint
.RIGHT_TOP
;
478 if (oldValue
.equals(RP1
))
480 if (oldValue
.equals(RP2
))
482 if (oldValue
.equals(RP3
))
484 if (oldValue
.equals(RP4
))
486 if (oldValue
.equals(RP5
))
488 if (oldValue
.equals(RP6
))
490 if (oldValue
.equals(RP7
))
492 if (oldValue
.equals(RP8
))
494 if (oldValue
.equals(RP9
))
497 } else if (oldValue
instanceof com
.sun
.star
.chart
.ChartErrorCategory
) {
498 com
.sun
.star
.chart
.ChartErrorCategory CC1
= com
.sun
.star
.chart
.ChartErrorCategory
.CONSTANT_VALUE
;
499 com
.sun
.star
.chart
.ChartErrorCategory CC2
= com
.sun
.star
.chart
.ChartErrorCategory
.ERROR_MARGIN
;
500 com
.sun
.star
.chart
.ChartErrorCategory CC3
= com
.sun
.star
.chart
.ChartErrorCategory
.NONE
;
501 com
.sun
.star
.chart
.ChartErrorCategory CC4
= com
.sun
.star
.chart
.ChartErrorCategory
.PERCENT
;
502 com
.sun
.star
.chart
.ChartErrorCategory CC5
= com
.sun
.star
.chart
.ChartErrorCategory
.STANDARD_DEVIATION
;
503 com
.sun
.star
.chart
.ChartErrorCategory CC6
= com
.sun
.star
.chart
.ChartErrorCategory
.VARIANCE
;
504 if (oldValue
.equals(CC1
))
506 if (oldValue
.equals(CC2
))
508 if (oldValue
.equals(CC3
))
510 if (oldValue
.equals(CC4
))
512 if (oldValue
.equals(CC5
))
514 if (oldValue
.equals(CC6
))
516 } else if (oldValue
instanceof com
.sun
.star
.chart
.ChartErrorIndicatorType
) {
517 com
.sun
.star
.chart
.ChartErrorIndicatorType IT1
= com
.sun
.star
.chart
.ChartErrorIndicatorType
.LOWER
;
518 com
.sun
.star
.chart
.ChartErrorIndicatorType IT2
= com
.sun
.star
.chart
.ChartErrorIndicatorType
.NONE
;
519 com
.sun
.star
.chart
.ChartErrorIndicatorType IT3
= com
.sun
.star
.chart
.ChartErrorIndicatorType
.TOP_AND_BOTTOM
;
520 com
.sun
.star
.chart
.ChartErrorIndicatorType IT4
= com
.sun
.star
.chart
.ChartErrorIndicatorType
.UPPER
;
521 if (oldValue
.equals(IT1
))
523 if (oldValue
.equals(IT2
))
525 if (oldValue
.equals(IT3
))
527 if (oldValue
.equals(IT4
))
529 } else if (oldValue
instanceof com
.sun
.star
.chart
.ChartRegressionCurveType
) {
530 com
.sun
.star
.chart
.ChartRegressionCurveType CT1
= com
.sun
.star
.chart
.ChartRegressionCurveType
.EXPONENTIAL
;
531 com
.sun
.star
.chart
.ChartRegressionCurveType CT2
= com
.sun
.star
.chart
.ChartRegressionCurveType
.LINEAR
;
532 com
.sun
.star
.chart
.ChartRegressionCurveType CT3
= com
.sun
.star
.chart
.ChartRegressionCurveType
.LOGARITHM
;
533 com
.sun
.star
.chart
.ChartRegressionCurveType CT4
= com
.sun
.star
.chart
.ChartRegressionCurveType
.NONE
;
534 com
.sun
.star
.chart
.ChartRegressionCurveType CT5
= com
.sun
.star
.chart
.ChartRegressionCurveType
.POLYNOMIAL
;
535 com
.sun
.star
.chart
.ChartRegressionCurveType CT6
= com
.sun
.star
.chart
.ChartRegressionCurveType
.POWER
;
536 if (oldValue
.equals(CT1
))
538 if (oldValue
.equals(CT2
))
540 if (oldValue
.equals(CT3
))
542 if (oldValue
.equals(CT4
))
544 if (oldValue
.equals(CT5
))
546 if (oldValue
.equals(CT6
))
549 } else if (oldValue
instanceof com
.sun
.star
.chart
.ChartDataRowSource
) {
550 com
.sun
.star
.chart
.ChartDataRowSource RS1
= com
.sun
.star
.chart
.ChartDataRowSource
.COLUMNS
;
551 com
.sun
.star
.chart
.ChartDataRowSource RS2
= com
.sun
.star
.chart
.ChartDataRowSource
.ROWS
;
552 if (oldValue
.equals(RS1
))
554 if (oldValue
.equals(RS2
))
556 } else if (oldValue
instanceof com
.sun
.star
.awt
.FontDescriptor
) {
557 com
.sun
.star
.awt
.FontDescriptor _newValue
= copyStruct(
558 (com
.sun
.star
.awt
.FontDescriptor
) oldValue
);
559 _newValue
.CharacterWidth
+= 5;
560 _newValue
.CharSet
= com
.sun
.star
.awt
.CharSet
.ANSI
;
561 _newValue
.Family
= com
.sun
.star
.awt
.FontFamily
.DECORATIVE
;
562 _newValue
.Height
+= 2;
563 _newValue
.Kerning
= !_newValue
.Kerning
;
564 _newValue
.Name
= "Courier";
565 _newValue
.Orientation
+= 45;
566 _newValue
.Pitch
= com
.sun
.star
.awt
.FontPitch
.VARIABLE
;
567 _newValue
.Slant
= com
.sun
.star
.awt
.FontSlant
.REVERSE_ITALIC
;
568 _newValue
.Strikeout
= com
.sun
.star
.awt
.FontStrikeout
.X
;
569 _newValue
.StyleName
= "Bold";
570 _newValue
.Type
= com
.sun
.star
.awt
.FontType
.SCALABLE
;
571 _newValue
.Underline
= com
.sun
.star
.awt
.FontUnderline
.BOLDDASHDOTDOT
;
572 _newValue
.Weight
+= 5;
573 _newValue
.Width
+= 6;
574 _newValue
.WordLineMode
= !_newValue
.WordLineMode
;
576 newValue
= _newValue
;
577 } else if (oldValue
instanceof com
.sun
.star
.form
.NavigationBarMode
) {
578 com
.sun
.star
.form
.NavigationBarMode BM1
= com
.sun
.star
.form
.NavigationBarMode
.CURRENT
;
579 com
.sun
.star
.form
.NavigationBarMode BM2
= com
.sun
.star
.form
.NavigationBarMode
.NONE
;
580 com
.sun
.star
.form
.NavigationBarMode BM3
= com
.sun
.star
.form
.NavigationBarMode
.PARENT
;
581 if (oldValue
.equals(BM1
))
583 if (oldValue
.equals(BM2
))
585 if (oldValue
.equals(BM3
))
587 } else if (oldValue
instanceof com
.sun
.star
.form
.FormSubmitEncoding
) {
588 com
.sun
.star
.form
.FormSubmitEncoding SE1
= com
.sun
.star
.form
.FormSubmitEncoding
.MULTIPART
;
589 com
.sun
.star
.form
.FormSubmitEncoding SE2
= com
.sun
.star
.form
.FormSubmitEncoding
.TEXT
;
590 com
.sun
.star
.form
.FormSubmitEncoding SE3
= com
.sun
.star
.form
.FormSubmitEncoding
.URL
;
591 if (oldValue
.equals(SE1
))
593 if (oldValue
.equals(SE2
))
595 if (oldValue
.equals(SE3
))
597 } else if (oldValue
instanceof com
.sun
.star
.form
.FormSubmitMethod
) {
598 com
.sun
.star
.form
.FormSubmitMethod FM1
= com
.sun
.star
.form
.FormSubmitMethod
.GET
;
599 com
.sun
.star
.form
.FormSubmitMethod FM2
= com
.sun
.star
.form
.FormSubmitMethod
.POST
;
600 if (oldValue
.equals(FM1
))
602 if (oldValue
.equals(FM2
))
604 } else if (oldValue
instanceof com
.sun
.star
.text
.SectionFileLink
) {
605 com
.sun
.star
.text
.SectionFileLink _newValue
= new com
.sun
.star
.text
.SectionFileLink();
607 _newValue
.FileURL
= util
.utils
.getFullTestURL("SwXTextSection.sdw");
608 newValue
= _newValue
;
609 } else if (oldValue
instanceof com
.sun
.star
.table
.BorderLine
) {
610 com
.sun
.star
.table
.BorderLine _newValue
= copyStruct(
611 (com
.sun
.star
.table
.BorderLine
) oldValue
);
612 _newValue
.Color
+= 2;
613 _newValue
.InnerLineWidth
+= 2;
614 _newValue
.LineDistance
+= 2;
615 _newValue
.OuterLineWidth
+= 3;
616 if (_newValue
instanceof com
.sun
.star
.table
.BorderLine2
) {
617 ((com
.sun
.star
.table
.BorderLine2
) _newValue
).LineStyle
618 = com
.sun
.star
.table
.BorderLineStyle
.DOUBLE
;
620 newValue
= _newValue
;
621 } else if (oldValue
instanceof com
.sun
.star
.text
.XTextColumns
) {
622 com
.sun
.star
.text
.XTextColumns _newValue
= (com
.sun
.star
.text
.XTextColumns
) oldValue
;
623 _newValue
.setColumnCount((short) 1);
624 newValue
= _newValue
;
625 } else if (oldValue
instanceof com
.sun
.star
.form
.FormButtonType
) {
626 com
.sun
.star
.form
.FormButtonType BT1
= com
.sun
.star
.form
.FormButtonType
.PUSH
;
627 com
.sun
.star
.form
.FormButtonType BT2
= com
.sun
.star
.form
.FormButtonType
.RESET
;
628 com
.sun
.star
.form
.FormButtonType BT3
= com
.sun
.star
.form
.FormButtonType
.SUBMIT
;
629 com
.sun
.star
.form
.FormButtonType BT4
= com
.sun
.star
.form
.FormButtonType
.URL
;
631 if (oldValue
.equals(BT1
))
633 if (oldValue
.equals(BT2
))
635 if (oldValue
.equals(BT3
))
637 if (oldValue
.equals(BT4
))
640 } else if (oldValue
instanceof com
.sun
.star
.form
.ListSourceType
) {
641 com
.sun
.star
.form
.ListSourceType ST1
= com
.sun
.star
.form
.ListSourceType
.QUERY
;
642 com
.sun
.star
.form
.ListSourceType ST2
= com
.sun
.star
.form
.ListSourceType
.SQL
;
643 com
.sun
.star
.form
.ListSourceType ST3
= com
.sun
.star
.form
.ListSourceType
.SQLPASSTHROUGH
;
644 com
.sun
.star
.form
.ListSourceType ST4
= com
.sun
.star
.form
.ListSourceType
.TABLE
;
645 com
.sun
.star
.form
.ListSourceType ST5
= com
.sun
.star
.form
.ListSourceType
.TABLEFIELDS
;
646 com
.sun
.star
.form
.ListSourceType ST6
= com
.sun
.star
.form
.ListSourceType
.VALUELIST
;
647 if (oldValue
.equals(ST1
))
649 if (oldValue
.equals(ST2
))
651 if (oldValue
.equals(ST3
))
653 if (oldValue
.equals(ST4
))
655 if (oldValue
.equals(ST5
))
657 if (oldValue
.equals(ST6
))
659 } else if (oldValue
instanceof com
.sun
.star
.sheet
.DataPilotFieldOrientation
) {
660 com
.sun
.star
.sheet
.DataPilotFieldOrientation FO1
= com
.sun
.star
.sheet
.DataPilotFieldOrientation
.PAGE
;
661 com
.sun
.star
.sheet
.DataPilotFieldOrientation FO2
= com
.sun
.star
.sheet
.DataPilotFieldOrientation
.COLUMN
;
662 com
.sun
.star
.sheet
.DataPilotFieldOrientation FO3
= com
.sun
.star
.sheet
.DataPilotFieldOrientation
.DATA
;
663 com
.sun
.star
.sheet
.DataPilotFieldOrientation FO4
= com
.sun
.star
.sheet
.DataPilotFieldOrientation
.HIDDEN
;
664 com
.sun
.star
.sheet
.DataPilotFieldOrientation FO5
= com
.sun
.star
.sheet
.DataPilotFieldOrientation
.ROW
;
665 if (oldValue
.equals(FO1
))
667 if (oldValue
.equals(FO2
))
669 if (oldValue
.equals(FO3
))
671 if (oldValue
.equals(FO4
))
673 if (oldValue
.equals(FO5
))
675 } else if (oldValue
instanceof com
.sun
.star
.sheet
.GeneralFunction
) {
676 com
.sun
.star
.sheet
.GeneralFunction GF1
= com
.sun
.star
.sheet
.GeneralFunction
.NONE
;
677 com
.sun
.star
.sheet
.GeneralFunction GF2
= com
.sun
.star
.sheet
.GeneralFunction
.AVERAGE
;
678 com
.sun
.star
.sheet
.GeneralFunction GF3
= com
.sun
.star
.sheet
.GeneralFunction
.COUNT
;
679 com
.sun
.star
.sheet
.GeneralFunction GF4
= com
.sun
.star
.sheet
.GeneralFunction
.COUNTNUMS
;
680 com
.sun
.star
.sheet
.GeneralFunction GF5
= com
.sun
.star
.sheet
.GeneralFunction
.MAX
;
681 com
.sun
.star
.sheet
.GeneralFunction GF6
= com
.sun
.star
.sheet
.GeneralFunction
.MIN
;
682 com
.sun
.star
.sheet
.GeneralFunction GF7
= com
.sun
.star
.sheet
.GeneralFunction
.AUTO
;
683 com
.sun
.star
.sheet
.GeneralFunction GF8
= com
.sun
.star
.sheet
.GeneralFunction
.PRODUCT
;
684 com
.sun
.star
.sheet
.GeneralFunction GF9
= com
.sun
.star
.sheet
.GeneralFunction
.STDEV
;
685 com
.sun
.star
.sheet
.GeneralFunction GF10
= com
.sun
.star
.sheet
.GeneralFunction
.STDEVP
;
686 com
.sun
.star
.sheet
.GeneralFunction GF11
= com
.sun
.star
.sheet
.GeneralFunction
.SUM
;
687 com
.sun
.star
.sheet
.GeneralFunction GF12
= com
.sun
.star
.sheet
.GeneralFunction
.VAR
;
688 com
.sun
.star
.sheet
.GeneralFunction GF13
= com
.sun
.star
.sheet
.GeneralFunction
.VARP
;
690 if (oldValue
.equals(GF1
))
692 if (oldValue
.equals(GF2
))
694 if (oldValue
.equals(GF3
))
696 if (oldValue
.equals(GF4
))
698 if (oldValue
.equals(GF5
))
700 if (oldValue
.equals(GF6
))
702 if (oldValue
.equals(GF7
))
704 if (oldValue
.equals(GF8
))
706 if (oldValue
.equals(GF9
))
708 if (oldValue
.equals(GF10
))
710 if (oldValue
.equals(GF11
))
712 if (oldValue
.equals(GF12
))
714 if (oldValue
.equals(GF13
))
716 } else if (oldValue
instanceof com
.sun
.star
.table
.CellAddress
) {
717 com
.sun
.star
.table
.CellAddress _newValue
= copyStruct(
718 (com
.sun
.star
.table
.CellAddress
) oldValue
);
719 _newValue
.Column
+= 1;
721 newValue
= _newValue
;
722 } else if (oldValue
instanceof com
.sun
.star
.table
.TableOrientation
) {
723 com
.sun
.star
.table
.TableOrientation TO1
= com
.sun
.star
.table
.TableOrientation
.COLUMNS
;
724 com
.sun
.star
.table
.TableOrientation TO2
= com
.sun
.star
.table
.TableOrientation
.ROWS
;
725 if (oldValue
.equals(TO1
))
729 } else if (oldValue
instanceof com
.sun
.star
.sheet
.DataImportMode
) {
730 com
.sun
.star
.sheet
.DataImportMode DIM1
= com
.sun
.star
.sheet
.DataImportMode
.NONE
;
731 com
.sun
.star
.sheet
.DataImportMode DIM2
= com
.sun
.star
.sheet
.DataImportMode
.QUERY
;
732 com
.sun
.star
.sheet
.DataImportMode DIM3
= com
.sun
.star
.sheet
.DataImportMode
.SQL
;
733 com
.sun
.star
.sheet
.DataImportMode DIM4
= com
.sun
.star
.sheet
.DataImportMode
.TABLE
;
735 if (oldValue
.equals(DIM1
))
737 if (oldValue
.equals(DIM2
))
739 if (oldValue
.equals(DIM3
))
741 if (oldValue
.equals(DIM4
))
744 } else if (oldValue
instanceof com
.sun
.star
.style
.BreakType
) {
745 com
.sun
.star
.style
.BreakType BT1
= com
.sun
.star
.style
.BreakType
.COLUMN_AFTER
;
746 com
.sun
.star
.style
.BreakType BT2
= com
.sun
.star
.style
.BreakType
.COLUMN_BEFORE
;
747 com
.sun
.star
.style
.BreakType BT3
= com
.sun
.star
.style
.BreakType
.COLUMN_BOTH
;
748 com
.sun
.star
.style
.BreakType BT4
= com
.sun
.star
.style
.BreakType
.PAGE_AFTER
;
749 com
.sun
.star
.style
.BreakType BT5
= com
.sun
.star
.style
.BreakType
.PAGE_BEFORE
;
750 com
.sun
.star
.style
.BreakType BT6
= com
.sun
.star
.style
.BreakType
.PAGE_BOTH
;
751 com
.sun
.star
.style
.BreakType BT7
= com
.sun
.star
.style
.BreakType
.NONE
;
752 if (oldValue
.equals(BT1
))
754 if (oldValue
.equals(BT2
))
756 if (oldValue
.equals(BT3
))
758 if (oldValue
.equals(BT4
))
760 if (oldValue
.equals(BT5
))
762 if (oldValue
.equals(BT6
))
764 if (oldValue
.equals(BT7
))
766 } else if (oldValue
instanceof PropertyValue
) {
767 PropertyValue newVal
= new PropertyValue();
768 newVal
.Name
= ((PropertyValue
) oldValue
).Name
;
769 newVal
.Value
= changePValue(((PropertyValue
) oldValue
).Value
);
771 } else if (oldValue
instanceof com
.sun
.star
.sheet
.ValidationAlertStyle
) {
772 com
.sun
.star
.sheet
.ValidationAlertStyle VAS1
= com
.sun
.star
.sheet
.ValidationAlertStyle
.INFO
;
773 com
.sun
.star
.sheet
.ValidationAlertStyle VAS2
= com
.sun
.star
.sheet
.ValidationAlertStyle
.MACRO
;
774 com
.sun
.star
.sheet
.ValidationAlertStyle VAS3
= com
.sun
.star
.sheet
.ValidationAlertStyle
.STOP
;
775 com
.sun
.star
.sheet
.ValidationAlertStyle VAS4
= com
.sun
.star
.sheet
.ValidationAlertStyle
.WARNING
;
777 if (oldValue
.equals(VAS1
))
779 if (oldValue
.equals(VAS2
))
781 if (oldValue
.equals(VAS3
))
783 if (oldValue
.equals(VAS4
))
786 } else if (oldValue
instanceof com
.sun
.star
.sheet
.ValidationType
) {
787 com
.sun
.star
.sheet
.ValidationType VT1
= com
.sun
.star
.sheet
.ValidationType
.ANY
;
788 com
.sun
.star
.sheet
.ValidationType VT2
= com
.sun
.star
.sheet
.ValidationType
.CUSTOM
;
789 com
.sun
.star
.sheet
.ValidationType VT3
= com
.sun
.star
.sheet
.ValidationType
.DATE
;
790 com
.sun
.star
.sheet
.ValidationType VT4
= com
.sun
.star
.sheet
.ValidationType
.DECIMAL
;
791 com
.sun
.star
.sheet
.ValidationType VT5
= com
.sun
.star
.sheet
.ValidationType
.LIST
;
792 com
.sun
.star
.sheet
.ValidationType VT6
= com
.sun
.star
.sheet
.ValidationType
.TEXT_LEN
;
793 com
.sun
.star
.sheet
.ValidationType VT7
= com
.sun
.star
.sheet
.ValidationType
.TIME
;
794 com
.sun
.star
.sheet
.ValidationType VT8
= com
.sun
.star
.sheet
.ValidationType
.WHOLE
;
796 if (oldValue
.equals(VT1
))
798 if (oldValue
.equals(VT2
))
800 if (oldValue
.equals(VT3
))
802 if (oldValue
.equals(VT4
))
804 if (oldValue
.equals(VT5
))
806 if (oldValue
.equals(VT6
))
808 if (oldValue
.equals(VT7
))
810 if (oldValue
.equals(VT8
))
813 } else if (oldValue
instanceof com
.sun
.star
.text
.WritingMode
) {
814 if (oldValue
.equals(com
.sun
.star
.text
.WritingMode
.LR_TB
)) {
815 newValue
= com
.sun
.star
.text
.WritingMode
.TB_RL
;
817 newValue
= com
.sun
.star
.text
.WritingMode
.LR_TB
;
819 } else if (oldValue
instanceof com
.sun
.star
.uno
.Enum
) {
820 // universal changer for Enumerations
822 Class
<?
> enumClass
= oldValue
.getClass();
823 Field
[] flds
= enumClass
.getFields();
825 for (int i
= 0; i
< flds
.length
; i
++) {
826 if (Enum
.class.equals(flds
[i
].getType().getSuperclass())) {
828 Enum value
= (Enum
) flds
[i
].get(null);
829 if (!value
.equals(oldValue
)) {
835 } catch (Exception e
) {
837 .println("Exception occurred while changing Enumeration value:");
838 e
.printStackTrace(System
.err
);
840 if (newValue
== null)
843 } else if (oldValue
instanceof com
.sun
.star
.style
.TabStop
[]) {
844 com
.sun
.star
.style
.TabStop
[] old
= (com
.sun
.star
.style
.TabStop
[])
846 com
.sun
.star
.style
.TabStop
[] _newValue
847 = new com
.sun
.star
.style
.TabStop
[old
.length
];
848 for (int i
= 0; i
!= old
.length
; ++i
) {
849 _newValue
[i
] = copyStruct(old
[i
]);
851 if (_newValue
.length
== 0) {
852 _newValue
= new com
.sun
.star
.style
.TabStop
[1];
854 com
.sun
.star
.style
.TabStop sep
= new com
.sun
.star
.style
.TabStop();
857 newValue
= _newValue
;
858 } else if (oldValue
instanceof short[]) {
859 short[] oldArr
= (short[]) oldValue
;
860 int len
= oldArr
.length
;
861 short[] newArr
= new short[len
+ 1];
862 for (int i
= 0; i
< len
; i
++) {
863 newArr
[i
] = (short) (oldArr
[i
] + 1);
867 } else if (oldValue
instanceof String
[]) {
868 String
[] oldArr
= (String
[]) oldValue
;
869 int len
= oldArr
.length
;
870 String
[] newArr
= new String
[len
+ 1];
871 for (int i
= 0; i
< len
; i
++) {
872 newArr
[i
] = "_" + oldArr
[i
];
874 newArr
[len
] = "_dummy";
876 } else if (oldValue
instanceof PropertyValue
) {
877 PropertyValue newVal
= new PropertyValue();
878 newVal
.Name
= ((PropertyValue
) oldValue
).Name
;
879 newVal
.Value
= changePValue(((PropertyValue
) oldValue
).Value
);
881 } else if (oldValue
instanceof com
.sun
.star
.util
.Date
) {
882 com
.sun
.star
.util
.Date oldD
= (com
.sun
.star
.util
.Date
) oldValue
;
883 com
.sun
.star
.util
.Date newD
= new com
.sun
.star
.util
.Date();
884 newD
.Day
= (short) (oldD
.Day
+ (short) 1);
886 } else if (oldValue
instanceof com
.sun
.star
.util
.DateTime
) {
887 com
.sun
.star
.util
.DateTime oldDT
= (com
.sun
.star
.util
.DateTime
) oldValue
;
888 com
.sun
.star
.util
.DateTime newDT
= new com
.sun
.star
.util
.DateTime();
889 newDT
.Day
= (short) (oldDT
.Day
+ (short) 1);
890 newDT
.Hours
= (short) (oldDT
.Hours
+ (short) 1);
892 } else if (oldValue
instanceof com
.sun
.star
.util
.Time
) {
893 com
.sun
.star
.util
.Time oldT
= (com
.sun
.star
.util
.Time
) oldValue
;
894 com
.sun
.star
.util
.Time newT
= new com
.sun
.star
.util
.Time();
895 newT
.Hours
= (short) (oldT
.Hours
+ (short) 1);
897 } else if (oldValue
instanceof com
.sun
.star
.text
.TableColumnSeparator
) {
898 com
.sun
.star
.text
.TableColumnSeparator oldTCS
= (com
.sun
.star
.text
.TableColumnSeparator
) oldValue
;
899 com
.sun
.star
.text
.TableColumnSeparator newTCS
= new com
.sun
.star
.text
.TableColumnSeparator();
900 newTCS
.IsVisible
= oldTCS
.IsVisible
;
901 newTCS
.Position
= (short) (oldTCS
.Position
- 1);
903 } else if (oldValue
instanceof com
.sun
.star
.drawing
.HomogenMatrix3
) {
904 com
.sun
.star
.drawing
.HomogenMatrix3 oldHM
= (com
.sun
.star
.drawing
.HomogenMatrix3
) oldValue
;
905 com
.sun
.star
.drawing
.HomogenMatrix3 newHM
= new com
.sun
.star
.drawing
.HomogenMatrix3();
906 newHM
.Line1
.Column1
= oldHM
.Line1
.Column1
+ 1;
907 newHM
.Line2
.Column2
= oldHM
.Line2
.Column2
+ 1;
908 newHM
.Line3
.Column3
= oldHM
.Line3
.Column3
+ 1;
910 } else if (oldValue
instanceof com
.sun
.star
.drawing
.PolyPolygonBezierCoords
) {
911 com
.sun
.star
.drawing
.PolyPolygonBezierCoords oldPPC
= (com
.sun
.star
.drawing
.PolyPolygonBezierCoords
) oldValue
;
912 com
.sun
.star
.drawing
.PolyPolygonBezierCoords newPPC
= new com
.sun
.star
.drawing
.PolyPolygonBezierCoords();
913 newPPC
.Coordinates
= oldPPC
.Coordinates
;
914 newPPC
.Flags
= oldPPC
.Flags
;
915 PolygonFlags
[][] fArray
= new PolygonFlags
[1][1];
916 PolygonFlags
[] flags
= new PolygonFlags
[1];
917 flags
[0] = PolygonFlags
.NORMAL
;
919 Point
[][] pArray
= new Point
[1][1];
920 Point
[] points
= new Point
[1];
921 Point aPoint
= new Point();
926 if (oldPPC
.Coordinates
.length
== 0) {
927 newPPC
.Coordinates
= pArray
;
928 newPPC
.Flags
= fArray
;
930 if (oldPPC
.Coordinates
[0].length
== 0) {
931 newPPC
.Coordinates
= pArray
;
932 newPPC
.Flags
= fArray
;
934 newPPC
.Coordinates
[0][0].X
= oldPPC
.Coordinates
[0][0].X
+ 1;
935 newPPC
.Coordinates
[0][0].Y
= oldPPC
.Coordinates
[0][0].Y
+ 1;
939 } else if (oldValue
.getClass().isArray()) {
940 // changer for arrays : changes all elements
941 Class
<?
> arrType
= oldValue
.getClass().getComponentType();
942 int oldLen
= Array
.getLength(oldValue
);
943 if (oldLen
== 0 && "TypedItemList".equals(name
) && !arrType
.isPrimitive()) {
944 // This case is needed to make the Sequence<Any> property pass
945 // the addPropertyChangeListener tests, where the property has
946 // to be changed (and not stay empty ...)
947 newValue
= Array
.newInstance(arrType
, 1);
948 Object elem
= new Any(new Type(String
.class), "_Any");
949 Array
.set(newValue
, 0, elem
);
951 newValue
= Array
.newInstance(arrType
, oldLen
);
952 for (int i
= 0; i
< Array
.getLength(newValue
); i
++) {
953 if (!arrType
.isPrimitive()) {
954 Object elem
= changePValue(Array
.get(oldValue
, i
));
955 Array
.set(newValue
, i
, elem
);
957 if (Boolean
.TYPE
.equals(arrType
)) {
958 Array
.setBoolean(newValue
, i
,
959 !Array
.getBoolean(oldValue
, i
));
960 } else if (Byte
.TYPE
.equals(arrType
)) {
961 Array
.setByte(newValue
, i
,
962 (byte) (Array
.getByte(oldValue
, i
) + 1));
963 } else if (Character
.TYPE
.equals(arrType
)) {
964 Array
.setChar(newValue
, i
,
965 (char) (Array
.getChar(oldValue
, i
) + 1));
966 } else if (Double
.TYPE
.equals(arrType
)) {
967 Array
.setDouble(newValue
, i
,
968 Array
.getDouble(oldValue
, i
) + 1);
969 } else if (Float
.TYPE
.equals(arrType
)) {
970 Array
.setFloat(newValue
, i
,
971 Array
.getFloat(oldValue
, i
) + 1);
972 } else if (Integer
.TYPE
.equals(arrType
)) {
973 Array
.setInt(newValue
, i
, Array
.getInt(oldValue
, i
) + 1);
974 } else if (Long
.TYPE
.equals(arrType
)) {
975 Array
.setLong(newValue
, i
,
976 Array
.getLong(oldValue
, i
) + 1);
977 } else if (Short
.TYPE
.equals(arrType
)) {
978 Array
.setShort(newValue
, i
,
979 (short) (Array
.getShort(oldValue
, i
) + 1));
984 } else if (isStructure(oldValue
)) {
985 // universal changer for structures
986 Class
<?
> clazz
= oldValue
.getClass();
988 newValue
= clazz
.newInstance();
989 Field
[] fields
= clazz
.getFields();
990 for (int i
= 0; i
< fields
.length
; i
++) {
991 if ((fields
[i
].getModifiers() & Modifier
.STATIC
) == 0) {
992 Class
<?
> fType
= fields
[i
].getType();
993 Field field
= fields
[i
];
994 if (!fType
.isPrimitive()) {
996 changePValue(field
.get(oldValue
)));
998 if (Boolean
.TYPE
.equals(fType
)) {
999 field
.setBoolean(newValue
,
1000 !field
.getBoolean(oldValue
));
1001 } else if (Byte
.TYPE
.equals(fType
)) {
1002 field
.setByte(newValue
,
1003 (byte) (field
.getByte(oldValue
) + 1));
1004 } else if (Character
.TYPE
.equals(fType
)) {
1005 field
.setChar(newValue
,
1006 (char) (field
.getChar(oldValue
) + 1));
1007 } else if (Double
.TYPE
.equals(fType
)) {
1008 field
.setDouble(newValue
,
1009 field
.getDouble(oldValue
) + 1);
1010 } else if (Float
.TYPE
.equals(fType
)) {
1011 field
.setFloat(newValue
,
1012 field
.getFloat(oldValue
) + 1);
1013 } else if (Integer
.TYPE
.equals(fType
)) {
1014 field
.setInt(newValue
,
1015 field
.getInt(oldValue
) + 1);
1016 } else if (Long
.TYPE
.equals(fType
)) {
1017 field
.setLong(newValue
,
1018 field
.getLong(oldValue
) + 1);
1019 } else if (Short
.TYPE
.equals(fType
)) {
1020 field
.setShort(newValue
,
1021 (short) (field
.getShort(oldValue
) + 1));
1026 } catch (IllegalAccessException e
) {
1027 e
.printStackTrace();
1028 } catch (InstantiationException e
) {
1029 e
.printStackTrace();
1033 System
.out
.println("ValueChanger don't know type "
1034 + oldValue
.getClass());
1039 } // end of Change PValue
1041 public static Object
changePValue(Object oldValue
) {
1042 return changePValue(oldValue
, null);
1046 * Checks if the passed value is the API structure. The value assumed to be
1047 * a structure if there are no public methods, and all public fields are not
1051 * the value to be checked.
1052 * @return <code>true</code> if the value is assumed to be a structure.
1054 public static boolean isStructure(Object val
) {
1055 boolean result
= true;
1057 Class
<?
> clazz
= val
.getClass();
1059 Method
[] meth
= clazz
.getDeclaredMethods();
1060 for (int i
= 0; i
< meth
.length
; i
++) {
1061 result
&= (meth
[i
].getModifiers() & Modifier
.PUBLIC
) == 0;
1064 Field
[] fields
= clazz
.getDeclaredFields();
1065 for (int i
= 0; i
< fields
.length
; i
++) {
1066 int mod
= fields
[i
].getModifiers();
1067 if (mod
== (Modifier
.PUBLIC
| Modifier
.STATIC
| Modifier
.FINAL
)
1068 && fields
[i
].getName().equals("UNOTYPEINFO"))
1072 // If the field is PUBLIC it must not be STATIC or FINAL
1073 result
&= ((mod
& Modifier
.PUBLIC
) == 0)
1074 || (((mod
& Modifier
.STATIC
) == 0) && ((mod
& Modifier
.FINAL
) == 0));
1080 @SuppressWarnings("unchecked")
1081 private static <T
> T
copyStruct(T value
) {
1082 Class
<T
> clazz
= (Class
<T
>) value
.getClass();
1085 newValue
= clazz
.newInstance();
1086 } catch (IllegalAccessException e
) {
1087 throw new RuntimeException("unexpected " + e
, e
);
1088 } catch (InstantiationException e
) {
1089 throw new RuntimeException("unexpected " + e
, e
);
1091 Field
[] fields
= clazz
.getFields();
1092 for (int i
= 0; i
!= fields
.length
; ++i
) {
1093 if ((fields
[i
].getModifiers() & Modifier
.STATIC
) == 0) {
1095 fields
[i
].set(newValue
, fields
[i
].get(value
));
1096 } catch (IllegalAccessException e
) {
1097 throw new RuntimeException("unexpected " + e
, e
);