/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
 */
#ifndef __com_sun_star_chart_XChartDataArray_idl__
#define __com_sun_star_chart_XChartDataArray_idl__

#include <com/sun/star/chart/XChartData.idl>


 module com {  module sun {  module star {  module chart {


/** gives access to data represented as an array of rows.

    <p>Can be obtained from interface XChartDocument via method getData().</p>

    <p>If used for an XYDiagram, the row number 0
    represents the <i>x</i>-values.</p>
 */
published interface XChartDataArray: XChartData
{

    /** retrieves the numerical data as a nested sequence of values.

        @returns
            the values as a sequence of sequences.  The inner sequence
            represents rows.
    */
    sequence< sequence< double > > getData();


    /** sets the chart data as an array of numbers.

        @param aData
            the values as a sequence of sequences.  The inner sequence
            represents rows.
     */
    void setData( [in] sequence< sequence< double > > aData );


    /** retrieves the description texts for all rows.

        @returns
            a sequence of strings, each representing the description
            of a row.
     */
    sequence< string > getRowDescriptions();


    /** sets the description texts for all rows.

        @param aRowDescriptions
            a sequence of strings which represent a description for
            each row.
    */
    void setRowDescriptions( [in] sequence< string > aRowDescriptions );


    /** retrieves the description texts for all columns.

        @returns
            a sequence of strings, each representing the description
            of a column.
     */
    sequence< string > getColumnDescriptions();


    /** sets the description texts for all columns.

        @param aColumnDescriptions
            a sequence of strings which represent a description for
            each column.
     */
    void setColumnDescriptions( [in] sequence< string > aColumnDescriptions );
};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
