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 __com_sun_star_form_binding_XListEntryListener_idl__
25#define __com_sun_star_form_binding_XListEntryListener_idl__
26
27#ifndef __com_sun_star_lang_XEventListener_idl__
28#include <com/sun/star/lang/XEventListener.idl>
29#endif
30#ifndef __com_sun_star_form_binding_ListEntryEvent_idl__
31#include <com/sun/star/form/binding/ListEntryEvent.idl>
32#endif
33
34//=============================================================================
35
36module com {  module sun {  module star {  module form { module binding {
37
38//=============================================================================
39
40/** specifies a listener for changes in a string entry list
41*/
42interface XListEntryListener : com::sun::star::lang::XEventListener
43{
44    /** notifies the listener that a single entry in the list has change
45
46        @param Source
47            is the event describing the change. The <member>ListEntryEvent::Position</member>
48            member denotes the position of the changed entry, the first (and only) element
49            of the <member>ListEntryEvent::Entries</member> member denotes the new string
50    */
51    void    entryChanged( [in] ListEntryEvent Source );
52
53    /** notifies the listener that a range of entries has been inserted into the list
54
55        @param Source
56            is the event describing the change. The <member>ListEntryEvent::Position</member>
57            member denotes the position of the first inserted entry, the
58            <member>ListEntryEvent::Entries</member> member contains the strings which have
59            been inserted.
60    */
61    void    entryRangeInserted( [in] ListEntryEvent Source );
62
63    /** notifies the listener that a range of entries has been removed from the list
64
65        @param Source
66            is the event describing the change. The <member>ListEntryEvent::Position</member>
67            member denotes the position of the first removed entry, the
68            <member>ListEntryEvent::Count</member> member the number of removed entries.
69    */
70    void    entryRangeRemoved( [in] ListEntryEvent Source );
71
72    /** notifies the listener that all entries of the list have changed.
73
74        <p>The listener should retrieve the complete new list by calling the
75        <member>XListEntrySource::getAllListEntries</member> method of the event source
76        (which is denoted by <member scope="com::sun::star::lang">EventObject::Source</member>).
77    */
78    void    allEntriesChanged( [in] com::sun::star::lang::EventObject Source );
79};
80
81//=============================================================================
82
83}; }; }; }; };
84
85#endif
86