blob: 20e70325e918dcbd882355acb98221cd2e45b82e [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_XControl_idl__
#define __com_sun_star_awt_XControl_idl__
#ifndef __com_sun_star_lang_XComponent_idl__
#include <com/sun/star/lang/XComponent.idl>
#endif
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_awt_XToolkit_idl__
#include <com/sun/star/awt/XToolkit.idl>
#endif
#ifndef __com_sun_star_awt_XWindowPeer_idl__
#include <com/sun/star/awt/XWindowPeer.idl>
#endif
#ifndef __com_sun_star_awt_XControlModel_idl__
#include <com/sun/star/awt/XControlModel.idl>
#endif
#ifndef __com_sun_star_awt_XView_idl__
#include <com/sun/star/awt/XView.idl>
#endif
//=============================================================================
module com { module sun { module star { module awt {
//=============================================================================
/** identifies a control.
<p>Implementations of this interface are abstract windows.
The main reason to instantiate this implementation is to show the window
on the screen. Before the window appears on the screen, the
<member>XControl::createPeer</member> method must be called.</p>
<p>If the implementation of the control does not distinguish
between model, view and controller, it must allow to set
a new XGraphics in the view, so that the control can be printed.</p>
*/
published interface XControl: com::sun::star::lang::XComponent
{
//-------------------------------------------------------------------------
/** sets the context of the control.
*/
[oneway] void setContext( [in] com::sun::star::uno::XInterface Context );
//-------------------------------------------------------------------------
/** gets the context of the control.
*/
com::sun::star::uno::XInterface getContext();
//-------------------------------------------------------------------------
/** creates a "child" window on the screen.
<p>If the parent is NULL, then the desktop window of the toolkit
is the parent.</p>
*/
[oneway] void createPeer( [in] com::sun::star::awt::XToolkit Toolkit,
[in] com::sun::star::awt::XWindowPeer Parent );
//-------------------------------------------------------------------------
/** returns the peer which was previously created or set.
*/
com::sun::star::awt::XWindowPeer getPeer();
//-------------------------------------------------------------------------
/** sets a model for the control.
*/
boolean setModel( [in] com::sun::star::awt::XControlModel Model );
//-------------------------------------------------------------------------
/** returns the model for this control.
*/
com::sun::star::awt::XControlModel getModel();
//-------------------------------------------------------------------------
/** returns the view of this control.
*/
com::sun::star::awt::XView getView();
//-------------------------------------------------------------------------
/** sets the design mode for use in a design editor.
<p>Normally the control will be painted directly without a peer.</p>
*/
[oneway] void setDesignMode( [in] boolean bOn );
//-------------------------------------------------------------------------
/** returns <true/> if the control is in design mode, <false/> otherwise.
*/
boolean isDesignMode();
//-------------------------------------------------------------------------
/** returns <true/> if the control is transparent, <false/> otherwise.
*/
boolean isTransparent();
};
//=============================================================================
}; }; }; };
#endif