/* -*- 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_CellValueBinding_idl__ #define __com_sun_star_table_CellValueBinding_idl__ #include #include #include module com { module sun { module star { module table { /** defines the binding to a single cell in a table document

Read/Write access to the cell represented by this component is supported, as well as active broadcasting of value changes.

The binding supports exchanging double values, string values.

The component cannot be instantiated at a global service factory, instead it's usually provided by a document instance.

@see com::sun::star::document::OfficeDocument */ service CellValueBinding { /** ensures the basic functionality for binding to a value */ service com::sun::star::form::binding::ValueBinding; /** specifies the cell within a document whose value is reflected by the binding. */ [property, bound, readonly] com::sun::star::table::CellAddress BoundCell; /** allows notifications of changes in the content of the underlying cell.

Note that this interface is already optionally allowed in the underlying service (com::sun::star::form::binding::ValueBinding), but it loses it's optionality here.

*/ interface com::sun::star::util::XModifyBroadcaster; /** allows setting initial, creation-time properties of the component

This interface is used to initialize the component after creation. It has to be used exactly once in the life time of the component, every second call to com::sun::star::lang::XInitialization::initialize() will throw an exception.

The arguments passed to the com::sun::star::lang::XInitialization::initialize() method must be instances of com::sun::star::beans::NamedValue, where the com::sun::star::beans::NamedValue::Name denotes the type of information to initialize, and the com::sun::star::beans::NamedValue::Value the initial value.

The following aspects of the components can be initialized:

  • BoundCell
    specifies the address of the cell to bind this instance to. Must be a com::sun::star::table::CellAddress instance.

*/ interface com::sun::star::lang::XInitialization; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */