Hi Ingrid,
I wrote below java code to change chart type with chart2 API. However this
code doesn't work !
can you please look at it and tell me what I'm doing wrong ?
thanks.
othman
Code:
XMultiComponentFactory xMCF = null;
XEmbeddedObjectSupplier xEmbeddedObjSupplier =
(XEmbeddedObjectSupplier)
UnoRuntime.queryInterface(XEmbeddedObjectSupplier.class, xtablechart);
XInterface xInterface =
xEmbeddedObjSupplier.getEmbeddedObject();
com.sun.star.chart2.XChartDocument oChart =
(com.sun.star.chart2.XChartDocument) UnoRuntime.queryInterface(
com.sun.star.chart2.XChartDocument.class, xInterface);
System.out.println("com.sun.star.chart2.XChartDocument="+oChart);
/* let the Calc document create a data provider, set it at the
chart*/
com.sun.star.chart2.data.XDataProvider oDataProv =
oChart.getDataProvider();
com.sun.star.chart2.XDiagram oDiagram=oChart.getFirstDiagram();
System.out.println("com.sun.star.chart2.XDiagram="+oDiagram.toString());
//insert a coordinate system into the diagram
com.sun.star.chart2.XCoordinateSystemContainer oCoordSysCnt=
(com.sun.star.chart2.XCoordinateSystemContainer)UnoRuntime.queryInterface(com.sun.star.chart2.XCoordinateSystemContainer.class,
oDiagram);
com.sun.star.chart2.XCoordinateSystem[] oCoordSys=
oCoordSysCnt.getCoordinateSystems();
System.out.println("com.sun.star.chart2.XCoordinateSystem[0]="+oCoordSys[0].toString());
com.sun.star.chart2.XChartTypeContainer oChartTypeCnt=
(com.sun.star.chart2.XChartTypeContainer)UnoRuntime.queryInterface(com.sun.star.chart2.XChartTypeContainer.class,
oCoordSys[0]);
// get the service manager from the office
xMCF = xContext.getServiceManager();
Object object = xMCF.createInstanceWithContext(
"com.sun.star.chart2.CandleStickChartType", xContext);
com.sun.star.chart2.XChartType
oChartType=(com.sun.star.chart2.XChartType) UnoRuntime.queryInterface(
com.sun.star.chart2.XChartType.class, object);
System.out.println("com.sun.star.chart2.XChartType="+oChartType.toString());
oChartTypeCnt.addChartType(oChartType);
Ingrid Halama wrote:
>
> Hi othman,
>
> othman wrote:
>> Sorry, i hope you bare with me & be patient answering my questions about
>> the
>> chart2 API.
>> i wrote a java code to change the type of my chart from default LineType
>> to
>> candlestick type.
>> However this code doesn't work with chart2 .but if i change to standar
>> com.sun.star.chart and use type "com.sun.star.StockDiagram" it does work
>> perfectly.
>> what is wrong with the chart2 code (or how to change my chart2 type to
>> candlestick )?
>>
> Instances of chart2 chart types (e.g.
> com.sun.star.chart2.CandleStickChartType) do support service
> com::sun::star::chart2::ChartType. Look at the corresponding idl file.
> They do not support the interface com::sun::star::chart2::XDiagram, but
> instead they support interface com::sun::star::chart2::XChartType. They
> need to be added to the com::sun::star::chart2::XChartTypeContainer as
> shown in my mail from August 18th.
>
> In general both APIs do not have the same structure. The only touch
> point is the chart document itself which does support both interfaces
> com::sun::star::chart2::XChartDocument and
> com::sun::star::chart::XChartDocument. Starting from there both APIs
> from different object trees.
>
> Kind regards,
> Ingrid
>
>> thanks.
>>
>> code :
>>
>> XEmbeddedObjectSupplier xEmbeddedObjSupplier = (XEmbeddedObjectSupplier)
>> UnoRuntime.queryInterface(XEmbeddedObjectSupplier.class,
>> xtablechart);
>> XInterface xInterface = xEmbeddedObjSupplier.getEmbeddedObject();
>>
>> com.sun.star.chart2.XChartDocument xChartDoc =
>> (com.sun.star.chart2.XChartDocument)UnoRuntime.queryInterface(
>> com.sun.star.chart2.XChartDocument.class, xInterface);
>> com.sun.star.chart2.XDiagram xDiagram =
>> (com.sun.star.chart2.XDiagram) xChartDoc.getFirstDiagram();
>> XMultiServiceFactory xMSF = (XMultiServiceFactory)
>> UnoRuntime.queryInterface( XMultiServiceFactory.class,
>> xChartDoc
>> );
>> Object object = xMSF.createInstance(
>> "com.sun.star.chart2.CandleStickChartType" );
>> xDiagram = (com.sun.star.chart2.XDiagram)
>> UnoRuntime.queryInterface(com.sun.star.chart2.XDiagram.class, object);
>>
>> XPropertySet xPropSet = (XPropertySet) UnoRuntime.queryInterface(
>> XPropertySet.class, xDiagram );
>>
>> xChartDoc.setFirstDiagram(xDiagram);
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/combined-chart-type-using-com%3Asun%3Astar%3Achart2-tp19003238p19092382.html
Sent from the openoffice - api dev mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]