summaryrefslogtreecommitdiff
path: root/odk/examples/java/Spreadsheet/ChartTypeChange.java
diff options
context:
space:
mode:
Diffstat (limited to 'odk/examples/java/Spreadsheet/ChartTypeChange.java')
-rw-r--r--odk/examples/java/Spreadsheet/ChartTypeChange.java98
1 files changed, 49 insertions, 49 deletions
diff --git a/odk/examples/java/Spreadsheet/ChartTypeChange.java b/odk/examples/java/Spreadsheet/ChartTypeChange.java
index 1a86ee3d0b97..ab4e44bfdc4c 100644
--- a/odk/examples/java/Spreadsheet/ChartTypeChange.java
+++ b/odk/examples/java/Spreadsheet/ChartTypeChange.java
@@ -2,7 +2,7 @@
*
* The Contents of this file are made available subject to the terms of
* the BSD license.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
* All rights reserved.
*
@@ -29,7 +29,7 @@
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
+ *
*************************************************************************/
import com.sun.star.awt.Rectangle;
@@ -73,36 +73,36 @@ import com.sun.star.uno.XComponentContext;
* @author Bertram Nolte
*/
public class ChartTypeChange {
-
+
/** Table chart, which type will be changed.
*/
private XTableChart xtablechart = null;
-
+
/** Service factory
*/
private XMultiComponentFactory xMCF = null;
-
+
/** Component context
*/
private XComponentContext xCompContext = null;
-
+
/** Beginning of the program.
* @param args No arguments will be passed to the class.
*/
public static void main(String args[]) {
try {
ChartTypeChange charttypechange = new ChartTypeChange();
-
+
// Double array holding all values the chart should be based on.
String[][] stringValues = {
{ "", "Jan", "Feb", "Mar", "Apr", "Mai" },
{ "Profit", "12.3", "43.2", "5.1", "76", "56.8" },
{ "Rival in business", "12.2", "12.6", "17.7", "20.4", "100" },
};
-
+
// Create the chart with
charttypechange.getChart( stringValues );
-
+
String[] stringChartType = {
"com.sun.star.chart.LineDiagram",
"com.sun.star.chart.BarDiagram",
@@ -112,39 +112,39 @@ public class ChartTypeChange {
"com.sun.star.chart.StockDiagram",
"com.sun.star.chart.AreaDiagram"
};
-
+
for ( int intCounter = 0; intCounter < stringChartType.length;
intCounter++ ) {
charttypechange.changeChartType( stringChartType[ intCounter ],
false );
Thread.sleep( 3000 );
}
-
+
System.exit(0);
}
catch( Exception exception ) {
System.err.println( exception );
}
}
-
+
/** The constructor connects to the OpenOffice.org.
* @param args Parameters for this constructor (connection string).
* @throws Exception All exceptions are thrown from this method.
*/
public ChartTypeChange()
throws Exception {
-
+
/* Bootstraps a component context. Component context to be granted
to a component for running. Arbitrary values can be retrieved
from the context. */
xCompContext = com.sun.star.comp.helper.Bootstrap.bootstrap();
-
+
/* Gets the service manager instance to be used (or null). This method has
been added for convenience, because the service manager is a often used
object. */
- xMCF = xCompContext.getServiceManager();
+ xMCF = xCompContext.getServiceManager();
}
-
+
/** This method will change the type of a specified chart.
* @param stringType The chart will be converted to this type.
* @param booleanIs3D If the chart should be displayed in 3D this parameter should be set to true.
@@ -155,7 +155,7 @@ public class ChartTypeChange {
XEmbeddedObjectSupplier xEmbeddedObjSupplier = (XEmbeddedObjectSupplier)
UnoRuntime.queryInterface(XEmbeddedObjectSupplier.class, xtablechart);
XInterface xInterface = xEmbeddedObjSupplier.getEmbeddedObject();
-
+
XChartDocument xChartDoc = (XChartDocument)UnoRuntime.queryInterface(
XChartDocument.class, xInterface);
XDiagram xDiagram = (XDiagram) xChartDoc.getDiagram();
@@ -163,14 +163,14 @@ public class ChartTypeChange {
UnoRuntime.queryInterface( XMultiServiceFactory.class, xChartDoc );
Object object = xMSF.createInstance( stringType );
xDiagram = (XDiagram) UnoRuntime.queryInterface(XDiagram.class, object);
-
+
XPropertySet xPropSet = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, xDiagram );
xPropSet.setPropertyValue( "Dim3D", new Boolean( booleanIs3D ) );
-
+
xChartDoc.setDiagram(xDiagram);
}
-
+
/** Loading an OpenOffice.org Calc document and getting a chart by name.
* @param stringFileName Name of the OpenOffice.org Calc document which should
* be loaded.
@@ -186,30 +186,30 @@ public class ChartTypeChange {
UnoRuntime.queryInterface( XComponentLoader.class,
xMCF.createInstanceWithContext("com.sun.star.frame.Desktop",
xCompContext ) );
-
+
// Load a Writer document, which will be automaticly displayed
XComponent xComponent = xComponentloader.loadComponentFromURL(
"file:///" + stringFileName, "_blank", 0,
new PropertyValue[0] );
-
+
// Query for the interface XSpreadsheetDocument
XSpreadsheetDocument xSpreadSheetDocument = ( XSpreadsheetDocument )
UnoRuntime.queryInterface( XSpreadsheetDocument.class, xComponent );
-
+
XSpreadsheets xSpreadsheets = xSpreadSheetDocument.getSheets() ;
-
+
XIndexAccess xIndexAccess = (XIndexAccess)
UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets );
-
+
XSpreadsheet xSpreadsheet = (XSpreadsheet) UnoRuntime.queryInterface(
XSpreadsheet.class, xIndexAccess.getByIndex(0));
-
+
XTableChartsSupplier xTableChartsSupplier = ( XTableChartsSupplier )
UnoRuntime.queryInterface( XTableChartsSupplier.class, xSpreadsheet );
-
+
xIndexAccess = (XIndexAccess) UnoRuntime.queryInterface(
XIndexAccess.class, xTableChartsSupplier.getCharts() );
-
+
this.xtablechart = (XTableChart) UnoRuntime.queryInterface(
XTableChart.class, xIndexAccess.getByIndex( 0 ) );
}
@@ -217,7 +217,7 @@ public class ChartTypeChange {
System.err.println( exception );
}
}
-
+
/** Creating an empty OpenOffice.org Calc document, inserting data, and getting a
* chart by name.
* @param stringValues Double array with the values for the chart.
@@ -233,27 +233,27 @@ public class ChartTypeChange {
xMCF.createInstanceWithContext(
"com.sun.star.frame.Desktop",
xCompContext ) );
-
+
// Create an empty calc document, which will be automaticly displayed
XComponent xComponent = xcomponentloader.loadComponentFromURL(
"private:factory/scalc", "_blank", 0,
new PropertyValue[0] );
-
+
// Query for the interface XSpreadsheetDocument
XSpreadsheetDocument xspreadsheetdocument = ( XSpreadsheetDocument )
UnoRuntime.queryInterface( XSpreadsheetDocument.class, xComponent );
-
+
// Get all sheets of the spreadsheet document.
XSpreadsheets xspreadsheets = xspreadsheetdocument.getSheets() ;
-
+
// Get the index of the spreadsheet document.
XIndexAccess xindexaccess = (XIndexAccess) UnoRuntime.queryInterface(
XIndexAccess.class, xspreadsheets );
-
+
// Get the first spreadsheet.
XSpreadsheet xspreadsheet = (XSpreadsheet) UnoRuntime.queryInterface(
XSpreadsheet.class, xindexaccess.getByIndex(0));
-
+
// The double array will written to the spreadsheet
for ( int intY = 0; intY < stringValues.length; intY++ ) {
for ( int intX = 0; intX < stringValues[ intY ].length;
@@ -263,21 +263,21 @@ public class ChartTypeChange {
stringValues[ intY ][ intX ], xspreadsheet, "" );
}
}
-
+
// Create a rectangle, which holds the size of the chart.
Rectangle rectangle = new Rectangle();
rectangle.X = 500;
rectangle.Y = 3000;
rectangle.Width = 25000;
rectangle.Height = 11000;
-
+
// Get the cell range of the spreadsheet.
XCellRange xcellrange = ( XCellRange ) UnoRuntime.queryInterface(
XCellRange.class, xspreadsheet );
-
+
// Create the Unicode of the character for the column name.
char charRectangle = ( char ) ( 65 + stringValues.length - 1 );
-
+
// Get maximum length all rows in the double array.
int intMaximumWidthRow = 0;
for ( int intRow = 0; intRow < stringValues.length; intRow++ ) {
@@ -285,35 +285,35 @@ public class ChartTypeChange {
intMaximumWidthRow = stringValues[ intRow ].length;
}
}
-
+
// Get the cell range of the written values.
XCellRange xcellrangeChart = xcellrange.getCellRangeByName( "A1:" +
charRectangle + intMaximumWidthRow );
-
+
// Get the addressable cell range.
XCellRangeAddressable xcellrangeaddressable =
( XCellRangeAddressable ) UnoRuntime.queryInterface(
XCellRangeAddressable.class, xcellrangeChart );
-
+
// Get the cell range address.
CellRangeAddress cellrangeaddress = xcellrangeaddressable.getRangeAddress();
-
+
// Create the cell range address for the chart.
CellRangeAddress[] cellrangeaddressChart =
new CellRangeAddress[ 1 ];
cellrangeaddressChart[ 0 ] = cellrangeaddress;
-
+
// Get the table charts supplier of the spreadsheet.
XTableChartsSupplier xtablechartssupplier = ( XTableChartsSupplier )
UnoRuntime.queryInterface( XTableChartsSupplier.class, xspreadsheet );
-
+
// Get all table charts of the spreadsheet.
XTableCharts xtablecharts = xtablechartssupplier.getCharts();
-
+
// Create a table chart with all written values.
xtablecharts.addNewByName( "Example", rectangle,
cellrangeaddressChart, true, true );
-
+
// Get the created table chart.
this.xtablechart = ( XTableChart ) UnoRuntime.queryInterface(
XTableChart.class, (( XNameAccess ) UnoRuntime.queryInterface(
@@ -323,7 +323,7 @@ public class ChartTypeChange {
System.err.println( exception );
}
}
-
+
/** Inserting a given value to a cell, that is specified by the parameters intX
* and intY.
* @param intX Column on the spreadsheet.
@@ -338,7 +338,7 @@ public class ChartTypeChange {
XSpreadsheet xspreadsheet, String stringFlag )
{
XCell xcell = null;
-
+
try {
xcell = xspreadsheet.getCellByPosition( intX, intY );
}