/************************************************************** * * 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_XDockableWindow_idl__ #define __com_sun_star_awt_XDockableWindow_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_awt_XDockableWindowListener_idl__ #include #endif #ifndef __com_sun_star_awt_Rectangle_idl__ #include #endif //============================================================================= module com { module sun { module star { module awt { //============================================================================= /** specifies the docking interface for a window component.

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.

*/ 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 specifies that docking is enabled specifies that docking is disabled and no XDockableWindowListener will be called */ void enableDocking( [in] boolean bEnable ); //------------------------------------------------------------------------- /** queries the current window state @returns if the window is floating if the window is docked */ boolean isFloating(); //------------------------------------------------------------------------- /** toggle between floating and docked state @param bFloating specifies the new floating mode: means floating, 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 if the window is locked 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 XDockableWindowListener 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 if the window is in popup mode if the window is not in popup mode */ boolean isInPopupMode(); }; //============================================================================= }; }; }; }; #endif