/**************************************************************
 * 
 * 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_UnoControlImageControlModel_idl__
#define __com_sun_star_awt_UnoControlImageControlModel_idl__

#ifndef __com_sun_star_awt_UnoControlModel_idl__
#include <com/sun/star/awt/UnoControlModel.idl>
#endif
#ifndef __com_sun_star_util_Color_idl__
#include <com/sun/star/util/Color.idl>
#endif
#ifndef com_sun_star_graphic_XGraphic_idl
#include <com/sun/star/graphic/XGraphic.idl>
#endif


//=============================================================================

 module com {  module sun {  module star {  module awt {

//=============================================================================

/** specifies the standard model of an <type>UnoControlImageControl</type>.
 */
published service UnoControlImageControlModel
{
	service com::sun::star::awt::UnoControlModel;

	//-------------------------------------------------------------------------

	/** specifies the background color (RGB) of the control.
	 */
	[property] com::sun::star::util::Color BackgroundColor;

	//-------------------------------------------------------------------------

	/** specifies the border style of the control.

		<pre>
		0: No border
		1: 3D border
		2: simple border
		</pre>
	 */
	[property] short Border;

	//-------------------------------------------------------------------------

	/** specifies the color of the border, if present

        <p>Not every border style (see <member>Border</member>) may support coloring.
        For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>

        @since OOo 2.0
	 */
	[optional, property] long BorderColor;

	//-------------------------------------------------------------------------

	/** determines whether the control is enabled or disabled.
	 */
	[property] boolean Enabled;

	//-------------------------------------------------------------------------

	/** specifies the help text of the control.
	 */
	[property] string HelpText;

	//-------------------------------------------------------------------------

	/** specifies the help URL of the control.
	 */
	[property] string HelpURL;

	//-------------------------------------------------------------------------

	/** specifies an URL to an image to use for the control.
        @see Graphic
	 */
	[property] string ImageURL;

	//-------------------------------------------------------------------------

	/** specifies a graphic to be displayed on the control

        <p>If this property is present, it interacts with the <member>ImageURL</member>in the
        following way:
        <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
            to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
            does not point to a valid image file.</li>
            <li>If <member>Graphic</member> is set, <member>ImageURL</member> will be reset
            to an empty string.</li>
        </ul></p>

        @since OOo 2.1
	 */
    [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;

	//-------------------------------------------------------------------------

	/** specifies that the control will be printed with the document.
	 */
	[property] boolean Printable;

	//-------------------------------------------------------------------------

	/** specifies if the image is automatically scaled to the size of the
        control.
	 */
	[property] boolean ScaleImage;

    /** defines how to scale the image

        <p>If this property is present, it supersedes the <member>ScaleImage</member> property.</p>

        <p>The value of this property is one of the <type>ImageScaleMode</type> constants.</p>

        @since OOo 3.1
    */
    [property, optional] short ScaleMode;

	//-------------------------------------------------------------------------

	/** specifies that the control can be reached with the TAB key.

        @since OOo 1.1.2
	 */
	[optional, property] boolean Tabstop;

};

//=============================================================================

}; }; }; };

#endif
