1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_awt_XListBox_idl__
20 #define __com_sun_star_awt_XListBox_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
24 #include
<com
/sun
/star
/awt
/XItemListener.idl
>
26 #include
<com
/sun
/star
/awt
/XActionListener.idl
>
30 module com
{ module sun
{ module star
{ module awt
{
33 /** gives access to the items of a list box and makes it possible to
34 register item and action event listeners.
36 published
interface XListBox
: com
::sun
::star
::uno
::XInterface
39 /** registers a listener for item events.
41 void addItemListener
( [in] com
::sun
::star
::awt
::XItemListener l
);
44 /** unregisters a listener for item events.
46 void removeItemListener
( [in] com
::sun
::star
::awt
::XItemListener l
);
49 /** registers a listener for action events.
51 void addActionListener
( [in] com
::sun
::star
::awt
::XActionListener l
);
54 /** unregisters a listener for action events.
56 void removeActionListener
( [in] com
::sun
::star
::awt
::XActionListener l
);
59 /** adds an item at the specified position.
61 void addItem
( [in] string aItem
,
65 /** adds multiple items at the specified position.
67 void addItems
( [in] sequence
<string> aItems
,
71 /** removes a number of items at the specified position.
73 void removeItems
( [in] short nPos
,
77 /** returns the number of items in the listbox.
82 /** returns the item at the specified position.
84 string getItem
( [in] short nPos
);
87 /** returns all items of the list box.
89 sequence
<string> getItems
();
92 /** returns the position of the currently selected item.
93 When multiple items are selected, the position of the first one is returned.
94 When nothing is selected, -1 is returned.
96 short getSelectedItemPos
();
99 /** returns the positions of all currently selected items.
101 sequence
<short> getSelectedItemsPos
();
104 /** returns the currently selected item.
105 When multiple items are selected, the first one is returned.
106 When nothing is selected, an empty string is returned.
108 string getSelectedItem
();
111 /** returns all currently selected items.
113 sequence
<string> getSelectedItems
();
116 /** selects/deselects the item at the specified position.
118 void selectItemPos
( [in] short nPos
,
119 [in] boolean bSelect
);
122 /** selects/deselects multiple items at the specified positions.
124 void selectItemsPos
( [in] sequence
<short> aPositions
,
125 [in] boolean bSelect
);
128 /** selects/deselects the specified item.
130 void selectItem
( [in] string aItem
,
131 [in] boolean bSelect
);
134 /** returns `TRUE` if multiple items can be selected,
135 `FALSE` if only one item can be selected.
137 boolean isMutipleMode
();
140 /** determines if only a single item or multiple items can be selected.
142 void setMultipleMode
( [in] boolean bMulti
);
145 /** returns the number of visible lines in drop down mode.
147 short getDropDownLineCount
();
150 /** sets the number of visible lines for drop down mode.
152 void setDropDownLineCount
( [in] short nLines
);
155 /** makes the item at the specified position visible by scrolling.
157 void makeVisible
( [in] short nEntry
);
166 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */