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

#include <com/sun/star/lang/EventObject.idl>
#include <com/sun/star/beans/Optional.idl>

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

module com { module sun { module star { module awt {

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

/** is the event broadcasted by a <type>XListItems</type> implementation for changes
    in its item list.
 */
struct ItemListEvent : ::com::sun::star::lang::EventObject
{
    /** specifies the position of the item which is affected by the event

        <p>In case the event is not related to a single item, but to the complete list, the value of this
        member is undefined.</p>
    */
    long    ItemPosition;

    /** the text of the item.

        <p>If the event being notified did not touch the text of an item, this member is empty. For instance, upon
        invocation of <member>XItemList::setItemImage</member>, only <code>ItemImageURL</code> will be set, and
        <code>ItemText</code> will be empty.</p>
    */
    ::com::sun::star::beans::Optional< string >
            ItemText;

    /** the URL of the image of the item

        <p>If the event being notified did not touch the image of an item, this member is empty. For instance, upon
        invocation of <member>XItemList::setItemText</member>, only <code>ItemText</code> will be set, and
        <code>ItemImageURL</code> will be empty.</p>
    */
    ::com::sun::star::beans::Optional< string >
            ItemImageURL;
};

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

}; }; }; };

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

#endif
