/* -*- 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_table_AccessibleCellView_idl__ #define __com_sun_star_table_AccessibleCellView_idl__ #include #include #include #include #include #include module com { module sun { module star { module table { /** The accessible view of a cell in a text document or in the page preview of a spreadsheet document. See ::com::sun::star::sheet::AccessibleCell for cells in the edit view of a spreadsheet. @since OOo 1.1.2 */ service AccessibleCellView { /** This interface gives access to the visible content of a cell in a accessible spreadsheet page preview or accessible text document view.
  • The parent returned by ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() is the accessible table view.
  • The children returned by ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() all support the interface XAccessible. Calling ::com::sun::star::accessibility::XAccessible::getAccessibleContext() for these children returns an object that supports the service ::com::sun::star::text::AccessibleParagraphView: A child of this kind is returned for every paragraph fragment that is contained in the cell and is at least partially visible. A paragraph fragment is the part of a paragraph that is displayed on a certain page.
  • The name is something like A10 or B23 or so on.
  • The description is the name or the content of the given note.
  • The role is ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL
  • For spreadsheets, there are relations between the cell and the shapes with an anchor on this cell.
  • The following states are supported:
    • ::com::sun::star::accessibility::AccessibleStateType::DEFUNC is always false if the cell is shown, otherwise it is true.
    • ::com::sun::star::accessibility::AccessibleStateType::EDITABLE is false if the cell is showed in a page preview or the cell or the table is protected, otherwise it is true.
    • ::com::sun::star::accessibility::AccessibleStateType::ENABLED is always true.
    • ::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE is always true in spreadsheets and false otherwise.
    • ::com::sun::star::accessibility::AccessibleStateType::OPAQUE is false if the cell has no background color or graphic, otherwise it is true.
    • ::com::sun::star::accessibility::AccessibleStateType::SELECTABLE is true if the cell is not showed in a page preview, otherwise is it false.
    • ::com::sun::star::accessibility::AccessibleStateType::SELECTED is true, if the cell is selected. This is not possible in the page preview.
    • ::com::sun::star::accessibility::AccessibleStateType::SHOWING is true if the Bounding Box lies in the Bounding Box of the parent. Otherwise it is false.
    • ::com::sun::star::accessibility::AccessibleStateType::TRANSIENT is true if the cell is showed in a spreadsheet page preview. Otherwise it is false.
    • ::com::sun::star::accessibility::AccessibleStateType::VISIBLE is always true.
*/ 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. Only a readonly access is possible. */ interface ::com::sun::star::accessibility::XAccessibleValue; /** This interface is for selecting the text, value or parts of this in the cell. This interface is optional. */ [optional] interface ::com::sun::star::accessibility::XAccessibleSelection; /** This is the interface for listeners */ [optional] interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */