Author: cmarcum
Date: Sat Feb 27 04:19:50 2016
New Revision: 1732601
URL: http://svn.apache.org/viewvc?rev=1732601&view=rev
Log:
#i126770#
added author tag
removed getComponent Loader
rearainged some methods ordering
Modified:
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
Modified:
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
URL:
http://svn.apache.org/viewvc/openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy?rev=1732601&r1=1732600&r2=1732601&view=diff
==============================================================================
---
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
(original)
+++
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
Sat Feb 27 04:19:50 2016
@@ -22,6 +22,11 @@
package org.openoffice.guno
+/**
+ *
+ * @author Carl Marcum - CodeBuilders.net
+ */
+
import com.sun.star.beans.XPropertySet
import com.sun.star.container.ElementExistException
import com.sun.star.container.XEnumeration
@@ -56,89 +61,62 @@ import com.sun.star.uno.XInterface
*/
class SpreadsheetExtension {
- /** Returns the component loader
- @return XComponentLoader interface */
- static XComponentLoader getComponentLoader(final XComponentContext self) {
-
- XMultiComponentFactory mxRemoteServiceManager = null
- XComponentLoader aLoader = null
-
- try {
- mxRemoteServiceManager = self.getServiceManager()
- aLoader = UnoRuntime.queryInterface(
- XComponentLoader.class,
mxRemoteServiceManager.createInstanceWithContext(
- "com.sun.star.frame.Desktop", self))
-
- } catch (Exception ex) {
- System.err.println("Error: caught exception in
getComponentLoader()!\nException Message = "
- + ex.getMessage())
- ex.printStackTrace()
- }
- return aLoader
- }
+
/** Returns the spreadsheet document with the specified index component
context
- @param mxRemoteContext the remote context.
- @return XSpreadsheetDocument interface of the spreadsheet document. */
+ * @param mxRemoteContext the remote context.
+ * @return XSpreadsheetDocument interface of the spreadsheet document.
+ */
static XSpreadsheetDocument getSpreadsheetDocument(final XComponent self,
XComponentContext mxRemoteContext) {
XSpreadsheetDocument xSpreadsheetDocument = null
- try {
+ xSpreadsheetDocument = UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class, self)
- xSpreadsheetDocument = UnoRuntime.queryInterface(
- XSpreadsheetDocument.class, self)
- } catch (Exception ex) {
- System.err.println("Error: caught exception in
getSpreadsheetDocument()!\nException Message = "
- + ex.getMessage())
- ex.printStackTrace()
- }
return xSpreadsheetDocument
}
+ /* XSpreadsheetDocument methods
*******************************************/
+
/** Returns the spreadsheet with the specified index (0-based).
- @param nIndex The index of the sheet.
- @return XSpreadsheet interface of the sheet. */
+ * @param nIndex The index of the sheet.
+ * @return XSpreadsheet interface of the sheet.
+ */
static XSpreadsheet getSheetByIndex(final XSpreadsheetDocument self,
Integer nIndex) {
// Collection of sheets
XSpreadsheets xSheets = self.getSheets()
XSpreadsheet xSheet = null
- try {
- XIndexAccess xSheetsIA = UnoRuntime.queryInterface(
- XIndexAccess.class, xSheets)
- xSheet = UnoRuntime.queryInterface(
- XSpreadsheet.class, xSheetsIA.getByIndex(nIndex))
- } catch (Exception ex) {
- System.err.println("Error: caught exception in
getSpreadsheet()!\nException Message = "
- + ex.getMessage())
- ex.printStackTrace()
- }
+
+ XIndexAccess xSheetsIA = UnoRuntime.queryInterface(
+ XIndexAccess.class, xSheets)
+ xSheet = UnoRuntime.queryInterface(
+ XSpreadsheet.class, xSheetsIA.getByIndex(nIndex))
+
return xSheet
}
/** Returns the spreadsheet with the specified name.
- @param name The name of the sheet.
- @return XSpreadsheet interface of the sheet. */
+ * @param name The name of the sheet.
+ * @return XSpreadsheet interface of the sheet.
+ */
static XSpreadsheet getSheetByName(final XSpreadsheetDocument self, String
name) {
// Collection of sheets
XSpreadsheets xSheets = self.getSheets()
XSpreadsheet xSpreadsheet = null
- try {
- Object sheet = xSheets.getByName(name)
- // removed cast from right side
- xSpreadsheet = UnoRuntime.queryInterface(XSpreadsheet.class, sheet)
- } catch (Exception e) {
- System.err.println(" Exception " + e)
- e.printStackTrace(System.err)
- }
+ Object sheet = xSheets.getByName(name)
+ // removed cast from right side
+ xSpreadsheet = UnoRuntime.queryInterface(XSpreadsheet.class, sheet)
+
return xSpreadsheet
}
/** Returns a sheet cell range container.
- @return XSheetCellRangeContainer a sheet cell range container of the
sheet. */
+ * @return XSheetCellRangeContainer a sheet cell range container of the
sheet.
+ */
static XSheetCellRangeContainer getRangeContainer(final
XSpreadsheetDocument self) {
XMultiServiceFactory xDocFactory = UnoRuntime.queryInterface(
XMultiServiceFactory.class, self)
@@ -147,17 +125,97 @@ class SpreadsheetExtension {
return result
}
- /** Returns the cell ranges matching the specified type.
- @param type a combination of CellFlags flags.
- @return Object all cells of the current cell range(s) with the specified
content type(s). */
+ /** Returns the style families supplier
+ * @return XStyleFamiliesSupplier the style families supplier of the
spreadsheet document.
+ */
+ static XStyleFamiliesSupplier getStyleFamiliesSupplier(final
XSpreadsheetDocument self) {
+ XStyleFamiliesSupplier result =
UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, self)
+ return result
+ }
+
+ /** Returns the property set of the cell style if it exists. If not the
the cell style is
+ * created and it's property set is returned.
+ * @param cellStyle the name of the cell style to return the property set
of.
+ * @return XPropertySet the property set of the cell style.
+ */
+ static XPropertySet getCellStylePropertySet(final XSpreadsheetDocument
self, String cellStyle) {
+
+ XStyleFamiliesSupplier xSFS =
UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, self)
+ XNameAccess xSF = xSFS.getStyleFamilies()
+ // get the cell styles
+ XNameAccess xCS = UnoRuntime.queryInterface(XNameAccess.class,
xSF.getByName("CellStyles"))
+
+ // see if cellStyle exists
+ if (xCS.hasByName(cellStyle)) {
+ // get the property set
+ Object oCS = xCS.getByName(cellStyle)
+
+ XPropertySet result =
UnoRuntime.queryInterface(XPropertySet.class, oCS);
+ return result
+
+ } else {
+ // add cell style and return property set
+ // get the service factory
+ XMultiServiceFactory oDocMSF =
UnoRuntime.queryInterface(XMultiServiceFactory.class, self)
+ // get the name container
+ XNameContainer oStyleFamilyNameContainer =
UnoRuntime.queryInterface(XNameContainer.class, xCS)
+ // create the interface
+ XInterface oInt1 =
oDocMSF.createInstance("com.sun.star.style.CellStyle")
+
+ // insert style
+ oStyleFamilyNameContainer.insertByName(cellStyle, oInt1)
+
+ // get the property set
+ XPropertySet result =
UnoRuntime.queryInterface(XPropertySet.class, oInt1);
+ return result
+ }
+
+ }
+
+ /* XSpreadsheet methods *************************************************/
+
+ /**
+ * Returns the cell ranges matching the specified type.
+ * @param type a combination of CellFlags flags.
+ * @return Object all cells of the current cell range(s) with the
specified content type(s).
+ */
static XSheetCellRanges getCellRanges(final XSpreadsheet self, Object
type) {
XCellRangesQuery xCellQuery =
UnoRuntime.queryInterface(XCellRangesQuery.class, self)
XSheetCellRanges result = xCellQuery.queryContentCells((short) type)
return result
}
+ /**
+ * Inserts a formula (string) value into the cell specified by column and
row.
+ * @param column zero based column position.
+ * @param row zero based row position.
+ * @param value the string value to insert.
+ */
+ static void insertFormulaIntoCell(final XSpreadsheet self, int column, int
row, String value) {
+
+ XCell xCell = null
+ xCell = self.getCellByPosition(column, row)
+ xCell.setFormula(value)
+ }
+
+ /**
+ * Inserts a float value into the cell specified by column and row.
+ * @param column zero based column position.
+ * @param row zero based row position.
+ * @param value the float value to insert.
+ */
+ static void insertValueIntoCell(final XSpreadsheet self, int column, int
row, float value) {
+
+ XCell xCell = null
+ xCell = self.getCellByPosition(column, row)
+ xCell.setValue((new Float(value)).floatValue())
+ }
+
+ /* XSheetCellRanges methods **********************************************/
+
/** Returns a list of XCells contained in the range.
- @return List < XCell > list of XCells contained in the range. */
+ * @return List < XCell > list of XCells contained in the range.
+ */
static List<XCell> getCellList(final XSheetCellRanges self) {
def result = []
XEnumerationAccess xFormulas = self.cells
@@ -170,8 +228,11 @@ class SpreadsheetExtension {
return result
}
+ /* XSheetCellRangeContainer methods **************************************/
+
/** Returns a list of XCells contained in the range container.
- @return List < XCell > list of XCells contained in the range container.
*/
+ * @return List < XCell > list of XCells contained in the range container.
+ */
static List<XCell> getCellList(final XSheetCellRangeContainer self) {
def result = []
XEnumerationAccess xFormulas = self.cells
@@ -184,9 +245,21 @@ class SpreadsheetExtension {
return result
}
+
+
+ // XCellRange method for getPropertySet
+ // maybe try XPropertySet.getPropertySet (class self)
+
+ // TEST
+
+
+
+ /* XCell methods *********************************************************/
+
/** Sets the specified property with the value.
- @param prop The name of the property to set.
- @param value The value to set. */
+ * @param prop The name of the property to set.
+ * @param value The value to set.
+ */
static void setPropertyValue(final XCell self, String prop, Object value) {
XPropertySet xCellProps = UnoRuntime.queryInterface(
XPropertySet.class, self)
@@ -194,8 +267,9 @@ class SpreadsheetExtension {
}
/** Returns the value of the property.
- @param prop The name of the property to get.
- @return Object value of a type determined by the property. */
+ * @param prop The name of the property to get.
+ * @return Object value of a type determined by the property.
+ */
static Object getPropertyValue(final XCell self, String prop) {
XPropertySet xCellProps = UnoRuntime.queryInterface(
XPropertySet.class, self)
@@ -204,84 +278,36 @@ class SpreadsheetExtension {
}
/** Sets the CellStyle property with the value.
- @param value The value to set. */
+ * @param value The value to set.
+ */
static void setCellStyle(final XCell self, Object value) {
self.setPropertyValue("CellStyle", value)
}
/** Sets the VertJustify property with the value.
- @param value The value to set. */
+ * @param value The value to set.
+ */
static void setVertJustify(final XCell self, Object value) {
self.setPropertyValue("VertJustify", value)
}
/** Returns the value of the VertJustify property.
- @return Integer value of a type detemined by the property. */
+ * @return Integer value of a type detemined by the property.
+ */
static Integer getVertJustify(final XCell self) {
int result = self.getPropertyValue("VertJustify").value
return result
}
/** Returns the cell address of the cell.
- @return CellAddress the cell address within the spreadsheet document */
+ * @return CellAddress the cell address within the spreadsheet document.
+ */
static CellAddress getAddress(final XCell self) {
XCellAddressable xCellAddressable =
UnoRuntime.queryInterface(XCellAddressable.class, self)
CellAddress result = xCellAddressable.getCellAddress()
return result
}
- /** Returns the style families supplier
- @return XStyleFamiliesSupplier the style families supplier of the
spreadsheet document */
- static XStyleFamiliesSupplier getStyleFamiliesSupplier(final
XSpreadsheetDocument self) {
- XStyleFamiliesSupplier result =
UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, self)
- return result
- }
-
- /** Returns the property set of the cell style if it exists. If not the
the cell style is
- * created and it's property set is returned.
- * @param cellStyle the name of the cell style to return the property set
of.
- * @return XPropertySet the property set of the cell style */
- static XPropertySet getCellStylePropertySet(final XSpreadsheetDocument
self, String cellStyle) {
-
- try {
- XStyleFamiliesSupplier xSFS =
UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, self)
- XNameAccess xSF = xSFS.getStyleFamilies()
- // get the cell styles
- XNameAccess xCS = UnoRuntime.queryInterface(XNameAccess.class,
xSF.getByName("CellStyles"))
-
- // see if cellStyle exists
- if (xCS.hasByName(cellStyle)) {
- // get the property set
- Object oCS = xCS.getByName(cellStyle)
-
- XPropertySet result =
UnoRuntime.queryInterface(XPropertySet.class, oCS);
- return result
-
- } else {
- // add cell style and return property set
- // get the service factory
- XMultiServiceFactory oDocMSF =
UnoRuntime.queryInterface(XMultiServiceFactory.class, self)
- // get the name container
- XNameContainer oStyleFamilyNameContainer =
UnoRuntime.queryInterface(XNameContainer.class, xCS)
- // create the interface
- XInterface oInt1 =
oDocMSF.createInstance("com.sun.star.style.CellStyle")
-
- // insert style
- oStyleFamilyNameContainer.insertByName(cellStyle, oInt1)
-
- // get the property set
- XPropertySet result =
UnoRuntime.queryInterface(XPropertySet.class, oInt1);
- return result
- }
-
- } catch (all) {
- System.err.println("Error: caught exception in
getCellStylePropertySet()!\nException Message = "
- + all.getMessage())
- all.printStackTrace()
- }
-
- }
-
}