blob: 251145bcda6d8a25476d9a0ed5b13755aa0fc120 [file] [log] [blame]
/**************************************************************
*
* 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 <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