1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski #ifndef _CHART2_OBJECTIDENTIFIER_HXX
24*b1cdbd2cSJim Jagielski #define _CHART2_OBJECTIDENTIFIER_HXX
25*b1cdbd2cSJim Jagielski 
26*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XChartType.hpp>
27*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XDiagram.hpp>
28*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XCoordinateSystem.hpp>
29*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XDataSeries.hpp>
30*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XChartDocument.hpp>
31*b1cdbd2cSJim Jagielski #include "TitleHelper.hxx"
32*b1cdbd2cSJim Jagielski #include "charttoolsdllapi.hxx"
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski // header for class OUString
35*b1cdbd2cSJim Jagielski #include <rtl/ustring.hxx>
36*b1cdbd2cSJim Jagielski #include <com/sun/star/frame/XModel.hpp>
37*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
38*b1cdbd2cSJim Jagielski #include <com/sun/star/awt/Point.hpp>
39*b1cdbd2cSJim Jagielski #include <com/sun/star/drawing/XShape.hpp>
40*b1cdbd2cSJim Jagielski 
41*b1cdbd2cSJim Jagielski //.............................................................................
42*b1cdbd2cSJim Jagielski namespace chart
43*b1cdbd2cSJim Jagielski {
44*b1cdbd2cSJim Jagielski //.............................................................................
45*b1cdbd2cSJim Jagielski 
46*b1cdbd2cSJim Jagielski //-----------------------------------------------------------------------------
47*b1cdbd2cSJim Jagielski /**
48*b1cdbd2cSJim Jagielski */
49*b1cdbd2cSJim Jagielski enum ObjectType
50*b1cdbd2cSJim Jagielski {
51*b1cdbd2cSJim Jagielski     OBJECTTYPE_PAGE,
52*b1cdbd2cSJim Jagielski     OBJECTTYPE_TITLE,
53*b1cdbd2cSJim Jagielski     OBJECTTYPE_LEGEND,
54*b1cdbd2cSJim Jagielski     OBJECTTYPE_LEGEND_ENTRY,
55*b1cdbd2cSJim Jagielski     OBJECTTYPE_DIAGRAM,
56*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DIAGRAM_WALL,
57*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DIAGRAM_FLOOR,
58*b1cdbd2cSJim Jagielski     OBJECTTYPE_AXIS,
59*b1cdbd2cSJim Jagielski     OBJECTTYPE_AXIS_UNITLABEL,
60*b1cdbd2cSJim Jagielski 	OBJECTTYPE_GRID,
61*b1cdbd2cSJim Jagielski     OBJECTTYPE_SUBGRID,
62*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DATA_SERIES,
63*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DATA_POINT,
64*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_LABELS,
65*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_LABEL,
66*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_ERRORS,
67*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_ERRORS_X,
68*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_ERRORS_Y,
69*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_ERRORS_Z,
70*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_CURVE,//e.g. a statistical method printed as line
71*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_AVERAGE_LINE,
72*b1cdbd2cSJim Jagielski     OBJECTTYPE_DATA_CURVE_EQUATION,
73*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DATA_STOCK_RANGE,
74*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DATA_STOCK_LOSS,
75*b1cdbd2cSJim Jagielski 	OBJECTTYPE_DATA_STOCK_GAIN,
76*b1cdbd2cSJim Jagielski     OBJECTTYPE_SHAPE,
77*b1cdbd2cSJim Jagielski     OBJECTTYPE_UNKNOWN
78*b1cdbd2cSJim Jagielski };
79*b1cdbd2cSJim Jagielski 
80*b1cdbd2cSJim Jagielski class OOO_DLLPUBLIC_CHARTTOOLS ObjectIdentifier
81*b1cdbd2cSJim Jagielski {
82*b1cdbd2cSJim Jagielski     //CID == ClassifiedIdentifier <--> name of shape
83*b1cdbd2cSJim Jagielski     //semicolon, colon, equal sign and slash have special meanings in a CID
84*b1cdbd2cSJim Jagielski     //and are therefore not allowed in its components
85*b1cdbd2cSJim Jagielski 
86*b1cdbd2cSJim Jagielski     //syntax of a CID:  CID:/classification/ObjectID
87*b1cdbd2cSJim Jagielski 
88*b1cdbd2cSJim Jagielski     //where classification: nothing or "MultiClick" or "DragMethod=DragMethodServiceName" and "DragParameter=DragParameterString"
89*b1cdbd2cSJim Jagielski     //                      or a combination of these seperated with a colon
90*b1cdbd2cSJim Jagielski     //where DragMethodServiceName can be a selfdefined servicename for special actions //todo define standard service for this purpose
91*b1cdbd2cSJim Jagielski     //where DragParameterString is any string you like to transport information to your special drag service
92*b1cdbd2cSJim Jagielski     //                            only semicolon, colon, equal sign and slash are not allowed characters
93*b1cdbd2cSJim Jagielski     //                            also the keywors used in the ObjectIdentifiers are not allowed
94*b1cdbd2cSJim Jagielski 
95*b1cdbd2cSJim Jagielski     //where ObjectID: Parent-Particle:Particle //e.g. Series=2:Point=22
96*b1cdbd2cSJim Jagielski     //where Particle: Type=ParticleID //e.g. Point=22
97*b1cdbd2cSJim Jagielski     //where Type: getStringForType( ObjectType eType ) or other string
98*b1cdbd2cSJim Jagielski 
99*b1cdbd2cSJim Jagielski public:
100*b1cdbd2cSJim Jagielski     ObjectIdentifier();
101*b1cdbd2cSJim Jagielski     ObjectIdentifier( const ::rtl::OUString& rObjectCID );
102*b1cdbd2cSJim Jagielski     ObjectIdentifier( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rxShape );
103*b1cdbd2cSJim Jagielski     ObjectIdentifier( const ::com::sun::star::uno::Any& rAny );
104*b1cdbd2cSJim Jagielski     virtual ~ObjectIdentifier();
105*b1cdbd2cSJim Jagielski 
106*b1cdbd2cSJim Jagielski     ObjectIdentifier( const ObjectIdentifier& rOID );
107*b1cdbd2cSJim Jagielski     ObjectIdentifier& operator=( const ObjectIdentifier& rOID );
108*b1cdbd2cSJim Jagielski     bool operator==( const ObjectIdentifier& rOID ) const;
109*b1cdbd2cSJim Jagielski     bool operator!=( const ObjectIdentifier& rOID ) const;
110*b1cdbd2cSJim Jagielski     bool operator<( const ObjectIdentifier& rOID ) const;
111*b1cdbd2cSJim Jagielski 
112*b1cdbd2cSJim Jagielski     static rtl::OUString createClassifiedIdentifierForObject(
113*b1cdbd2cSJim Jagielski           const ::com::sun::star::uno::Reference<
114*b1cdbd2cSJim Jagielski                     ::com::sun::star::uno::XInterface >& xObject
115*b1cdbd2cSJim Jagielski         , const ::com::sun::star::uno::Reference<
116*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
117*b1cdbd2cSJim Jagielski 
118*b1cdbd2cSJim Jagielski     static rtl::OUString createClassifiedIdentifierForParticle(
119*b1cdbd2cSJim Jagielski         const rtl::OUString& rParticle );
120*b1cdbd2cSJim Jagielski 
121*b1cdbd2cSJim Jagielski     static rtl::OUString createClassifiedIdentifierForParticles(
122*b1cdbd2cSJim Jagielski             const rtl::OUString& rParentParticle
123*b1cdbd2cSJim Jagielski           , const rtl::OUString& rChildParticle
124*b1cdbd2cSJim Jagielski           , const rtl::OUString& rDragMethodServiceName = rtl::OUString()
125*b1cdbd2cSJim Jagielski           , const rtl::OUString& rDragParameterString = rtl::OUString() );
126*b1cdbd2cSJim Jagielski 
127*b1cdbd2cSJim Jagielski     static rtl::OUString createClassifiedIdentifierForGrid(
128*b1cdbd2cSJim Jagielski           const ::com::sun::star::uno::Reference<
129*b1cdbd2cSJim Jagielski                     ::com::sun::star::chart2::XAxis >& xAxis
130*b1cdbd2cSJim Jagielski         , const ::com::sun::star::uno::Reference<
131*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel
132*b1cdbd2cSJim Jagielski         , sal_Int32 nSubIndex = -1 );//-1: main grid, 0: first subgrid etc
133*b1cdbd2cSJim Jagielski 
134*b1cdbd2cSJim Jagielski     SAL_DLLPRIVATE static rtl::OUString createParticleForDiagram(
135*b1cdbd2cSJim Jagielski           const ::com::sun::star::uno::Reference<
136*b1cdbd2cSJim Jagielski                     ::com::sun::star::chart2::XDiagram >& xDiagram
137*b1cdbd2cSJim Jagielski         , const ::com::sun::star::uno::Reference<
138*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
139*b1cdbd2cSJim Jagielski 
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski     static rtl::OUString createParticleForCoordinateSystem(
142*b1cdbd2cSJim Jagielski           const ::com::sun::star::uno::Reference<
143*b1cdbd2cSJim Jagielski                     ::com::sun::star::chart2::XCoordinateSystem >& xCooSys
144*b1cdbd2cSJim Jagielski         , const ::com::sun::star::uno::Reference<
145*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
146*b1cdbd2cSJim Jagielski 
147*b1cdbd2cSJim Jagielski     static rtl::OUString createParticleForAxis(
148*b1cdbd2cSJim Jagielski                       sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex );
149*b1cdbd2cSJim Jagielski 
150*b1cdbd2cSJim Jagielski     static rtl::OUString createParticleForGrid(
151*b1cdbd2cSJim Jagielski                       sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex );
152*b1cdbd2cSJim Jagielski 
153*b1cdbd2cSJim Jagielski     static rtl::OUString createParticleForSeries( sal_Int32 nDiagramIndex, sal_Int32 nCooSysIndex
154*b1cdbd2cSJim Jagielski             , sal_Int32 nChartTypeIndex, sal_Int32 nSeriesIndex );
155*b1cdbd2cSJim Jagielski 
156*b1cdbd2cSJim Jagielski     static rtl::OUString createParticleForLegend(
157*b1cdbd2cSJim Jagielski           const ::com::sun::star::uno::Reference<
158*b1cdbd2cSJim Jagielski                     ::com::sun::star::chart2::XLegend >& xLegend
159*b1cdbd2cSJim Jagielski         , const ::com::sun::star::uno::Reference<
160*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
161*b1cdbd2cSJim Jagielski 
162*b1cdbd2cSJim Jagielski     static rtl::OUString addChildParticle( const rtl::OUString& rParticle, const rtl::OUString& rChildParticle );
163*b1cdbd2cSJim Jagielski     static rtl::OUString createChildParticleWithIndex( ObjectType eObjectType, sal_Int32 nIndex );
164*b1cdbd2cSJim Jagielski     static sal_Int32 getIndexFromParticleOrCID( const rtl::OUString& rParticleOrCID );
165*b1cdbd2cSJim Jagielski 
166*b1cdbd2cSJim Jagielski     static rtl::OUString createClassifiedIdentifier(
167*b1cdbd2cSJim Jagielski         enum ObjectType eObjectType //e.g. OBJECTTYPE_DATA_SERIES
168*b1cdbd2cSJim Jagielski         , const rtl::OUString& rParticleID );//e.g. SeriesID
169*b1cdbd2cSJim Jagielski 
170*b1cdbd2cSJim Jagielski     static rtl::OUString createClassifiedIdentifierWithParent(
171*b1cdbd2cSJim Jagielski         enum ObjectType //e.g. OBJECTTYPE_DATA_POINT or OBJECTTYPE_GRID
172*b1cdbd2cSJim Jagielski         , const rtl::OUString& rParticleID //for points or subgrids this is an Index or otherwise an identifier from the model object
173*b1cdbd2cSJim Jagielski         , const rtl::OUString& rParentPartical //e.g. "Series=SeriesID" or "Grid=GridId"
174*b1cdbd2cSJim Jagielski         , const rtl::OUString& rDragMethodServiceName = rtl::OUString()
175*b1cdbd2cSJim Jagielski         , const rtl::OUString& rDragParameterString = rtl::OUString()
176*b1cdbd2cSJim Jagielski         );
177*b1cdbd2cSJim Jagielski 
178*b1cdbd2cSJim Jagielski     static bool isCID( const rtl::OUString& rName );
179*b1cdbd2cSJim Jagielski     static rtl::OUString getDragMethodServiceName( const rtl::OUString& rClassifiedIdentifier );
180*b1cdbd2cSJim Jagielski     static rtl::OUString getDragParameterString( const rtl::OUString& rCID );
181*b1cdbd2cSJim Jagielski     static bool isDragableObject( const rtl::OUString& rClassifiedIdentifier );
182*b1cdbd2cSJim Jagielski     bool isDragableObject();
183*b1cdbd2cSJim Jagielski     static bool isRotateableObject( const rtl::OUString& rClassifiedIdentifier );
184*b1cdbd2cSJim Jagielski     static bool isMultiClickObject( const rtl::OUString& rClassifiedIdentifier );
185*b1cdbd2cSJim Jagielski     static bool areSiblings( const rtl::OUString& rCID1, const rtl::OUString& rCID2 );//identical object is no sibling
186*b1cdbd2cSJim Jagielski     static bool areIdenticalObjects( const ::rtl::OUString& rCID1, const ::rtl::OUString& rCID2 );
187*b1cdbd2cSJim Jagielski 
188*b1cdbd2cSJim Jagielski     static rtl::OUString getStringForType( ObjectType eObjectType );
189*b1cdbd2cSJim Jagielski     static ObjectType    getObjectType( const rtl::OUString& rCID );
190*b1cdbd2cSJim Jagielski     ObjectType getObjectType();
191*b1cdbd2cSJim Jagielski 
192*b1cdbd2cSJim Jagielski     static rtl::OUString createSeriesSubObjectStub( ObjectType eSubObjectType
193*b1cdbd2cSJim Jagielski                     , const rtl::OUString& rSeriesParticle
194*b1cdbd2cSJim Jagielski                     , const rtl::OUString& rDragMethodServiceName = rtl::OUString()
195*b1cdbd2cSJim Jagielski                     , const rtl::OUString& rDragParameterString = rtl::OUString() );
196*b1cdbd2cSJim Jagielski     static rtl::OUString createPointCID( const rtl::OUString& rPointCID_Stub, sal_Int32 nIndex  );
197*b1cdbd2cSJim Jagielski 
198*b1cdbd2cSJim Jagielski     static rtl::OUString createDataCurveCID( const rtl::OUString& rSeriesParticle, sal_Int32 nCurveIndex, bool bAverageLine );
199*b1cdbd2cSJim Jagielski     static rtl::OUString createDataCurveEquationCID( const rtl::OUString& rSeriesParticle, sal_Int32 nCurveIndex );
200*b1cdbd2cSJim Jagielski 
201*b1cdbd2cSJim Jagielski     SAL_DLLPRIVATE static rtl::OUString getObjectID( const rtl::OUString& rCID );
202*b1cdbd2cSJim Jagielski     static rtl::OUString getParticleID( const rtl::OUString& rCID );
203*b1cdbd2cSJim Jagielski     static rtl::OUString getFullParentParticle( const rtl::OUString& rCID );
204*b1cdbd2cSJim Jagielski 
205*b1cdbd2cSJim Jagielski     //returns the series particle of a CID when the CID is a child of the series
206*b1cdbd2cSJim Jagielski     static rtl::OUString getSeriesParticleFromCID( const rtl::OUString& rCID );
207*b1cdbd2cSJim Jagielski 
208*b1cdbd2cSJim Jagielski     //return the model object that is indicated by rObjectCID
209*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
210*b1cdbd2cSJim Jagielski             getObjectPropertySet(
211*b1cdbd2cSJim Jagielski                   const rtl::OUString& rObjectCID
212*b1cdbd2cSJim Jagielski                 , const ::com::sun::star::uno::Reference<
213*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
214*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
215*b1cdbd2cSJim Jagielski             getObjectPropertySet(
216*b1cdbd2cSJim Jagielski                   const rtl::OUString& rObjectCID
217*b1cdbd2cSJim Jagielski                 , const ::com::sun::star::uno::Reference<
218*b1cdbd2cSJim Jagielski                     ::com::sun::star::chart2::XChartDocument >& xChartDocument );
219*b1cdbd2cSJim Jagielski 
220*b1cdbd2cSJim Jagielski     //return the axis object that belongs to rObjectCID if any
221*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XAxis >
222*b1cdbd2cSJim Jagielski             getAxisForCID(
223*b1cdbd2cSJim Jagielski                   const rtl::OUString& rObjectCID
224*b1cdbd2cSJim Jagielski                 , const ::com::sun::star::uno::Reference<
225*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
226*b1cdbd2cSJim Jagielski 
227*b1cdbd2cSJim Jagielski     //return the series object that belongs to rObjectCID if any
228*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries >
229*b1cdbd2cSJim Jagielski             getDataSeriesForCID(
230*b1cdbd2cSJim Jagielski                   const rtl::OUString& rObjectCID
231*b1cdbd2cSJim Jagielski                 , const ::com::sun::star::uno::Reference<
232*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
233*b1cdbd2cSJim Jagielski 
234*b1cdbd2cSJim Jagielski     static ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram >
235*b1cdbd2cSJim Jagielski             getDiagramForCID(
236*b1cdbd2cSJim Jagielski                   const rtl::OUString& rObjectCID
237*b1cdbd2cSJim Jagielski                 , const ::com::sun::star::uno::Reference<
238*b1cdbd2cSJim Jagielski                     ::com::sun::star::frame::XModel >& xChartModel );
239*b1cdbd2cSJim Jagielski 
240*b1cdbd2cSJim Jagielski     static const ::rtl::OUString& getPieSegmentDragMethodServiceName();
241*b1cdbd2cSJim Jagielski     static ::rtl::OUString createPieSegmentDragParameterString(
242*b1cdbd2cSJim Jagielski           sal_Int32 nOffsetPercent
243*b1cdbd2cSJim Jagielski         , const ::com::sun::star::awt::Point& rMinimumPosition
244*b1cdbd2cSJim Jagielski         , const ::com::sun::star::awt::Point& rMaximumPosition );
245*b1cdbd2cSJim Jagielski     static bool parsePieSegmentDragParameterString( const rtl::OUString& rDragParameterString
246*b1cdbd2cSJim Jagielski         , sal_Int32& rOffsetPercent
247*b1cdbd2cSJim Jagielski         , ::com::sun::star::awt::Point& rMinimumPosition
248*b1cdbd2cSJim Jagielski         , ::com::sun::star::awt::Point& rMaximumPosition );
249*b1cdbd2cSJim Jagielski 
250*b1cdbd2cSJim Jagielski     static TitleHelper::eTitleType getTitleTypeForCID( const ::rtl::OUString& rCID );
251*b1cdbd2cSJim Jagielski 
252*b1cdbd2cSJim Jagielski     static ::rtl::OUString getMovedSeriesCID( const ::rtl::OUString& rObjectCID, sal_Bool bForward );
253*b1cdbd2cSJim Jagielski 
254*b1cdbd2cSJim Jagielski     bool isValid() const;
255*b1cdbd2cSJim Jagielski     bool isAutoGeneratedObject() const;
256*b1cdbd2cSJim Jagielski     bool isAdditionalShape() const;
257*b1cdbd2cSJim Jagielski     ::rtl::OUString getObjectCID() const;
258*b1cdbd2cSJim Jagielski     ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > getAdditionalShape() const;
259*b1cdbd2cSJim Jagielski     ::com::sun::star::uno::Any getAny() const;
260*b1cdbd2cSJim Jagielski 
261*b1cdbd2cSJim Jagielski private:
262*b1cdbd2cSJim Jagielski     // #i12587# support for shapes in chart
263*b1cdbd2cSJim Jagielski     // For autogenerated chart objects a CID is specified in m_aObjectCID,
264*b1cdbd2cSJim Jagielski     // for all other objects m_xAdditionalShape is set.
265*b1cdbd2cSJim Jagielski     // Note, that if m_aObjectCID is set, m_xAdditionalShape must be empty
266*b1cdbd2cSJim Jagielski     // and vice versa.
267*b1cdbd2cSJim Jagielski     ::rtl::OUString m_aObjectCID;
268*b1cdbd2cSJim Jagielski     ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > m_xAdditionalShape;
269*b1cdbd2cSJim Jagielski };
270*b1cdbd2cSJim Jagielski 
271*b1cdbd2cSJim Jagielski //.............................................................................
272*b1cdbd2cSJim Jagielski } //namespace chart
273*b1cdbd2cSJim Jagielski //.............................................................................
274*b1cdbd2cSJim Jagielski #endif
275