xref: /AOO41X/main/offapi/com/sun/star/drawing/SlideSorter.idl (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __com_sun_star_drawing_SlideSorter_idl__
29#define __com_sun_star_drawing_SlideSorter_idl__
30
31#ifndef __com_sun_star_drawing_framework_XView_idl__
32#include <com/sun/star/drawing/framework/XView.idl>
33#endif
34#ifndef __com_sun_star_drawing_XDrawView_idl__
35#include <com/sun/star/drawing/XDrawView.idl>
36#endif
37#ifndef __com_sun_star_awt_XWindow_idl__
38#include <com/sun/star/awt/XWindow.idl>
39#endif
40#ifndef __com_sun_star_container_XIndexAccess_idl__
41#include <com/sun/star/container/XIndexAccess.idl>
42#endif
43#ifndef __com_sun_star_frame_XController_idl__
44#include <com/sun/star/frame/XController.idl>
45#endif
46#ifndef __com_sun_star_util_Color_idl__
47#include <com/sun/star/util/Color.idl>
48#endif
49
50module com {  module sun {  module star {  module drawing {
51
52/** This interface exists only because services do not directly support
53    multiple inheritance and attributes.
54    <p>It provides the interfaces and attributes that every object that
55    implements the <type>SlideSorter</type> service.</p>
56*/
57interface XSlideSorterBase
58{
59    /** This interface is included to mark a <type>SlideSorter</type> object
60        as view of the drawing framework and to provide a
61        <type>ResourceId</type>.
62    */
63    interface ::com::sun::star::drawing::framework::XView;
64
65    /** The <type>XDrawView</type> interface is included to provide access
66        to the current slide (especially write access).
67    */
68    interface ::com::sun::star::drawing::XDrawView;
69
70    /** The set of slides that are displayed by the implementing object.
71        <p>The default value is the set of all slides of the document for
72        which a slide sorter is created.</p>
73    */
74    [attribute] ::com::sun::star::container::XIndexAccess DocumentSlides;
75
76    /** Set this flag to <TRUE/> in order to have the current slide
77        highlighted.
78        <p>The default value is <FALSE/>.</p>
79    */
80    [attribute] boolean IsHighlightCurrentSlide;
81
82    /** Set this flag to <TRUE/> in order to visualize the selection of
83        slides (typically a bold frame around the selected slides).
84        <p>The default value is <TRUE/>.</p>
85    */
86    [attribute] boolean IsShowSelection;
87
88    /** Set this flag to <TRUE/> to visualize to where the focus is by
89        showing a dotted rectangle around the focused slide.
90        <p>The default value is <TRUE/>.</p>
91    */
92    [attribute] boolean IsShowFocus;
93
94    /** When this flag has the value <TRUE/> then every time the current
95        slide is changed the visual area is shifted so that the new current
96        slide is display in the center of the slide sorter window.
97        <p>It is not always possible to move the current slide into the
98        exact center of the window, for example when slides are located near
99        the start or end of a document.</p>
100        <p>The default value is <FALSE/>.
101    */
102    [attribute] boolean IsCenterSelection;
103
104    /** This flag controls whether updates of previews are created during
105        full screen presentations (<FALSE/>) or not (<TRUE/>).  The
106        suspension of preview creations is an optimization for not slowing
107        down a running presentation.
108        <p>The default value is <TRUE/>.</p>
109    */
110    [attribute] boolean IsSuspendPreviewUpdatesDuringFullScreenPresentation;
111
112    /** The orientation of a slide sorter can be either vertical (<TRUE/>)
113        or horizontal (<FALSE/>).
114    */
115    [attribute] boolean IsOrientationVertical;
116
117    /** This flag is a hint to make scrolling look smooth.
118    */
119    [attribute] boolean IsSmoothScrolling;
120
121    [attribute] ::com::sun::star::util::Color BackgroundColor;
122    [attribute] ::com::sun::star::util::Color TextColor;
123    [attribute] ::com::sun::star::util::Color SelectionColor;
124    [attribute] ::com::sun::star::util::Color HighlightColor;
125
126    /** This flag controls whether the model can be modified by using
127        keyboard or mouse.
128        <p>The default value is <TRUE/>.</p>
129    */
130    [attribute] boolean IsUIReadOnly;
131};
132
133
134
135
136/** A slide sorter shows previews for a set of slides, typically all slides
137    in a document, and allows the selection, reordering, creation, and
138    deletion of slides.
139    <p>In the drawing framework a slide sorter is regarded as a view.</p>
140*/
141service SlideSorter : XSlideSorterBase
142{
143    /** Create a new slide sorter object.
144        @param xViewId
145            The resource id of the new slide sorter.
146        @param xController
147            The access point to an impress document.
148        @param xParentWindow
149            The parent window which will be completely covered by the new
150            slide sorter.
151    */
152    create (
153        [in] framework::XResourceId xViewId,
154        [in] ::com::sun::star::frame::XController xController,
155        [in] ::com::sun::star::awt::XWindow xParentWindow);
156};
157
158}; }; }; };
159
160#endif
161