| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_awt_XSimpleTabController_idl__ |
| #define __com_sun_star_awt_XSimpleTabController_idl__ |
| |
| #ifndef __com_sun_star_awt_XTabListener_idl__ |
| #include <com/sun/star/awt/XTabListener.idl> |
| #endif |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ |
| #include <com/sun/star/lang/IndexOutOfBoundsException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_NamedValue_idl__ |
| #include <com/sun/star/beans/NamedValue.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module awt { |
| |
| //============================================================================= |
| |
| /** specifies the basic operations for a tab controller, |
| but does not require XControl as type of tabs. |
| */ |
| published interface XSimpleTabController : com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| /** create a new tab and return an unique ID, |
| which can be used further to adress this tab by using other methods |
| of this interface. |
| |
| @return [long |
| an unique ID for this new tab. |
| */ |
| long insertTab(); |
| |
| //------------------------------------------------------------------------- |
| /** remove a tab with the given ID. |
| |
| @param ID |
| the ID of the tab, which should be removed. |
| |
| @throws ::com::sun::star::lang::IndexOutOfBoundsException |
| if the specified ID isnt used inside this tab controller. |
| */ |
| void removeTab( [in] long ID ) |
| raises( com::sun::star::lang::IndexOutOfBoundsException ); |
| |
| //------------------------------------------------------------------------- |
| /** change some properties of the specified tab. |
| |
| @descr Such properties can be: |
| <table> |
| <tr> |
| <td><b>Property</b></td> |
| <td><b>Type</b></td> |
| <td><b>Description</b></td> |
| </tr> |
| <tr> |
| <td>Title</td> |
| <td>string</td> |
| <td>the title of the tab, which is shown at the UI.</td> |
| </tr> |
| <tr> |
| <td>Position</td> |
| <td>int</td> |
| <td>describe the order of this tab in relation to all other tabs inside this control.</td> |
| </tr> |
| </table> |
| |
| @attention Not all properties must be supported by all implementations of this interface. |
| Of course some important ones should be handled by every implementation ... |
| as e.g. "Title". |
| |
| @param ID |
| the ID of the tab, which should be changed. |
| |
| @throws ::com::sun::star::lang::IndexOutOfBoundsException |
| if the specified ID isnt used inside this tab controller. |
| */ |
| void setTabProps( [in] long ID , |
| [in] sequence< com::sun::star::beans::NamedValue > Properties ) |
| raises( com::sun::star::lang::IndexOutOfBoundsException ); |
| |
| //------------------------------------------------------------------------- |
| /** retrieve the set of properties for the specified tab. |
| |
| @param ID |
| the ID of the tab. |
| |
| @throws ::com::sun::star::lang::IndexOutOfBoundsException |
| if the specified ID isnt used inside this tab controller. |
| */ |
| sequence< com::sun::star::beans::NamedValue > getTabProps( [in] long ID ) |
| raises( com::sun::star::lang::IndexOutOfBoundsException ); |
| |
| //------------------------------------------------------------------------- |
| /** activate the specified tab. |
| |
| @descr The new tab will be activated and all listener will get an event describing this. |
| Of course there will be an event too, which notify's listener about the deactivation |
| of the last active tab. |
| |
| @param ID |
| the ID of the new active tab. |
| |
| @throws ::com::sun::star::lang::IndexOutOfBoundsException |
| if the specified ID isnt used inside this tab controller. |
| */ |
| void activateTab( [in] long ID ) |
| raises( com::sun::star::lang::IndexOutOfBoundsException ); |
| |
| //------------------------------------------------------------------------- |
| /** return the unique ID of the current active tab. |
| |
| @eturn [long] |
| the ID of the active tab. |
| */ |
| long getActiveTabID(); |
| |
| //------------------------------------------------------------------------- |
| /** register listener for inserting/removing tab's and changing her properties. |
| |
| @param Listener |
| the listener for registration. |
| */ |
| void addTabListener( [in] XTabListener Listener ); |
| |
| //------------------------------------------------------------------------- |
| /** deregister listener for inserting/removing tab's and changing her properties. |
| |
| @param Listener |
| the listener for deregistration. |
| */ |
| void removeTabListener( [in] XTabListener Listener ); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |