/**************************************************************
 * 
 * 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_form_component_NavigationToolBar_idl__
#define __com_sun_star_form_component_NavigationToolBar_idl__

#ifndef __com_sun_star_form_FormControlModel_idl__
#include <com/sun/star/form/FormControlModel.idl>
#endif
#ifndef __com_sun_star_awt_FontDescriptor_idl__
#include <com/sun/star/awt/FontDescriptor.idl>
#endif

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

 module com {  module sun {  module star {  module form {  module component {

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

/** This service specifies the model for control which provides controller
    functionality for a <type>DataForm</type>, such as navigating or filtering
    the form.
 */
service NavigationToolBar
{
	service com::sun::star::form::FormControlModel;

	//-------------------------------------------------------------------------
	/** denotes the border style of the control.

		Allowed values are
        <ul><li><b>0</b>: no border at all</li>
            <li><b>1</b>: 3D border</li>
            <li><b>2</b>: simple flat</li>
		</ul>
	 */
	[property] short Border;

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

	//-------------------------------------------------------------------------
	/** contains the font attributes for the text in the control
	 */
	[property] com::sun::star::awt::FontDescriptor FontDescriptor;

	//------------------------------------------------------------------------- 
	/** specifies the text color (as RGB value) of the control.
	 */
	[property] long TextColor; 

	//------------------------------------------------------------------------- 
	/** specifies the text line color (as RGB value) of the control.

        <p>This color is used if the <member>FontDescriptor</member> defines
        that the text in the control should be underlined or stroke out.</p>
	 */
	[property] long TextLineColor;

	//------------------------------------------------------------------------- 
	/** specifies the relief for the font described in <member>FontDescriptor</member>

        <p>The value must be one of the <type scope="com::sun::star::text">FontRelief</type>
        constants.</p>
	 */
	[property] long FontRelief;

	//------------------------------------------------------------------------- 
	/** specifies the emphasis mark for the font described in <member>FontDescriptor</member>

        <p>The value must be one of the <type scope="com::sun::star::text">FontEmphasis</type>
        constants.</p>
	 */
	[property] long FontEmphasisMark;

	//------------------------------------------------------------------------- 
    /** specifies the size of the icons in the control

        <p>At least the following values are to be supported:
        <ul><li>0: small icons (16x16)</li>
            <li>1: medium size icons (26x26)</li>
        </ul>
    */
    [property] short IconSize;

	//------------------------------------------------------------------------- 
    /** determines whether the control should provide functionality for positioning the
        parent form
    */
    [property] boolean ShowPosition;

	//------------------------------------------------------------------------- 
    /** determines whether the control should provide functionality for navigating the
        parent form
    */
    [property] boolean ShowNavigation;

	//------------------------------------------------------------------------- 
    /** determines whether the control should provide functionality for acting on the current record
        of the parent form
    */
    [property] boolean ShowRecordActions;

	//------------------------------------------------------------------------- 
    /** determines whether the control should provide functionality for filtering and sorting the
        parent form
    */
    [property] boolean ShowFilterSort;

	//------------------------------------------------------------------------- 
    /** specifies a repeat delay for the control

        <p>Some buttons of a NavigationToolBar may show repeating behaviour, e.g. may be
        repeatedly triggered when the user keeps the mouse pressed over such a button.<br/>
        The delay between two such triggers (in milliseconds) is specified with this property.
        </p>
    */
    [property] long RepeatDelay;
};

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

}; }; }; }; };

#endif
