/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: ViewSettings.idl,v $
 *
 *  $Revision: 1.16 $
 *
 *  last change: $Author: rt $ $Date: 2005/09/08 06:36:12 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_text_ViewSettings_idl__
#define __com_sun_star_text_ViewSettings_idl__

#ifndef __com_sun_star_beans_XPropertySet_idl__
#include <com/sun/star/beans/XPropertySet.idl>
#endif
#ifndef __com_sun_star_view_DocumentZoomType_idl__
#include <com/sun/star/view/DocumentZoomType.idl>
#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 
#include <com/sun/star/lang/IllegalArgumentException.idl> 
#endif 

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

 module com {  module sun {  module star {  module text {

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

// DocMerge from xml: service com::sun::star::text::ViewSettings
/** provides access to the settings of the controller of a text document.
 */
published service ViewSettings
{
	// DocMerge: empty anyway
	interface com::sun::star::beans::XPropertySet;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowAnnotations
	/** If this property is <TRUE/>, annotations (notes) are visible.
	 */
	[property] boolean ShowAnnotations;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowBreaks
	/** If this property is <TRUE/>, paragraph line breaks are visible.
	 */
	[property] boolean ShowBreaks;

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

    // DocMerge from xml: property com::sun::star::text::ViewSettings::ShowFieldCommandsShowDrawings
	/** If this property is <TRUE/>, shapes are visible.
	 */
	[property] boolean ShowDrawings;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowFieldCommands
	/** If this property is <TRUE/>, text fields are shown with their commands; otherwise
		the content is visible.
	 */
	[property] boolean ShowFieldCommands;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowFootnoteBackground
	/** If this property is <TRUE/>, footnotes symbols are displayed with gray background.
	 */
	[property] boolean ShowFootnoteBackground;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowGraphics
	/** If this property is <TRUE/>, graphic objects are visible.
	 */
	[property] boolean ShowGraphics;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowHiddenParagraphs
	/** If this property is <TRUE/>, hidden paragraghs are displayed.
	 */
	[property] boolean ShowHiddenParagraphs;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowHiddenText
	/** If this property is <TRUE/>, hidden text is displayed.
	 */
	[property] boolean ShowHiddenText;

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

         /** ShowHoriRuler and ShowVertRuler determine whether a ruler is visible.
         */
        [property] boolean ShowRulers;

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

        /** If this property is <TRUE/> and the property ShowRulers is <TRUE/>,
           the horizontal ruler is displayed.
	 */
	[property] boolean ShowHoriRuler;

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

        /** If this property is <TRUE/> and the property ShowRulers is <TRUE/>,
           the horizontal scroll bar is displayed.
	 */
	[property] boolean ShowHoriScrollBar;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowIndexMarkBackground
	/** If this property is <TRUE/>, index marks are displayed with gray background.
	 */
	[property] boolean ShowIndexMarkBackground;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowParaBreaks
	/** If this property is <TRUE/>, paragraph breaks are visible.
	 */
	[property] boolean ShowParaBreaks;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowProtectedSpaces
	/** If this property is <TRUE/>, protected spaces (hard spaces) are displayed with gray
		background.
	 */
	[property] boolean ShowProtectedSpaces;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowSoftHyphens
	/** If this property is <TRUE/>, soft hyphens are displayed with gray background.
	 */
	[property] boolean ShowSoftHyphens;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowSpaces
	/** If this property is <TRUE/>, spaces are displayed with dots.
	 */
	[property] boolean ShowSpaces;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTableBoundaries
	/** If this property is <TRUE/>, table boundaries are displayed.
	 */
	[property] boolean ShowTableBoundaries;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTables
	/** If this property is <TRUE/>, tables are visible.
	 */
	[property] boolean ShowTables;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTabstops
	/** If this property is <TRUE/>, tab stops are visible.
	 */
	[property] boolean ShowTabstops;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTextBoundaries
	/** If this property is <TRUE/>, text boundaries are displayed.
	 */
	[property] boolean ShowTextBoundaries;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowTextFieldBackground
	/** If this property is <TRUE/>, text fields are displayed with gray background.
	 */
	[property] boolean ShowTextFieldBackground;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowVertRuler
	/** If this property is <TRUE/>, the vertical ruler is displayed.
	 */
	[property] boolean ShowVertRuler;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::ShowVertScrollBar
	/** If this property is <TRUE/>, the vertical scroll bar is displayed.
	 */
	[property] boolean ShowVertScrollBar;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::SmoothScrolling
	/** If this property is <TRUE/>, smooth scrolling is active.
	 */
	[property] boolean SmoothScrolling;

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

	// DocMerge from xml: property com::sun::star::text::ViewSettings::SolidMarkHandles
	/** If this property is <TRUE/>, handles of drawing objects are visible.
	 */
	[property] boolean SolidMarkHandles;
    //-------------------------------------------------------------------------
    /** If this property is <TRUE/>, the vertical ruler is aligned to the right side
     of the view and the vertical scrollbar is on the left.
	 */
    [property] boolean IsVertRulerRightAligned;

    //-------------------------------------------------------------------------
    /** If this property is <TRUE/> the document will be displayed as if it
        were a HTML document.
	 */
    [property] boolean ShowOnlineLayout;

    //-------------------------------------------------------------------------
    /** This property defines the zoom type for the document.

        @see com::sun::star::view::DocumentZoomType
     */
    [property] short ZoomType;

    //-------------------------------------------------------------------------
    /** Defines the zoom value to use.
        Valid only if the ZoomType is set to
        <member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
	 */
    [property] short ZoomValue;
    //-------------------------------------------------------------------------
    /** If this property is <TRUE/> hyperlinks in the document are executed (loaded) on 
     mouse click. Otherwise they are handled like normal text.
         */
    [optional, property] boolean IsExecuteHyperlinks;

    //-------------------------------------------------------------------------
    /** Specifies whether to display the grid or not

        @since OOo 2.0.0 
     */
    [optional, property] boolean IsRasterVisible;

    //-------------------------------------------------------------------------
    /** Specifies whether to move frames, drawing elements, and form 
        functions only between grid points. 

        @since OOo 2.0.0 
     */
    [optional, property] boolean IsSnapToRaster;

    //-------------------------------------------------------------------------
    /** Specifies the number of intervals between grid points on the X-axis.

        <p>The value must be greater or equal to 0, and the application 
        may enforce an upper bound for the value.</p>

        @since OOo 2.0.0 
        @throws com::sun::star::lang::IllegalArgumentException 
            if the value is out of bounds.
     */
    [optional, property] long RasterSubdivisionX;

    //-------------------------------------------------------------------------
    /** Specifies the number of intervals between grid points on the Y-axis.
        
        <p>The value must be greater or equal to 0, and the application 
        may enforce an upper bound for the value.</p>

        @since OOo 2.0.0 
        @throws com::sun::star::lang::IllegalArgumentException 
            if the value is out of bounds.
     */
    [optional, property] long RasterSubdivisionY;

    //-------------------------------------------------------------------------
    /** Defines the unit of measure for the spacing between grid points 
        on the X-axis.

        <p>The value must be greater than 0. The application 
        may enforce more restricting bounds for the value.</p>
        
        @since OOo 2.0.0 
        @throws com::sun::star::lang::IllegalArgumentException 
            if the value is out of bounds.
     */
    [optional, property] long RasterResolutionX;

    //-------------------------------------------------------------------------
    /** Defines the unit of measure for the spacing between grid points 
        on the Y-axis.
        
        <p>The value must be greater than 0. The application 
        may enforce more restricting bounds for the value.</p>

        @since OOo 2.0.0 
        @throws com::sun::star::lang::IllegalArgumentException 
            if the value is out of bounds.
     */
    [optional, property] long RasterResolutionY;

};

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

}; }; }; };

#endif
