1    
2    /* ====================================================================
3     * The Apache Software License, Version 1.1
4     *
5     * Copyright (c) 2002 The Apache Software Foundation.  All rights
6     * reserved.
7     *
8     * Redistribution and use in source and binary forms, with or without
9     * modification, are permitted provided that the following conditions
10    * are met:
11    *
12    * 1. Redistributions of source code must retain the above copyright
13    *    notice, this list of conditions and the following disclaimer.
14    *
15    * 2. Redistributions in binary form must reproduce the above copyright
16    *    notice, this list of conditions and the following disclaimer in
17    *    the documentation and/or other materials provided with the
18    *    distribution.
19    *
20    * 3. The end-user documentation included with the redistribution,
21    *    if any, must include the following acknowledgment:
22    *       "This product includes software developed by the
23    *        Apache Software Foundation (http://www.apache.org/)."
24    *    Alternately, this acknowledgment may appear in the software itself,
25    *    if and wherever such third-party acknowledgments normally appear.
26    *
27    * 4. The names "Apache" and "Apache Software Foundation" and
28    *    "Apache POI" must not be used to endorse or promote products
29    *    derived from this software without prior written permission. For
30    *    written permission, please contact apache@apache.org.
31    *
32    * 5. Products derived from this software may not be called "Apache",
33    *    "Apache POI", nor may "Apache" appear in their name, without
34    *    prior written permission of the Apache Software Foundation.
35    *
36    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47    * SUCH DAMAGE.
48    * ====================================================================
49    *
50    * This software consists of voluntary contributions made by many
51    * individuals on behalf of the Apache Software Foundation.  For more
52    * information on the Apache Software Foundation, please see
53    * <http://www.apache.org/>.
54    */
55   
56   
57   package org.apache.poi.hssf.record;
58   
59   
60   
61   import org.apache.poi.util.*;
62   
63   /**
64    * The text record is used to define text stored on a chart.
65    * NOTE: This source is automatically generated please do not modify this file.  Either subclass or
66    *       remove the record in src/records/definitions.
67   
68    * @author Glen Stampoultzis (glens at apache.org)
69    */
70   public class TextRecord
71       extends Record
72   {
73       public final static short      sid                             = 0x1025;
74       private  byte       field_1_horizontalAlignment;
75       public final static byte        HORIZONTAL_ALIGNMENT_LEFT      = 1;
76       public final static byte        HORIZONTAL_ALIGNMENT_CENTER    = 2;
77       public final static byte        HORIZONTAL_ALIGNMENT_BOTTOM    = 3;
78       public final static byte        HORIZONTAL_ALIGNMENT_JUSTIFY   = 4;
79       private  byte       field_2_verticalAlignment;
80       public final static byte        VERTICAL_ALIGNMENT_TOP         = 1;
81       public final static byte        VERTICAL_ALIGNMENT_CENTER      = 2;
82       public final static byte        VERTICAL_ALIGNMENT_BOTTOM      = 3;
83       public final static byte        VERTICAL_ALIGNMENT_JUSTIFY     = 4;
84       private  short      field_3_displayMode;
85       public final static short       DISPLAY_MODE_TRANSPARENT       = 1;
86       public final static short       DISPLAY_MODE_OPAQUE            = 2;
87       private  int        field_4_rgbColor;
88       private  int        field_5_x;
89       private  int        field_6_y;
90       private  int        field_7_width;
91       private  int        field_8_height;
92       private  short      field_9_options1;
93       private  BitField   autoColor                                   = new BitField(0x1);
94       private  BitField   showKey                                     = new BitField(0x2);
95       private  BitField   showValue                                   = new BitField(0x4);
96       private  BitField   vertical                                    = new BitField(0x8);
97       private  BitField   autoGeneratedText                           = new BitField(0x10);
98       private  BitField   generated                                   = new BitField(0x20);
99       private  BitField   autoLabelDeleted                            = new BitField(0x40);
100      private  BitField   autoBackground                              = new BitField(0x80);
101      private BitField   rotation                                   = new BitField(0x0700);
102      public final static short  ROTATION_NONE                  = 0;
103      public final static short  ROTATION_TOP_TO_BOTTOM         = 1;
104      public final static short  ROTATION_ROTATED_90_DEGREES    = 2;
105      public final static short  ROTATION_ROTATED_90_DEGREES_CLOCKWISE = 3;
106      private  BitField   showCategoryLabelAsPercentage               = new BitField(0x800);
107      private  BitField   showValueAsPercentage                       = new BitField(0x1000);
108      private  BitField   showBubbleSizes                             = new BitField(0x2000);
109      private  BitField   showLabel                                   = new BitField(0x4000);
110      private  short      field_10_indexOfColorValue;
111      private  short      field_11_options2;
112      private BitField   dataLabelPlacement                         = new BitField(0x000F);
113      public final static short  DATA_LABEL_PLACEMENT_CHART_DEPENDENT = 0;
114      public final static short  DATA_LABEL_PLACEMENT_OUTSIDE   = 1;
115      public final static short  DATA_LABEL_PLACEMENT_INSIDE    = 2;
116      public final static short  DATA_LABEL_PLACEMENT_CENTER    = 3;
117      public final static short  DATA_LABEL_PLACEMENT_AXIS      = 4;
118      public final static short  DATA_LABEL_PLACEMENT_ABOVE     = 5;
119      public final static short  DATA_LABEL_PLACEMENT_BELOW     = 6;
120      public final static short  DATA_LABEL_PLACEMENT_LEFT      = 7;
121      public final static short  DATA_LABEL_PLACEMENT_RIGHT     = 8;
122      public final static short  DATA_LABEL_PLACEMENT_AUTO      = 9;
123      public final static short  DATA_LABEL_PLACEMENT_USER_MOVED = 10;
124      private  short      field_12_textRotation;
125  
126  
127      public TextRecord()
128      {
129  
130      }
131  
132      /**
133       * Constructs a Text record and sets its fields appropriately.
134       *
135       * @param id    id must be 0x1025 or an exception
136       *              will be throw upon validation
137       * @param size  size the size of the data area of the record
138       * @param data  data of the record (should not contain sid/len)
139       */
140  
141      public TextRecord(short id, short size, byte [] data)
142      {
143          super(id, size, data);
144      
145      }
146  
147      /**
148       * Constructs a Text record and sets its fields appropriately.
149       *
150       * @param id    id must be 0x1025 or an exception
151       *              will be throw upon validation
152       * @param size  size the size of the data area of the record
153       * @param data  data of the record (should not contain sid/len)
154       * @param offset of the record's data
155       */
156  
157      public TextRecord(short id, short size, byte [] data, int offset)
158      {
159          super(id, size, data, offset);
160      
161      }
162  
163      /**
164       * Checks the sid matches the expected side for this record
165       *
166       * @param id   the expected sid.
167       */
168      protected void validateSid(short id)
169      {
170          if (id != sid)
171          {
172              throw new RecordFormatException("Not a Text record");
173          }
174      }
175  
176      protected void fillFields(byte [] data, short size, int offset)
177      {
178  
179          int pos = 0;
180          field_1_horizontalAlignment    = data[ pos + 0x0 + offset ];
181          field_2_verticalAlignment      = data[ pos + 0x1 + offset ];
182          field_3_displayMode            = LittleEndian.getShort(data, pos + 0x2 + offset);
183          field_4_rgbColor               = LittleEndian.getInt(data, pos + 0x4 + offset);
184          field_5_x                      = LittleEndian.getInt(data, pos + 0x8 + offset);
185          field_6_y                      = LittleEndian.getInt(data, pos + 0xc + offset);
186          field_7_width                  = LittleEndian.getInt(data, pos + 0x10 + offset);
187          field_8_height                 = LittleEndian.getInt(data, pos + 0x14 + offset);
188          field_9_options1               = LittleEndian.getShort(data, pos + 0x18 + offset);
189          field_10_indexOfColorValue     = LittleEndian.getShort(data, pos + 0x1a + offset);
190          field_11_options2              = LittleEndian.getShort(data, pos + 0x1c + offset);
191          field_12_textRotation          = LittleEndian.getShort(data, pos + 0x1e + offset);
192  
193      }
194  
195      public String toString()
196      {
197          StringBuffer buffer = new StringBuffer();
198  
199          buffer.append("[TEXT]\n");
200          buffer.append("    .horizontalAlignment  = ")
201              .append("0x").append(HexDump.toHex(  getHorizontalAlignment ()))
202              .append(" (").append( getHorizontalAlignment() ).append(" )");
203          buffer.append(System.getProperty("line.separator")); 
204          buffer.append("    .verticalAlignment    = ")
205              .append("0x").append(HexDump.toHex(  getVerticalAlignment ()))
206              .append(" (").append( getVerticalAlignment() ).append(" )");
207          buffer.append(System.getProperty("line.separator")); 
208          buffer.append("    .displayMode          = ")
209              .append("0x").append(HexDump.toHex(  getDisplayMode ()))
210              .append(" (").append( getDisplayMode() ).append(" )");
211          buffer.append(System.getProperty("line.separator")); 
212          buffer.append("    .rgbColor             = ")
213              .append("0x").append(HexDump.toHex(  getRgbColor ()))
214              .append(" (").append( getRgbColor() ).append(" )");
215          buffer.append(System.getProperty("line.separator")); 
216          buffer.append("    .x                    = ")
217              .append("0x").append(HexDump.toHex(  getX ()))
218              .append(" (").append( getX() ).append(" )");
219          buffer.append(System.getProperty("line.separator")); 
220          buffer.append("    .y                    = ")
221              .append("0x").append(HexDump.toHex(  getY ()))
222              .append(" (").append( getY() ).append(" )");
223          buffer.append(System.getProperty("line.separator")); 
224          buffer.append("    .width                = ")
225              .append("0x").append(HexDump.toHex(  getWidth ()))
226              .append(" (").append( getWidth() ).append(" )");
227          buffer.append(System.getProperty("line.separator")); 
228          buffer.append("    .height               = ")
229              .append("0x").append(HexDump.toHex(  getHeight ()))
230              .append(" (").append( getHeight() ).append(" )");
231          buffer.append(System.getProperty("line.separator")); 
232          buffer.append("    .options1             = ")
233              .append("0x").append(HexDump.toHex(  getOptions1 ()))
234              .append(" (").append( getOptions1() ).append(" )");
235          buffer.append(System.getProperty("line.separator")); 
236          buffer.append("         .autoColor                = ").append(isAutoColor()).append('\n'); 
237          buffer.append("         .showKey                  = ").append(isShowKey()).append('\n'); 
238          buffer.append("         .showValue                = ").append(isShowValue()).append('\n'); 
239          buffer.append("         .vertical                 = ").append(isVertical()).append('\n'); 
240          buffer.append("         .autoGeneratedText        = ").append(isAutoGeneratedText()).append('\n'); 
241          buffer.append("         .generated                = ").append(isGenerated()).append('\n'); 
242          buffer.append("         .autoLabelDeleted         = ").append(isAutoLabelDeleted()).append('\n'); 
243          buffer.append("         .autoBackground           = ").append(isAutoBackground()).append('\n'); 
244              buffer.append("         .rotation                 = ").append(getRotation()).append('\n'); 
245          buffer.append("         .showCategoryLabelAsPercentage     = ").append(isShowCategoryLabelAsPercentage()).append('\n'); 
246          buffer.append("         .showValueAsPercentage     = ").append(isShowValueAsPercentage()).append('\n'); 
247          buffer.append("         .showBubbleSizes          = ").append(isShowBubbleSizes()).append('\n'); 
248          buffer.append("         .showLabel                = ").append(isShowLabel()).append('\n'); 
249          buffer.append("    .indexOfColorValue    = ")
250              .append("0x").append(HexDump.toHex(  getIndexOfColorValue ()))
251              .append(" (").append( getIndexOfColorValue() ).append(" )");
252          buffer.append(System.getProperty("line.separator")); 
253          buffer.append("    .options2             = ")
254              .append("0x").append(HexDump.toHex(  getOptions2 ()))
255              .append(" (").append( getOptions2() ).append(" )");
256          buffer.append(System.getProperty("line.separator")); 
257              buffer.append("         .dataLabelPlacement       = ").append(getDataLabelPlacement()).append('\n'); 
258          buffer.append("    .textRotation         = ")
259              .append("0x").append(HexDump.toHex(  getTextRotation ()))
260              .append(" (").append( getTextRotation() ).append(" )");
261          buffer.append(System.getProperty("line.separator")); 
262  
263          buffer.append("[/TEXT]\n");
264          return buffer.toString();
265      }
266  
267      public int serialize(int offset, byte[] data)
268      {
269          int pos = 0;
270  
271          LittleEndian.putShort(data, 0 + offset, sid);
272          LittleEndian.putShort(data, 2 + offset, (short)(getRecordSize() - 4));
273  
274          data[ 4 + offset + pos ] = field_1_horizontalAlignment;
275          data[ 5 + offset + pos ] = field_2_verticalAlignment;
276          LittleEndian.putShort(data, 6 + offset + pos, field_3_displayMode);
277          LittleEndian.putInt(data, 8 + offset + pos, field_4_rgbColor);
278          LittleEndian.putInt(data, 12 + offset + pos, field_5_x);
279          LittleEndian.putInt(data, 16 + offset + pos, field_6_y);
280          LittleEndian.putInt(data, 20 + offset + pos, field_7_width);
281          LittleEndian.putInt(data, 24 + offset + pos, field_8_height);
282          LittleEndian.putShort(data, 28 + offset + pos, field_9_options1);
283          LittleEndian.putShort(data, 30 + offset + pos, field_10_indexOfColorValue);
284          LittleEndian.putShort(data, 32 + offset + pos, field_11_options2);
285          LittleEndian.putShort(data, 34 + offset + pos, field_12_textRotation);
286  
287          return getRecordSize();
288      }
289  
290      /**
291       * Size of record (exluding 4 byte header)
292       */
293      public int getRecordSize()
294      {
295          return 4  + 1 + 1 + 2 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2;
296      }
297  
298      public short getSid()
299      {
300          return this.sid;
301      }
302  
303      public Object clone() {
304          TextRecord rec = new TextRecord();
305      
306          rec.field_1_horizontalAlignment = field_1_horizontalAlignment;
307          rec.field_2_verticalAlignment = field_2_verticalAlignment;
308          rec.field_3_displayMode = field_3_displayMode;
309          rec.field_4_rgbColor = field_4_rgbColor;
310          rec.field_5_x = field_5_x;
311          rec.field_6_y = field_6_y;
312          rec.field_7_width = field_7_width;
313          rec.field_8_height = field_8_height;
314          rec.field_9_options1 = field_9_options1;
315          rec.field_10_indexOfColorValue = field_10_indexOfColorValue;
316          rec.field_11_options2 = field_11_options2;
317          rec.field_12_textRotation = field_12_textRotation;
318          return rec;
319      }
320  
321  
322  
323  
324      /**
325       * Get the horizontal alignment field for the Text record.
326       *
327       * @return  One of 
328       *        HORIZONTAL_ALIGNMENT_LEFT
329       *        HORIZONTAL_ALIGNMENT_CENTER
330       *        HORIZONTAL_ALIGNMENT_BOTTOM
331       *        HORIZONTAL_ALIGNMENT_JUSTIFY
332       */
333      public byte getHorizontalAlignment()
334      {
335          return field_1_horizontalAlignment;
336      }
337  
338      /**
339       * Set the horizontal alignment field for the Text record.
340       *
341       * @param field_1_horizontalAlignment
342       *        One of 
343       *        HORIZONTAL_ALIGNMENT_LEFT
344       *        HORIZONTAL_ALIGNMENT_CENTER
345       *        HORIZONTAL_ALIGNMENT_BOTTOM
346       *        HORIZONTAL_ALIGNMENT_JUSTIFY
347       */
348      public void setHorizontalAlignment(byte field_1_horizontalAlignment)
349      {
350          this.field_1_horizontalAlignment = field_1_horizontalAlignment;
351      }
352  
353      /**
354       * Get the vertical alignment field for the Text record.
355       *
356       * @return  One of 
357       *        VERTICAL_ALIGNMENT_TOP
358       *        VERTICAL_ALIGNMENT_CENTER
359       *        VERTICAL_ALIGNMENT_BOTTOM
360       *        VERTICAL_ALIGNMENT_JUSTIFY
361       */
362      public byte getVerticalAlignment()
363      {
364          return field_2_verticalAlignment;
365      }
366  
367      /**
368       * Set the vertical alignment field for the Text record.
369       *
370       * @param field_2_verticalAlignment
371       *        One of 
372       *        VERTICAL_ALIGNMENT_TOP
373       *        VERTICAL_ALIGNMENT_CENTER
374       *        VERTICAL_ALIGNMENT_BOTTOM
375       *        VERTICAL_ALIGNMENT_JUSTIFY
376       */
377      public void setVerticalAlignment(byte field_2_verticalAlignment)
378      {
379          this.field_2_verticalAlignment = field_2_verticalAlignment;
380      }
381  
382      /**
383       * Get the display mode field for the Text record.
384       *
385       * @return  One of 
386       *        DISPLAY_MODE_TRANSPARENT
387       *        DISPLAY_MODE_OPAQUE
388       */
389      public short getDisplayMode()
390      {
391          return field_3_displayMode;
392      }
393  
394      /**
395       * Set the display mode field for the Text record.
396       *
397       * @param field_3_displayMode
398       *        One of 
399       *        DISPLAY_MODE_TRANSPARENT
400       *        DISPLAY_MODE_OPAQUE
401       */
402      public void setDisplayMode(short field_3_displayMode)
403      {
404          this.field_3_displayMode = field_3_displayMode;
405      }
406  
407      /**
408       * Get the rgbColor field for the Text record.
409       */
410      public int getRgbColor()
411      {
412          return field_4_rgbColor;
413      }
414  
415      /**
416       * Set the rgbColor field for the Text record.
417       */
418      public void setRgbColor(int field_4_rgbColor)
419      {
420          this.field_4_rgbColor = field_4_rgbColor;
421      }
422  
423      /**
424       * Get the x field for the Text record.
425       */
426      public int getX()
427      {
428          return field_5_x;
429      }
430  
431      /**
432       * Set the x field for the Text record.
433       */
434      public void setX(int field_5_x)
435      {
436          this.field_5_x = field_5_x;
437      }
438  
439      /**
440       * Get the y field for the Text record.
441       */
442      public int getY()
443      {
444          return field_6_y;
445      }
446  
447      /**
448       * Set the y field for the Text record.
449       */
450      public void setY(int field_6_y)
451      {
452          this.field_6_y = field_6_y;
453      }
454  
455      /**
456       * Get the width field for the Text record.
457       */
458      public int getWidth()
459      {
460          return field_7_width;
461      }
462  
463      /**
464       * Set the width field for the Text record.
465       */
466      public void setWidth(int field_7_width)
467      {
468          this.field_7_width = field_7_width;
469      }
470  
471      /**
472       * Get the height field for the Text record.
473       */
474      public int getHeight()
475      {
476          return field_8_height;
477      }
478  
479      /**
480       * Set the height field for the Text record.
481       */
482      public void setHeight(int field_8_height)
483      {
484          this.field_8_height = field_8_height;
485      }
486  
487      /**
488       * Get the options1 field for the Text record.
489       */
490      public short getOptions1()
491      {
492          return field_9_options1;
493      }
494  
495      /**
496       * Set the options1 field for the Text record.
497       */
498      public void setOptions1(short field_9_options1)
499      {
500          this.field_9_options1 = field_9_options1;
501      }
502  
503      /**
504       * Get the index of color value field for the Text record.
505       */
506      public short getIndexOfColorValue()
507      {
508          return field_10_indexOfColorValue;
509      }
510  
511      /**
512       * Set the index of color value field for the Text record.
513       */
514      public void setIndexOfColorValue(short field_10_indexOfColorValue)
515      {
516          this.field_10_indexOfColorValue = field_10_indexOfColorValue;
517      }
518  
519      /**
520       * Get the options2 field for the Text record.
521       */
522      public short getOptions2()
523      {
524          return field_11_options2;
525      }
526  
527      /**
528       * Set the options2 field for the Text record.
529       */
530      public void setOptions2(short field_11_options2)
531      {
532          this.field_11_options2 = field_11_options2;
533      }
534  
535      /**
536       * Get the text rotation field for the Text record.
537       */
538      public short getTextRotation()
539      {
540          return field_12_textRotation;
541      }
542  
543      /**
544       * Set the text rotation field for the Text record.
545       */
546      public void setTextRotation(short field_12_textRotation)
547      {
548          this.field_12_textRotation = field_12_textRotation;
549      }
550  
551      /**
552       * Sets the auto color field value.
553       * true = automaticly selected colour, false = user-selected
554       */
555      public void setAutoColor(boolean value)
556      {
557          field_9_options1 = autoColor.setShortBoolean(field_9_options1, value);
558      }
559  
560      /**
561       * true = automaticly selected colour, false = user-selected
562       * @return  the auto color field value.
563       */
564      public boolean isAutoColor()
565      {
566          return autoColor.isSet(field_9_options1);
567      }
568  
569      /**
570       * Sets the show key field value.
571       * true = draw legend
572       */
573      public void setShowKey(boolean value)
574      {
575          field_9_options1 = showKey.setShortBoolean(field_9_options1, value);
576      }
577  
578      /**
579       * true = draw legend
580       * @return  the show key field value.
581       */
582      public boolean isShowKey()
583      {
584          return showKey.isSet(field_9_options1);
585      }
586  
587      /**
588       * Sets the show value field value.
589       * false = text is category label
590       */
591      public void setShowValue(boolean value)
592      {
593          field_9_options1 = showValue.setShortBoolean(field_9_options1, value);
594      }
595  
596      /**
597       * false = text is category label
598       * @return  the show value field value.
599       */
600      public boolean isShowValue()
601      {
602          return showValue.isSet(field_9_options1);
603      }
604  
605      /**
606       * Sets the vertical field value.
607       * true = text is vertical
608       */
609      public void setVertical(boolean value)
610      {
611          field_9_options1 = vertical.setShortBoolean(field_9_options1, value);
612      }
613  
614      /**
615       * true = text is vertical
616       * @return  the vertical field value.
617       */
618      public boolean isVertical()
619      {
620          return vertical.isSet(field_9_options1);
621      }
622  
623      /**
624       * Sets the auto generated text field value.
625       * 
626       */
627      public void setAutoGeneratedText(boolean value)
628      {
629          field_9_options1 = autoGeneratedText.setShortBoolean(field_9_options1, value);
630      }
631  
632      /**
633       * 
634       * @return  the auto generated text field value.
635       */
636      public boolean isAutoGeneratedText()
637      {
638          return autoGeneratedText.isSet(field_9_options1);
639      }
640  
641      /**
642       * Sets the generated field value.
643       * 
644       */
645      public void setGenerated(boolean value)
646      {
647          field_9_options1 = generated.setShortBoolean(field_9_options1, value);
648      }
649  
650      /**
651       * 
652       * @return  the generated field value.
653       */
654      public boolean isGenerated()
655      {
656          return generated.isSet(field_9_options1);
657      }
658  
659      /**
660       * Sets the auto label deleted field value.
661       * 
662       */
663      public void setAutoLabelDeleted(boolean value)
664      {
665          field_9_options1 = autoLabelDeleted.setShortBoolean(field_9_options1, value);
666      }
667  
668      /**
669       * 
670       * @return  the auto label deleted field value.
671       */
672      public boolean isAutoLabelDeleted()
673      {
674          return autoLabelDeleted.isSet(field_9_options1);
675      }
676  
677      /**
678       * Sets the auto background field value.
679       * 
680       */
681      public void setAutoBackground(boolean value)
682      {
683          field_9_options1 = autoBackground.setShortBoolean(field_9_options1, value);
684      }
685  
686      /**
687       * 
688       * @return  the auto background field value.
689       */
690      public boolean isAutoBackground()
691      {
692          return autoBackground.isSet(field_9_options1);
693      }
694  
695      /**
696       * Sets the rotation field value.
697       * 
698       */
699      public void setRotation(short value)
700      {
701          field_9_options1 = rotation.setShortValue(field_9_options1, value);
702      }
703  
704      /**
705       * 
706       * @return  the rotation field value.
707       */
708      public short getRotation()
709      {
710          return rotation.getShortValue(field_9_options1);
711      }
712  
713      /**
714       * Sets the show category label as percentage field value.
715       * 
716       */
717      public void setShowCategoryLabelAsPercentage(boolean value)
718      {
719          field_9_options1 = showCategoryLabelAsPercentage.setShortBoolean(field_9_options1, value);
720      }
721  
722      /**
723       * 
724       * @return  the show category label as percentage field value.
725       */
726      public boolean isShowCategoryLabelAsPercentage()
727      {
728          return showCategoryLabelAsPercentage.isSet(field_9_options1);
729      }
730  
731      /**
732       * Sets the show value as percentage field value.
733       * 
734       */
735      public void setShowValueAsPercentage(boolean value)
736      {
737          field_9_options1 = showValueAsPercentage.setShortBoolean(field_9_options1, value);
738      }
739  
740      /**
741       * 
742       * @return  the show value as percentage field value.
743       */
744      public boolean isShowValueAsPercentage()
745      {
746          return showValueAsPercentage.isSet(field_9_options1);
747      }
748  
749      /**
750       * Sets the show bubble sizes field value.
751       * 
752       */
753      public void setShowBubbleSizes(boolean value)
754      {
755          field_9_options1 = showBubbleSizes.setShortBoolean(field_9_options1, value);
756      }
757  
758      /**
759       * 
760       * @return  the show bubble sizes field value.
761       */
762      public boolean isShowBubbleSizes()
763      {
764          return showBubbleSizes.isSet(field_9_options1);
765      }
766  
767      /**
768       * Sets the show label field value.
769       * 
770       */
771      public void setShowLabel(boolean value)
772      {
773          field_9_options1 = showLabel.setShortBoolean(field_9_options1, value);
774      }
775  
776      /**
777       * 
778       * @return  the show label field value.
779       */
780      public boolean isShowLabel()
781      {
782          return showLabel.isSet(field_9_options1);
783      }
784  
785      /**
786       * Sets the data label placement field value.
787       * 
788       */
789      public void setDataLabelPlacement(short value)
790      {
791          field_11_options2 = dataLabelPlacement.setShortValue(field_11_options2, value);
792      }
793  
794      /**
795       * 
796       * @return  the data label placement field value.
797       */
798      public short getDataLabelPlacement()
799      {
800          return dataLabelPlacement.getShortValue(field_11_options2);
801      }
802  
803  
804  }  // END OF CLASS
805  
806  
807  
808  
809