<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
    <module-name>sc</module-name>
    <component-description>
        <author>Niklas Nebel</author>
        <name>com.sun.star.comp.office.ScViewPaneObj</name>
        <description>
	This component provides access to a single pane in a view of a spreadsheet document.
</description>
        <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
        <language>c++</language>
        <status value="final"/>
        <supported-service>com.sun.star.sheet.SpreadsheetViewPane</supported-service>
        <type>com.sun.star.awt.DeviceInfo</type>
        <type>com.sun.star.awt.FocusEvent</type>
        <type>com.sun.star.awt.FontDescriptor</type>
        <type>com.sun.star.awt.FontSlant</type>
        <type>com.sun.star.awt.Gradient</type>
        <type>com.sun.star.awt.GradientStyle</type>
        <type>com.sun.star.awt.InputEvent</type>
        <type>com.sun.star.awt.KeyEvent</type>
        <type>com.sun.star.awt.MouseEvent</type>
        <type>com.sun.star.awt.PaintEvent</type>
        <type>com.sun.star.awt.Point</type>
        <type>com.sun.star.awt.RasterOperation</type>
        <type>com.sun.star.awt.Rectangle</type>
        <type>com.sun.star.awt.SimpleFontMetric</type>
        <type>com.sun.star.awt.Size</type>
        <type>com.sun.star.awt.WindowClass</type>
        <type>com.sun.star.awt.WindowDescriptor</type>
        <type>com.sun.star.awt.WindowEvent</type>
        <type>com.sun.star.awt.XBitmap</type>
        <type>com.sun.star.awt.XControl</type>
        <type>com.sun.star.awt.XControlContainer</type>
        <type>com.sun.star.awt.XControlModel</type>
        <type>com.sun.star.awt.XDevice</type>
        <type>com.sun.star.awt.XDisplayBitmap</type>
        <type>com.sun.star.awt.XFocusListener</type>
        <type>com.sun.star.awt.XFont</type>
        <type>com.sun.star.awt.XGraphics</type>
        <type>com.sun.star.awt.XImageConsumer</type>
        <type>com.sun.star.awt.XImageProducer</type>
        <type>com.sun.star.awt.XKeyListener</type>
        <type>com.sun.star.awt.XMouseListener</type>
        <type>com.sun.star.awt.XMouseMotionListener</type>
        <type>com.sun.star.awt.XPaintListener</type>
        <type>com.sun.star.awt.XPointer</type>
        <type>com.sun.star.awt.XRegion</type>
        <type>com.sun.star.awt.XTabController</type>
        <type>com.sun.star.awt.XTabControllerModel</type>
        <type>com.sun.star.awt.XToolkit</type>
        <type>com.sun.star.awt.XView</type>
        <type>com.sun.star.awt.XWindow</type>
        <type>com.sun.star.awt.XWindowListener</type>
        <type>com.sun.star.awt.XWindowPeer</type>
        <type>com.sun.star.beans.Property</type>
        <type>com.sun.star.beans.PropertyChangeEvent</type>
        <type>com.sun.star.beans.PropertyState</type>
        <type>com.sun.star.beans.PropertyValue</type>
        <type>com.sun.star.beans.PropertyVetoException</type>
        <type>com.sun.star.beans.UnknownPropertyException</type>
        <type>com.sun.star.beans.XPropertyChangeListener</type>
        <type>com.sun.star.beans.XPropertySet</type>
        <type>com.sun.star.beans.XPropertySetInfo</type>
        <type>com.sun.star.beans.XPropertyState</type>
        <type>com.sun.star.beans.XVetoableChangeListener</type>
        <type>com.sun.star.chart.ChartDataChangeEvent</type>
        <type>com.sun.star.chart.ChartDataChangeType</type>
        <type>com.sun.star.chart.XChartData</type>
        <type>com.sun.star.chart.XChartDataArray</type>
        <type>com.sun.star.chart.XChartDataChangeEventListener</type>
        <type>com.sun.star.container.ElementExistException</type>
        <type>com.sun.star.container.NoSuchElementException</type>
        <type>com.sun.star.container.XChild</type>
        <type>com.sun.star.container.XElementAccess</type>
        <type>com.sun.star.container.XEnumeration</type>
        <type>com.sun.star.container.XEnumerationAccess</type>
        <type>com.sun.star.container.XIndexAccess</type>
        <type>com.sun.star.container.XNameAccess</type>
        <type>com.sun.star.container.XNameContainer</type>
        <type>com.sun.star.container.XNameReplace</type>
        <type>com.sun.star.container.XNamed</type>
        <type>com.sun.star.drawing.ConnectionType</type>
        <type>com.sun.star.drawing.PolygonKind</type>
        <type>com.sun.star.drawing.XConnectableShape</type>
        <type>com.sun.star.drawing.XConnectorShape</type>
        <type>com.sun.star.drawing.XControlShape</type>
        <type>com.sun.star.drawing.XDrawPage</type>
        <type>com.sun.star.drawing.XDrawPageSupplier</type>
        <type>com.sun.star.drawing.XShape</type>
        <type>com.sun.star.drawing.XShapeBinder</type>
        <type>com.sun.star.drawing.XShapeCombiner</type>
        <type>com.sun.star.drawing.XShapeDescriptor</type>
        <type>com.sun.star.drawing.XShapeGroup</type>
        <type>com.sun.star.drawing.XShapeGrouper</type>
        <type>com.sun.star.drawing.XShapes</type>
        <type>com.sun.star.form.XForm</type>
        <type>com.sun.star.form.XFormComponent</type>
        <type>com.sun.star.form.XFormController</type>
        <type>com.sun.star.form.XFormControllerListener</type>
        <type>com.sun.star.form.XFormsSupplier</type>
        <type>com.sun.star.form.XImageProducerSupplier</type>
        <type>com.sun.star.frame.DispatchDescriptor</type>
        <type>com.sun.star.frame.FeatureStateEvent</type>
        <type>com.sun.star.frame.FrameAction</type>
        <type>com.sun.star.frame.FrameActionEvent</type>
        <type>com.sun.star.frame.XController</type>
        <type>com.sun.star.frame.XDispatch</type>
        <type>com.sun.star.frame.XDispatchProvider</type>
        <type>com.sun.star.frame.XFrame</type>
        <type>com.sun.star.frame.XFrameActionListener</type>
        <type>com.sun.star.frame.XFrames</type>
        <type>com.sun.star.frame.XFramesSupplier</type>
        <type>com.sun.star.frame.XModel</type>
        <type>com.sun.star.frame.XStatusListener</type>
        <type>com.sun.star.lang.EventObject</type>
        <type>com.sun.star.lang.IllegalArgumentException</type>
        <type>com.sun.star.lang.IndexOutOfBoundsException</type>
        <type>com.sun.star.lang.Locale</type>
        <type>com.sun.star.lang.NoSupportException</type>
        <type>com.sun.star.lang.WrappedTargetException</type>
        <type>com.sun.star.lang.XComponent</type>
        <type>com.sun.star.lang.XEventListener</type>
        <type>com.sun.star.lang.XMultiServiceFactory</type>
        <type>com.sun.star.lang.XServiceInfo</type>
        <type>com.sun.star.lang.XSingleServiceFactory</type>
        <type>com.sun.star.lang.XTypeProvider</type>
        <type>com.sun.star.lang.XUnoTunnel</type>
        <type>com.sun.star.registry.InvalidRegistryException</type>
        <type>com.sun.star.registry.InvalidValueException</type>
        <type>com.sun.star.registry.RegistryKeyType</type>
        <type>com.sun.star.registry.RegistryValueType</type>
        <type>com.sun.star.registry.XRegistryKey</type>
        <type>com.sun.star.sheet.CellDeleteMode</type>
        <type>com.sun.star.sheet.CellInsertMode</type>
        <type>com.sun.star.sheet.FillDateMode</type>
        <type>com.sun.star.sheet.FillDirection</type>
        <type>com.sun.star.sheet.FillMode</type>
        <type>com.sun.star.sheet.FilterConnection</type>
        <type>com.sun.star.sheet.FilterOperator</type>
        <type>com.sun.star.sheet.GeneralFunction</type>
        <type>com.sun.star.sheet.SheetLinkMode</type>
        <type>com.sun.star.sheet.SubTotalColumn</type>
        <type>com.sun.star.sheet.TableFilterField</type>
        <type>com.sun.star.sheet.TableOperationMode</type>
        <type>com.sun.star.sheet.TablePageBreakData</type>
        <type>com.sun.star.sheet.XArrayFormulaRange</type>
        <type>com.sun.star.sheet.XCellAddressable</type>
        <type>com.sun.star.sheet.XCellFormatRangesSupplier</type>
        <type>com.sun.star.sheet.XCellRangeAddressable</type>
        <type>com.sun.star.sheet.XCellRangeMovement</type>
        <type>com.sun.star.sheet.XCellRangeReferrer</type>
        <type>com.sun.star.sheet.XCellRangesQuery</type>
        <type>com.sun.star.sheet.XCellSeries</type>
        <type>com.sun.star.sheet.XDataPilotDescriptor</type>
        <type>com.sun.star.sheet.XDataPilotTables</type>
        <type>com.sun.star.sheet.XDataPilotTablesSupplier</type>
        <type>com.sun.star.sheet.XFormulaQuery</type>
        <type>com.sun.star.sheet.XMultipleOperation</type>
        <type>com.sun.star.sheet.XPrintAreas</type>
        <type>com.sun.star.sheet.XScenario</type>
        <type>com.sun.star.sheet.XScenarios</type>
        <type>com.sun.star.sheet.XScenariosSupplier</type>
        <type>com.sun.star.sheet.XSheetAnnotation</type>
        <type>com.sun.star.sheet.XSheetAnnotationAnchor</type>
        <type>com.sun.star.sheet.XSheetAnnotations</type>
        <type>com.sun.star.sheet.XSheetAnnotationsSupplier</type>
        <type>com.sun.star.sheet.XSheetAuditing</type>
        <type>com.sun.star.sheet.XSheetCellCursor</type>
        <type>com.sun.star.sheet.XSheetCellRange</type>
        <type>com.sun.star.sheet.XSheetCellRanges</type>
        <type>com.sun.star.sheet.XSheetFilterDescriptor</type>
        <type>com.sun.star.sheet.XSheetFilterable</type>
        <type>com.sun.star.sheet.XSheetFilterableEx</type>
        <type>com.sun.star.sheet.XSheetLinkable</type>
        <type>com.sun.star.sheet.XSheetOperation</type>
        <type>com.sun.star.sheet.XSheetOutline</type>
        <type>com.sun.star.sheet.XSheetPageBreak</type>
        <type>com.sun.star.sheet.XSpreadsheet</type>
        <type>com.sun.star.sheet.XSpreadsheetView</type>
        <type>com.sun.star.sheet.XSubTotalCalculatable</type>
        <type>com.sun.star.sheet.XSubTotalDescriptor</type>
        <type>com.sun.star.sheet.XViewFreezable</type>
        <type>com.sun.star.sheet.XViewPane</type>
        <type>com.sun.star.sheet.XViewSplitable</type>
        <type>com.sun.star.table.CellAddress</type>
        <type>com.sun.star.table.CellContentType</type>
        <type>com.sun.star.table.CellRangeAddress</type>
        <type>com.sun.star.table.TableOrientation</type>
        <type>com.sun.star.table.XAutoFormattable</type>
        <type>com.sun.star.table.XCell</type>
        <type>com.sun.star.table.XCellRange</type>
        <type>com.sun.star.table.XColumnRowRange</type>
        <type>com.sun.star.table.XTableCharts</type>
        <type>com.sun.star.table.XTableChartsSupplier</type>
        <type>com.sun.star.table.XTableColumns</type>
        <type>com.sun.star.table.XTableRows</type>
        <type>com.sun.star.text.XSimpleText</type>
        <type>com.sun.star.text.XText</type>
        <type>com.sun.star.text.XTextContent</type>
        <type>com.sun.star.text.XTextCursor</type>
        <type>com.sun.star.text.XTextFieldsSupplier</type>
        <type>com.sun.star.text.XTextRange</type>
        <type>com.sun.star.uno.Any</type>
        <type>com.sun.star.uno.Exception</type>
        <type>com.sun.star.uno.Reference</type>
        <type>com.sun.star.uno.RuntimeException</type>
        <type>com.sun.star.uno.Sequence</type>
        <type>com.sun.star.uno.Type</type>
        <type>com.sun.star.uno.TypeClass</type>
        <type>com.sun.star.uno.XAdapter</type>
        <type>com.sun.star.uno.XAggregation</type>
        <type>com.sun.star.uno.XInterface</type>
        <type>com.sun.star.uno.XReference</type>
        <type>com.sun.star.uno.XWeak</type>
        <type>com.sun.star.uno.genfunc</type>
        <type>com.sun.star.util.URL</type>
        <type>com.sun.star.util.XImportable</type>
        <type>com.sun.star.util.XIndent</type>
        <type>com.sun.star.util.XMergeable</type>
        <type>com.sun.star.util.XProtectable</type>
        <type>com.sun.star.util.XReplaceDescriptor</type>
        <type>com.sun.star.util.XReplaceable</type>
        <type>com.sun.star.util.XSearchDescriptor</type>
        <type>com.sun.star.util.XSearchable</type>
        <type>com.sun.star.util.XSortable</type>
        <type>com.sun.star.view.XControlAccess</type>
        <type>com.sun.star.view.XSelectionChangeListener</type>
        <type>com.sun.star.view.XSelectionSupplier</type>
    </component-description>
    <project-build-dependency>cppu</project-build-dependency>
    <project-build-dependency>cppuhelper</project-build-dependency>
    <project-build-dependency>goodies</project-build-dependency>
    <project-build-dependency>osl</project-build-dependency>
    <project-build-dependency>rsc</project-build-dependency>
    <project-build-dependency>rtl</project-build-dependency>
    <project-build-dependency>sal</project-build-dependency>
    <project-build-dependency>sfx2</project-build-dependency>
    <project-build-dependency>sot</project-build-dependency>
    <project-build-dependency>stl</project-build-dependency>
    <project-build-dependency>svtools</project-build-dependency>
    <project-build-dependency>svx</project-build-dependency>
    <project-build-dependency>tools</project-build-dependency>
    <project-build-dependency>typelib</project-build-dependency>
    <project-build-dependency>uno</project-build-dependency>
    <project-build-dependency>unotools</project-build-dependency>
    <project-build-dependency>vcl</project-build-dependency>
    <project-build-dependency>vos</project-build-dependency>
</module-description>
