/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __ooo_vba_excel_XRange_idl__
#define __ooo_vba_excel_XRange_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif
#ifndef __com_sun_star_container_XEnumerationAccess_idl__
#include <com/sun/star/container/XEnumerationAccess.idl>
#endif
#ifndef __com_sun_star_script_XDefaultProperty_idl__
#include <com/sun/star/script/XDefaultProperty.idl>
#endif
#ifndef __com_sun_star_script_XDefaultMethod_idl__
#include <com/sun/star/script/XDefaultMethod.idl>
#endif
#ifndef __com_sun_star_script_XErrorQuery_idl__
#include <com/sun/star/script/XErrorQuery.idl>
#endif
#ifndef __ooo_vba_XCollection_idl__
#include <ooo/vba/XCollection.idl>
#endif
#ifndef __ooo_vba_excel_XFormat_idl__
#include <ooo/vba/excel/XFormat.idl>
#endif
#ifndef __ooo_vba_XHelperInterface_idl__
#include <ooo/vba/XHelperInterface.idl>
#endif
#ifndef __com_sun_star_helper_script_BasicErrorException_idl__
#include <com/sun/star/script/BasicErrorException.idl>
#endif
//=============================================================================

module ooo {  module vba {  module excel {

interface XFont;
interface XRows;
interface XColumns;
interface XComment;

interface XInterior;
interface XCharacters;
interface XBorders;
interface XValidation;
interface XWorksheet;

interface XPivotTable;
interface XQueryTable;
interface XRange
{
     interface com::sun::star::container::XEnumerationAccess;
    interface com::sun::star::script::XDefaultMethod;
    interface com::sun::star::script::XDefaultProperty;
    interface com::sun::star::script::XErrorQuery;
    interface ::ooo::vba::excel::XFormat;
    //interface ::ooo::vba::XHelperInterface;

    [attribute, readonly] any Name;
    [attribute] any Value;
    [attribute] any Formula;
    [attribute] any FormulaArray;
    [attribute] any FormulaR1C1;
    [attribute, readonly] long  Count;
    [attribute, readonly] long Row;
    [attribute, readonly] long Column;
    [attribute, readonly] string Text;
    [attribute, readonly] XRange EntireRow;
    [attribute, readonly] XRange EntireColumn;
    [attribute, readonly] XComment Comment;
    [attribute] any Hidden;
    [attribute] any ColumnWidth;
    [attribute, readonly ] any Width;
    [attribute, readonly] XWorksheet Worksheet;
    [attribute] any RowHeight;
    [attribute, readonly ] any Height;
    [attribute, readonly ] any Top;
    [attribute, readonly ] any Left;
    [attribute] any PageBreak;
    [attribute, readonly] XValidation Validation;
    [attribute, readonly] any PrefixCharacter;
    [attribute] any Style;
    [attribute] any AddIndent;
    [attribute] any ShowDetail;
    [attribute, readonly] XQueryTable QueryTable;

    XComment AddComment( [in] any Text );
    void Clear();
    void ClearComments();
    void ClearContents();
    void ClearFormats();
    any HasFormula();
    void FillLeft();
    void FillRight();
    void FillUp();
    void FillDown();
    XRange Item([in] any row, [in] any column) raises(com::sun::star::script::BasicErrorException);
    XRange Offset([in] any RowOffset, [in] any ColumnOffset);
    XRange CurrentRegion();
    XRange CurrentArray();
    string Characters([in] any Start, [in] any Length);
    string Address( [in] any RowAbsolute, [in] any ColumnAbsolute, [in] any ReferenceStyle, [in] any External, [in] any RelativeTo );
    XRange Cells([in] any RowIndex, [in] any ColumnIndex);
    void Select();
    void AutoOutline() raises(com::sun::star::script::BasicErrorException);
    void Activate();
    XRange Rows( [in] any RowIndex );
    void Calculate() raises(com::sun::star::script::BasicErrorException);
    XRange Columns( [in] any ColumnIndex );
    void Copy([in] any Destination);
    void Cut([in] any Destination);
    XRange Resize( [in] any RowSize, [in] any ColumnSize );
    XRange Range( [in] any Cell1, [in] any Cell2 );
    any getCellRange();
    void PasteSpecial([in] any Paste, [in] any Operation,[in] any SkipBlanks, [in] any Transpose);
    boolean  Replace( [in] string What, [in] string Replacement, [in] any LookAt, [in] any SearchOrder, [in] any MatchCase, [in] any MatchByte, [in] any SearchFormat, [in] any ReplaceFormat );
    XRange Find( [in] any What, [in] any After, [in] any LookIn, [in] any LookAt, [in] any SearchOrder, [in] any SearchDirection, [in] any MatchCase, [in] any MatchByte, [in] any SearchFormat );

    void Sort( [in] any Key1, [in] any Order1, [in] any Key2, [in] any Type,
        [in] any Order2, [in] any Key3, [in] any Order3,
        [in] any Header, [in] any OrderCustom, [in] any MatchCase,
        [in] any Orientation, [in] any SortMethod, [in] any DataOption1,
        [in] any DataOption2, [in] any DataOption3 );
    XRange End( [in] long Direction );
    // bizarely I have to define Character method as character otherwise
    // idl complains
    XCharacters characters([in] any Start, [in] any Length);
    void Delete( [in] any Shift );

    any Areas( [in] any item );
    any BorderAround( [in] any LineStyle, [in] any Weight, [in] any ColorIndex, [in] any Color );
        void AutoFilter([in ] any Field, [in] any Criteria1, [in] any Operator, [in] any Criteria2, [in] any VisibleDropDown);
        void Insert([in] any Shift, [in] any CopyOrigin);
        void Autofit();
    void PrintOut([in] any From, [in] any To, [in] any Copies, [in] any Preview, [in] any ActivePrinter, [in] any PrintToFile, [in] any Collate, [in] any PrToFileName);
    void AutoFill( [in] XRange Destination, [in] any Type );
    boolean GoalSeek( [in] any Goal, [in] XRange ChangingCell );
    void ClearOutline() raises(com::sun::star::script::BasicErrorException);
    void Ungroup() raises(com::sun::star::script::BasicErrorException);
    void Group() raises(com::sun::star::script::BasicErrorException);
    void Merge([in] any Across) raises(com::sun::star::script::BasicErrorException);
    void UnMerge() raises(com::sun::star::script::BasicErrorException);
    XRange Next( ) raises ( com::sun::star::script::BasicErrorException );
    XRange Previous( ) raises ( com::sun::star::script::BasicErrorException );
     XRange SpecialCells( [in] any Type, [in]  /*Optional*/ any Value ) raises ( com::sun::star::script::BasicErrorException );
    void RemoveSubtotal() raises ( com::sun::star::script::BasicErrorException );
    void	Subtotal( [in] long GroupBy, [in] long Function, [in]  /*Optional*/ sequence<long> TotalList, [in]  /*Optional*/ any Replace, [in]  /*Optional*/ any PageBreaks, [in] any SummaryBelowData ) raises ( com::sun::star::script::BasicErrorException );
    XRange MergeArea( ) raises ( com::sun::star::script::BasicErrorException );
    any Hyperlinks( [in] any aIndex );
    long   CopyFromRecordset([in] any Data, [in]  any MaxRows , [in]  any MaxColumns) raises ( com::sun::star::script::BasicErrorException );
    XPivotTable PivotTable();
    void TextToColumns([in] any Destination, [in] any DataType, [in] any TextQualifier, [in] any ConsecutiveDelimiter, [in] any Tab, [in] any Semicolon, [in] any Comma,
        [in] any Space, [in] any Other, [in] any OtherChar, [in] any FieldInfo, [in] any DecimalSeparator, [in] any ThousandsSeparator, [in] any TrailingMinusNumbers );
    any AdvancedFilter([in] long Action, [in] any CriteriaRange, [in] any CopyToRange, [in] any Unique) raises ( com::sun::star::script::BasicErrorException );
};

//=============================================================================

}; }; };

#endif


