diff options
-rw-r--r-- | offapi/com/sun/star/chart/ChartAxis.idl | 168 | ||||
-rw-r--r-- | offapi/com/sun/star/chart/ChartAxisLabelPosition.idl | 78 | ||||
-rw-r--r-- | offapi/com/sun/star/chart/ChartAxisMarkPosition.idl (renamed from offapi/com/sun/star/chart2/AxisPosition.idl) | 39 | ||||
-rw-r--r-- | offapi/com/sun/star/chart/ChartAxisPosition.idl | 76 | ||||
-rw-r--r-- | offapi/com/sun/star/chart/makefile.mk | 3 | ||||
-rw-r--r-- | offapi/com/sun/star/chart2/Axis.idl | 21 | ||||
-rw-r--r-- | offapi/com/sun/star/chart2/makefile.mk | 1 |
7 files changed, 305 insertions, 81 deletions
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl index 6a698e8a4..6ba1e69f7 100644 --- a/offapi/com/sun/star/chart/ChartAxis.idl +++ b/offapi/com/sun/star/chart/ChartAxis.idl @@ -45,6 +45,18 @@ #ifndef __com_sun_star_chart_ChartAxisArrangeOrderType_idl__ #include <com/sun/star/chart/ChartAxisArrangeOrderType.idl> #endif + +#ifndef __com_sun_star_chart_ChartAxisPosition_idl__ +#include <com/sun/star/chart/ChartAxisPosition.idl> +#endif + +#ifndef __com_sun_star_chart_ChartAxisLabelPosition_idl__ +#include <com/sun/star/chart/ChartAxisLabelPosition.idl> +#endif + +#ifndef __com_sun_star_chart_ChartAxisMarkPosition_idl__ +#include <com/sun/star/chart/ChartAxisMarkPosition.idl> +#endif #ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_ #include <com/sun/star/xml/UserDefinedAttributeSupplier.idl> @@ -83,6 +95,10 @@ published service ChartAxis [optional] service com::sun::star::xml::UserDefinedAttributeSupplier; interface com::sun::star::beans::XPropertySet; + + //------------------------------------------------------------------------- + /** Properties for scaling: + */ //------------------------------------------------------------------------- @@ -98,15 +114,17 @@ published service ChartAxis //------------------------------------------------------------------------- - /** Contains the origin of the axis scale. - */ - [optional, property] double Origin; - - //------------------------------------------------------------------------- - /** Contains the distance between the main tick marks. */ [optional, property] double StepMain; + + //------------------------------------------------------------------------- + + /** + Contains the number of help intervals within a main interval. E.g. a StepHelpCount of 5 divides + the main interval into 5 pieces and thus producces 4 help tick marks. + */ + [optional, property] long StepHelpCount; //------------------------------------------------------------------------- @@ -118,14 +136,6 @@ published service ChartAxis //------------------------------------------------------------------------- - /** - Contains the number of help intervals within a main interval. E.g. a StepHelpCount of 5 divides - the main interval into 5 pieces and thus producces 4 help tick marks. - */ - [optional, property] long StepHelpCount; - - //------------------------------------------------------------------------- - /** The maximium value of the axis scale is calculated by the chart if this property is <TRUE/>. */ @@ -138,12 +148,6 @@ published service ChartAxis */ [optional, property] boolean AutoMin; - //------------------------------------------------------------------------- - - /** The origin is calculated by the chart if this property is <TRUE/>. - */ - [optional, property] boolean AutoOrigin; - //------------------------------------------------------------------------- /** The distance between the main tick marks is calculated by the chart @@ -165,71 +169,69 @@ published service ChartAxis not (linear). */ [optional, property] boolean Logarithmic; - + //------------------------------------------------------------------------- - /** Determines whether to display text at the axis or not. + /** Determines if the axis orientation is mathematical or reversed. */ - [property] boolean DisplayLabels; - + [optional, property] boolean ReverseDirection; + //------------------------------------------------------------------------- - /** Determines the rotation of the text elements - (axis description) in 100th degrees. + /** Determines where the axis crosses the other axis. */ - [property] long TextRotation; - + [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition; + //------------------------------------------------------------------------- - /** Determines the position of the marks.@see ChartAxisMarks + /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE. */ - [property] long Marks; - + [optional, property] double CrossoverValue; + //------------------------------------------------------------------------- - /** Determines the position of the help marks.@see ChartAxisMarks + /** Indicates the reference value where bars or areas have their grounding. + This property has only an effect when the used odf fileformat does not allow for + further axis posiioning or the axis is a secondary y-axis. */ - [property] long HelpMarks; - + [optional, property] double Origin; + //------------------------------------------------------------------------- - /** Determines the overlap of the bars in a bar-type chart. - - <p>The value is given in percent of the width of the bars. The - valid range is -100% to +100%. +100% means full overlap, -100% - indicates a distance of one bar between 2 neighboring bars.</p> + /** The origin is calculated by the chart if this property is <TRUE/>. */ - [property] long Overlap; - + [optional, property] boolean AutoOrigin; + + //------------------------------------------------------------------------- + /** Properties for interval marks: + */ + //------------------------------------------------------------------------- - /** Specifies the width of the gaps between each set of data points - in a bar chart. - - <p>The value is given in percent of the width of a bar; the - valid range is 0 to 600%.</p> + /** Determines the type of the marks.@see ChartAxisMarks */ - [property] long GapWidth; + [property] long Marks; //------------------------------------------------------------------------- - /** The axis description may be arranged in a special order for a - better placement. + /** Determines the type of the help marks.@see ChartAxisMarks */ - [property] com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder; - + [property] long HelpMarks; //------------------------------------------------------------------------- - /** Determines if long text is broken into multiple lines. + /** Determines where the interval marks are placed. */ - [property] boolean TextBreak; + [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition; //------------------------------------------------------------------------- + /** Properties for axes labels: + */ - /** Determines if certain labels are hidden, if they would otherwise overlap. - In this case, the value of this property must be set to <FALSE/>. + //------------------------------------------------------------------------- + + /** Determines whether to display text at the axis or not. */ - [property] boolean TextCanOverlap; + [property] boolean DisplayLabels; //------------------------------------------------------------------------- @@ -249,10 +251,60 @@ published service ChartAxis //------------------------------------------------------------------------- - /** Determines if the axis orientation is mathematical or reversed. + /** Determines where the axis labels are placed. */ - [optional, property] boolean ReverseDirection; + [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition; + //------------------------------------------------------------------------- + + /** Determines the rotation of the text elements + (axis description) in 100th degrees. + */ + [property] long TextRotation; + + //------------------------------------------------------------------------- + + /** The axis description may be arranged in a special order for a + better placement. + */ + [property] com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder; + + //------------------------------------------------------------------------- + + /** Determines if long text is broken into multiple lines. + */ + [property] boolean TextBreak; + + //------------------------------------------------------------------------- + + /** Determines if certain labels are hidden, if they would otherwise overlap. + In this case, the value of this property must be set to <FALSE/>. + */ + [property] boolean TextCanOverlap; + + //------------------------------------------------------------------------- + /** Properties related to bar charts: + */ + + //------------------------------------------------------------------------- + + /** Determines the overlap of the bars in a bar-type chart. + + <p>The value is given in percent of the width of the bars. The + valid range is -100% to +100%. +100% means full overlap, -100% + indicates a distance of one bar between 2 neighboring bars.</p> + */ + [property] long Overlap; + + //------------------------------------------------------------------------- + + /** Specifies the width of the gaps between each set of data points + in a bar chart. + + <p>The value is given in percent of the width of a bar; the + valid range is 0 to 600%.</p> + */ + [property] long GapWidth; }; //============================================================================= diff --git a/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl new file mode 100644 index 000000000..8f8b3ad7e --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ChartAxisLabelPosition.idl,v $ + * $Revision: 1.1.4.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_chart_ChartAxisLabelPosition_idl__ +#define __com_sun_star_chart_ChartAxisLabelPosition_idl__ + + +//============================================================================= + + module com { module sun { module star { module chart { + +//============================================================================= + +/** Specifies the position of the axis labels with respect to the axis on the scale of the crossing axis. +*/ + +published enum ChartAxisLabelPosition +{ + //------------------------------------------------------------------------- + + /** The labels are placed adjacent to the axis. When the axis itself is placed at the minimum or maximum of the scale ( that is when the property CrossoverPosition equals ChartAxisPosition_MINIMUM or ChartAxisPosition_MAXIMUM) + the labels are placed outside the coordinate system. Otherwise the labels are placed adjacent to the axis on that side that belongs to the lower values on the crossing axis. + E.g. when the ChartAxisLabelPosition is set to NEAR_AXIS for an y axis the labels are placed adjacent to the y axis on that side that belongs to the lower x values. + */ + NEAR_AXIS, + + //------------------------------------------------------------------------- + + /** The labels are placed adjacent to the axis on the opposite side as for NEAR_AXIS. + */ + NEAR_AXIS_OTHER_SIDE, + + //------------------------------------------------------------------------- + + /** The labels are placed outside the coordinate region on that side where the crossing axis has its minimum value. + E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its minimum value. + */ + OUTSIDE_START, + + //------------------------------------------------------------------------- + + /** The labels are placed outside the coordinate region on that side where the crossing axis has its maximum value. + E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its maximum value. + */ + OUTSIDE_END +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart2/AxisPosition.idl b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl index 2aa17084f..ce19d7293 100644 --- a/offapi/com/sun/star/chart2/AxisPosition.idl +++ b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl @@ -6,8 +6,8 @@ * * OpenOffice.org - a multi-platform office productivity suite * - * $RCSfile: AxisPosition.idl,v $ - * $Revision: 1.3 $ + * $RCSfile: ChartAxisMarkPosition.idl,v $ + * $Revision: 1.1.4.2 $ * * This file is part of OpenOffice.org. * @@ -27,37 +27,40 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - -#ifndef __com_sun_star_chart2_axisposition_idl__ -#define __com_sun_star_chart2_axisposition_idl__ +#ifndef __com_sun_star_chart_ChartAxisMarkPosition_idl__ +#define __com_sun_star_chart_ChartAxisMarkPosition_idl__ //============================================================================= - module com { module sun { module star { module chart2 { + module com { module sun { module star { module chart { //============================================================================= -/** These values specify where an axis is placed in respect to a coordinate system. - */ -constants AxisPosition -{ +/** Specifies the position of the axis interval marks. +*/ + +published enum ChartAxisMarkPosition +{ //------------------------------------------------------------------------- - /** the axis is located at the standard position of the coordinate system. - <p>It depends on the coordinate system, on the represented dimension and maybe on the language settings where the standard position is. - In a typical european cartesian coordinate system for example the main y axis is located at the left border.</p> + /** The interval marks are drawn besides the axis labels. */ - const long MAIN = 0; + AT_LABELS, //------------------------------------------------------------------------- - /** the axis is located at the standard position of the coordinate system. - <p>It depends on the coordinate system, on the represented dimension and maybe on the language settings where the standard position is. - In a typical european cartesian coordinate system for example the secondary y axis is located at the right border.</p> + /** The interval marks are drawn at the axis line. + This makes a difference to 'AT_LABELS' only when the labels are not placed near the axis (@see ChartAxisLabelPosition). */ - const long SECONDARY = 1; + AT_AXIS, + //------------------------------------------------------------------------- + + /** Interval marks are drawn at the axis line and also besides the axis labels. + This makes a difference to 'AT_LABELS' only when the labels are not placed near the axis (@see ChartAxisLabelPosition). + */ + AT_LABELS_AND_AXIS }; //============================================================================= diff --git a/offapi/com/sun/star/chart/ChartAxisPosition.idl b/offapi/com/sun/star/chart/ChartAxisPosition.idl new file mode 100644 index 000000000..5f0a53cdb --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisPosition.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ChartAxisPosition.idl,v $ + * $Revision: 1.1.4.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_chart_ChartAxisPosition_idl__ +#define __com_sun_star_chart_ChartAxisPosition_idl__ + + +//============================================================================= + + module com { module sun { module star { module chart { + +//============================================================================= + +/** Specifies the position of the axis on the scale of the crossing axis. +When the property is set at a x-axis it indicates a position on the scale of the primary y-axis. +When the property is set at a y-axis it indicates a position on the scale of the primary x-axis. +*/ + +published enum ChartAxisPosition +{ + //------------------------------------------------------------------------- + + /** Cross the other axes at zero. If zero is not contained in the current scale the value is used which is nearest to zero. + */ + ZERO, + + //------------------------------------------------------------------------- + + /** Cross the other axes at their minimum scale value. + */ + START, + + //------------------------------------------------------------------------- + + /** Cross the other axes at their maximum scale value. + */ + END, + + //------------------------------------------------------------------------- + + /** Cross the other axes at the value specified in the property CrossoverValue. + */ + VALUE +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart/makefile.mk b/offapi/com/sun/star/chart/makefile.mk index 18c32feb6..359f07a15 100644 --- a/offapi/com/sun/star/chart/makefile.mk +++ b/offapi/com/sun/star/chart/makefile.mk @@ -52,6 +52,9 @@ IDLFILES=\ ChartAxisArrangeOrderType.idl\ ChartAxisAssign.idl\ ChartAxisMarks.idl\ + ChartAxisPosition.idl\ + ChartAxisLabelPosition.idl\ + ChartAxisMarkPosition.idl\ ChartAxisXSupplier.idl\ ChartAxisYSupplier.idl\ ChartAxisZSupplier.idl\ diff --git a/offapi/com/sun/star/chart2/Axis.idl b/offapi/com/sun/star/chart2/Axis.idl index e1c4b0282..82fa9ea0f 100644 --- a/offapi/com/sun/star/chart2/Axis.idl +++ b/offapi/com/sun/star/chart2/Axis.idl @@ -33,9 +33,11 @@ #include <com/sun/star/beans/PropertySet.idl> #include <com/sun/star/chart/ChartAxisArrangeOrderType.idl> +#include <com/sun/star/chart/ChartAxisPosition.idl> +#include <com/sun/star/chart/ChartAxisLabelPosition.idl> +#include <com/sun/star/chart/ChartAxisMarkPosition.idl> #include <com/sun/star/chart2/XAxis.idl> -#include <com/sun/star/chart2/AxisPosition.idl> #include <com/sun/star/chart2/XTitled.idl> #include <com/sun/star/drawing/LineProperties.idl> @@ -68,15 +70,22 @@ service Axis */ [property] boolean Show; - /** Describes where to place the axis within a coordinate system - - wether it should be placed at the standard position for a main axis or at the standard position for a secondary axis or maybe something else in future. + /** Determines where the axis crosses the other axis. */ - [property] AxisPosition AxisPosition; + [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition; + + /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE. + */ + [optional, property] double CrossoverValue; /** Determines whether to display text at the axis or not. */ [property] boolean DisplayLabels; + /** Determines where the axis labels are placed. + */ + [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition; + /** Determines how to stagger the labels at the axis (side by side, even, odd, auto ) */ [property] ::com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder; @@ -122,6 +131,10 @@ service Axis @see <type>TickmarkStyle</type>. */ [property] long MinorTickmarks; + + /** Determines where the interval marks are placed. + */ + [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition; }; } ; // chart2 diff --git a/offapi/com/sun/star/chart2/makefile.mk b/offapi/com/sun/star/chart2/makefile.mk index adb8fc9b8..d82862c69 100644 --- a/offapi/com/sun/star/chart2/makefile.mk +++ b/offapi/com/sun/star/chart2/makefile.mk @@ -45,7 +45,6 @@ PRJNAME=offapi IDLFILES= \ AxisType.idl \ AxisOrientation.idl \ - AxisPosition.idl \ Break.idl \ CoordinateSystemTypeID.idl \ CurveStyle.idl \ |