tdf#130857 qt weld: Implement QtInstanceWidget::strip_mnemonic
[LibreOffice.git] / offapi / com / sun / star / awt / XSimpleTabController.idl
blob0109c4a84d372c1a36b721a10ac73353a7038297
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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 .
21 module com { module sun { module star { module awt {
24 /** specifies the basic operations for a tab controller,
25 but does not require XControl as type of tabs.
27 interface XSimpleTabController : com::sun::star::uno::XInterface
29 /** create a new tab and return a unique ID,
30 which can be used further to address this tab by using other methods
31 of this interface.
33 @return [long
34 a unique ID for this new tab.
36 long insertTab();
38 /** remove a tab with the given ID.
40 @param ID
41 the ID of the tab, which should be removed.
43 @throws ::com::sun::star::lang::IndexOutOfBoundsException
44 if the specified ID isn't used inside this tab controller.
46 void removeTab( [in] long ID )
47 raises( com::sun::star::lang::IndexOutOfBoundsException );
49 /** change some properties of the specified tab.
51 @param Properties
52 Such properties can be:
53 <table>
54 <tr>
55 <td><b>Property</b></td>
56 <td><b>Type</b></td>
57 <td><b>Description</b></td>
58 </tr>
59 <tr>
60 <td>Title</td>
61 <td>string</td>
62 <td>the title of the tab, which is shown at the UI.</td>
63 </tr>
64 <tr>
65 <td>Position</td>
66 <td>int</td>
67 <td>describe the order of this tab in relation to all other tabs inside this control.</td>
68 </tr>
69 </table>
71 @attention Not all properties must be supported by all implementations of this interface.
72 Of course some important ones should be handled by every implementation ...
73 as e.g. "Title".
75 @param ID
76 the ID of the tab, which should be changed.
78 @throws ::com::sun::star::lang::IndexOutOfBoundsException
79 if the specified ID isn't used inside this tab controller.
81 void setTabProps( [in] long ID ,
82 [in] sequence< com::sun::star::beans::NamedValue > Properties )
83 raises( com::sun::star::lang::IndexOutOfBoundsException );
85 /** retrieve the set of properties for the specified tab.
87 @param ID
88 the ID of the tab.
90 @throws ::com::sun::star::lang::IndexOutOfBoundsException
91 if the specified ID isn't used inside this tab controller.
93 sequence< com::sun::star::beans::NamedValue > getTabProps( [in] long ID )
94 raises( com::sun::star::lang::IndexOutOfBoundsException );
96 /** activate the specified tab.
98 The new tab will be activated and all listener will get an event describing this.
99 Of course there will be an event too, which notifies listener about the deactivation
100 of the last active tab.
102 @param ID
103 the ID of the new active tab.
105 @throws ::com::sun::star::lang::IndexOutOfBoundsException
106 if the specified ID isn't used inside this tab controller.
108 void activateTab( [in] long ID )
109 raises( com::sun::star::lang::IndexOutOfBoundsException );
111 /** return the unique ID of the current active tab.
113 @return [long]
114 the ID of the active tab.
116 long getActiveTabID();
118 /** register listener for inserting/removing tabs and changing their properties.
120 @param Listener
121 the listener to register.
123 void addTabListener( [in] XTabListener Listener );
125 /** unregister listener for inserting/removing tabs and changing their properties.
127 @param Listener
128 the listener to unregister.
130 void removeTabListener( [in] XTabListener Listener );
134 }; }; }; };
136 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */