1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __offapi_com_sun_star_awt_XItemListListener_idl__
25#define __offapi_com_sun_star_awt_XItemListListener_idl__
26
27#include <com/sun/star/lang/XEventListener.idl>
28#include <com/sun/star/awt/ItemListEvent.idl>
29
30//==================================================================================================================
31
32module com { module sun { module star { module awt {
33
34//==================================================================================================================
35
36/** describes a listener for changes in a item list
37    @see XListItems
38 */
39published interface XItemListListener : ::com::sun::star::lang::XEventListener
40{
41    /** is called when an item is inserted into the list
42    */
43    void    listItemInserted(
44                [in] ItemListEvent Event
45            );
46
47    /** is called when an item is removed from the list
48    */
49    void    listItemRemoved(
50                [in] ItemListEvent Event
51            );
52
53    /** is called when an item in the list is modified, i.e. its text or image changed
54    */
55    void    listItemModified(
56                [in] ItemListEvent Event
57            );
58    /** is called when the list has been completely cleared, i.e. after an invocation of
59        <member>XItemList::removeAllItems</member>
60    */
61    void    allItemsRemoved(
62                [in] ::com::sun::star::lang::EventObject Event
63            );
64
65    /** is called when the changes to the item list which occured are too complex to be notified
66        in single events.
67
68        <p>Consumers of this event should discard their cached information about the current item list,
69        and completely refresh it from the <type>XItemList</type>'s current state.</p>
70    */
71    void    itemListChanged(
72                [in] ::com::sun::star::lang::EventObject Event
73            );
74};
75
76//==================================================================================================================
77
78}; }; }; };
79
80//==================================================================================================================
81
82#endif
83