/* -*- 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_sheet_AccessibleCell_idl__
#define __com_sun_star_sheet_AccessibleCell_idl__

#include <com/sun/star/accessibility/XAccessibleContext.idl>
#include <com/sun/star/accessibility/XAccessibleComponent.idl>
#include <com/sun/star/accessibility/XAccessibleValue.idl>
#include <com/sun/star/accessibility/XAccessibleText.idl>



module com {  module sun {  module star {  module sheet {


/** The accessible view of a spreadsheet document

     @since OOo 1.1.2

 */
service AccessibleCell
{
    /** This interface gives access to the whole content of the cell.

    <ul>
        <li>The parent returned by
            ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
            is the accessible spreadsheet.</li>
        <li>This object has no children.</li>
        <li>The description is ???.</li>
        <li>The name is something like A10 or B23 or so on.</li>
        <li>The role is
            ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL</li>
        <li>There are relations between the cell and the shapes with an anchor
            on this cell.</li>
        <li>The following states are supported:
            <ul>
                <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
                    is always false if the
                    parent table is showed, otherwise it is true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
                    is false if the cell
                    or the table is protected, otherwise it is true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
                    is always true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
                    is always true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
                    is always true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
                    is false if the cell
                    has no background color or graphic, otherwise it is
                    true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
                    is false if the
                    table is protected, otherwise is it true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
                    is always true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
                    is true, if the cell is selected.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::TRANSIENT
                    is always true.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
                    is true if the
                    Bounding Box lies in Bounding Box of the parent. Otherwise
                    it is false.</li>
                <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
                    is false if the
                    column/row with this cell is filtered or hidden.
                    Otherwise is true.</li>
            </ul>
        </li>
    </ul>
     */
    interface ::com::sun::star::accessibility::XAccessibleContext;

    /** This interface gives access to the visibility of the cell.
    */
    interface ::com::sun::star::accessibility::XAccessibleComponent;

    /** This interface gives access to the value of the cell.
     */
    interface ::com::sun::star::accessibility::XAccessibleValue;

    /** This interface gives access to the text representation of the cell content.
     */
    interface ::com::sun::star::accessibility::XAccessibleText;
};


}; }; }; };

#endif

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