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