/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * <http://www.openoffice.org/license.html> * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_awt_XDockableWindow_idl__ #define __com_sun_star_awt_XDockableWindow_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include <com/sun/star/uno/XInterface.idl> #endif #ifndef __com_sun_star_awt_XDockableWindowListener_idl__ #include <com/sun/star/awt/XDockableWindowListener.idl> #endif #ifndef __com_sun_star_awt_Rectangle_idl__ #include <com/sun/star/awt/Rectangle.idl> #endif //============================================================================= module com { module sun { module star { module awt { //============================================================================= /** specifies the docking interface for a window component. <p>A window can either be docked where it resides as a child window in an application frame window or it can be floating where it will reside in its own decorated top level window. </p> */ interface XDockableWindow : com::sun::star::uno::XInterface { /** adds a docking listener to the object. only a single listener may be registered at any time. */ void addDockableWindowListener( [in] com::sun::star::awt::XDockableWindowListener xListener ); //------------------------------------------------------------------------- /** removes the specified docking listener from the object. */ void removeDockableWindowListener( [in] com::sun::star::awt::XDockableWindowListener xListener ); //------------------------------------------------------------------------- /** enable or disable docking, docking is disabled by default @param bEnable <TRUE/> specifies that docking is enabled <FALSE/> specifies that docking is disabled and no <type scope="com::sun::star::awt">XDockableWindowListener</type> will be called */ void enableDocking( [in] boolean bEnable ); //------------------------------------------------------------------------- /** queries the current window state @returns <TRUE/> if the window is floating <FALSE/> if the window is docked */ boolean isFloating(); //------------------------------------------------------------------------- /** toggle between floating and docked state @param bFloating specifies the new floating mode: <TRUE/> means floating, <FALSE/> means docked */ void setFloatingMode( [in] boolean bFloating ); //------------------------------------------------------------------------- /** prevents the window from being undocked this has no effect if the window is floating */ void lock(); //------------------------------------------------------------------------- /** enables undocking this has no effect if the window is floating */ void unlock(); //------------------------------------------------------------------------- /** queries the current locking state @returns <TRUE/> if the window is locked <FALSE/> if the window is not locked */ boolean isLocked(); //------------------------------------------------------------------------- /** shows the window in a menu like style, i.e. without decoration a special indicator will allow for tearing off the window see <type scope="com::sun::star::awt">XDockableWindowListener</type> for the corresponding events @param WindowRect specifies the position and size of the popup window in frame coordinates */ void startPopupMode( [in] com::sun::star::awt::Rectangle WindowRect ); //------------------------------------------------------------------------- /** queries the current popup mode @returns <TRUE/> if the window is in popup mode <FALSE/> if the window is not in popup mode */ boolean isInPopupMode(); }; //============================================================================= }; }; }; }; #endif