blob: 88e990ff25c47917eaccbe9bdbc6681fa0c69aa6 [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_drawing_SlideSorter_idl__
#define __com_sun_star_drawing_SlideSorter_idl__
#ifndef __com_sun_star_drawing_framework_XView_idl__
#include <com/sun/star/drawing/framework/XView.idl>
#endif
#ifndef __com_sun_star_drawing_XDrawView_idl__
#include <com/sun/star/drawing/XDrawView.idl>
#endif
#ifndef __com_sun_star_awt_XWindow_idl__
#include <com/sun/star/awt/XWindow.idl>
#endif
#ifndef __com_sun_star_container_XIndexAccess_idl__
#include <com/sun/star/container/XIndexAccess.idl>
#endif
#ifndef __com_sun_star_frame_XController_idl__
#include <com/sun/star/frame/XController.idl>
#endif
#ifndef __com_sun_star_util_Color_idl__
#include <com/sun/star/util/Color.idl>
#endif
module com { module sun { module star { module drawing {
/** This interface exists only because services do not directly support
multiple inheritance and attributes.
<p>It provides the interfaces and attributes that every object that
implements the <type>SlideSorter</type> service.</p>
*/
interface XSlideSorterBase
{
/** This interface is included to mark a <type>SlideSorter</type> object
as view of the drawing framework and to provide a
<type>ResourceId</type>.
*/
interface ::com::sun::star::drawing::framework::XView;
/** The <type>XDrawView</type> interface is included to provide access
to the current slide (especially write access).
*/
interface ::com::sun::star::drawing::XDrawView;
/** The set of slides that are displayed by the implementing object.
<p>The default value is the set of all slides of the document for
which a slide sorter is created.</p>
*/
[attribute] ::com::sun::star::container::XIndexAccess DocumentSlides;
/** Set this flag to <TRUE/> in order to have the current slide
highlighted.
<p>The default value is <FALSE/>.</p>
*/
[attribute] boolean IsHighlightCurrentSlide;
/** Set this flag to <TRUE/> in order to visualize the selection of
slides (typically a bold frame around the selected slides).
<p>The default value is <TRUE/>.</p>
*/
[attribute] boolean IsShowSelection;
/** Set this flag to <TRUE/> to visualize to where the focus is by
showing a dotted rectangle around the focused slide.
<p>The default value is <TRUE/>.</p>
*/
[attribute] boolean IsShowFocus;
/** When this flag has the value <TRUE/> then every time the current
slide is changed the visual area is shifted so that the new current
slide is display in the center of the slide sorter window.
<p>It is not always possible to move the current slide into the
exact center of the window, for example when slides are located near
the start or end of a document.</p>
<p>The default value is <FALSE/>.
*/
[attribute] boolean IsCenterSelection;
/** This flag controls whether updates of previews are created during
full screen presentations (<FALSE/>) or not (<TRUE/>). The
suspension of preview creations is an optimization for not slowing
down a running presentation.
<p>The default value is <TRUE/>.</p>
*/
[attribute] boolean IsSuspendPreviewUpdatesDuringFullScreenPresentation;
/** The orientation of a slide sorter can be either vertical (<TRUE/>)
or horizontal (<FALSE/>).
*/
[attribute] boolean IsOrientationVertical;
/** This flag is a hint to make scrolling look smooth.
*/
[attribute] boolean IsSmoothScrolling;
[attribute] ::com::sun::star::util::Color BackgroundColor;
[attribute] ::com::sun::star::util::Color TextColor;
[attribute] ::com::sun::star::util::Color SelectionColor;
[attribute] ::com::sun::star::util::Color HighlightColor;
/** This flag controls whether the model can be modified by using
keyboard or mouse.
<p>The default value is <TRUE/>.</p>
*/
[attribute] boolean IsUIReadOnly;
};
/** A slide sorter shows previews for a set of slides, typically all slides
in a document, and allows the selection, reordering, creation, and
deletion of slides.
<p>In the drawing framework a slide sorter is regarded as a view.</p>
*/
service SlideSorter : XSlideSorterBase
{
/** Create a new slide sorter object.
@param xViewId
The resource id of the new slide sorter.
@param xController
The access point to an impress document.
@param xParentWindow
The parent window which will be completely covered by the new
slide sorter.
*/
create (
[in] framework::XResourceId xViewId,
[in] ::com::sun::star::frame::XController xController,
[in] ::com::sun::star::awt::XWindow xParentWindow);
};
}; }; }; };
#endif