1*c45d927aSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*c45d927aSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*c45d927aSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*c45d927aSAndrew Rist * distributed with this work for additional information 6*c45d927aSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*c45d927aSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*c45d927aSAndrew Rist * "License"); you may not use this file except in compliance 9*c45d927aSAndrew Rist * with the License. You may obtain a copy of the License at 10*c45d927aSAndrew Rist * 11*c45d927aSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*c45d927aSAndrew Rist * 13*c45d927aSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*c45d927aSAndrew Rist * software distributed under the License is distributed on an 15*c45d927aSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*c45d927aSAndrew Rist * KIND, either express or implied. See the License for the 17*c45d927aSAndrew Rist * specific language governing permissions and limitations 18*c45d927aSAndrew Rist * under the License. 19*c45d927aSAndrew Rist * 20*c45d927aSAndrew Rist *************************************************************/ 21*c45d927aSAndrew Rist 22*c45d927aSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SD_SLIDESORTER_PROPERTIES_HEADER 25cdf0e10cSrcweir #define SD_SLIDESORTER_PROPERTIES_HEADER 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <tools/color.hxx> 28cdf0e10cSrcweir 29cdf0e10cSrcweir namespace sd { namespace slidesorter { namespace controller { 30cdf0e10cSrcweir 31cdf0e10cSrcweir /** An extensible set of properties used throughout the slide sorter. 32cdf0e10cSrcweir */ 33cdf0e10cSrcweir class Properties 34cdf0e10cSrcweir { 35cdf0e10cSrcweir public: 36cdf0e10cSrcweir Properties (void); 37cdf0e10cSrcweir ~Properties (void); 38cdf0e10cSrcweir 39cdf0e10cSrcweir /** Call this method after receiving a VCLEVENT_APPLICATION_DATACHANGED 40cdf0e10cSrcweir event. 41cdf0e10cSrcweir */ 42cdf0e10cSrcweir void HandleDataChangeEvent (void); 43cdf0e10cSrcweir 44cdf0e10cSrcweir /** When this method returns <TRUE/> then the current slide is 45cdf0e10cSrcweir highlighted in the view. The default value is <FALSE/>. 46cdf0e10cSrcweir */ 47cdf0e10cSrcweir bool IsHighlightCurrentSlide (void) const; 48cdf0e10cSrcweir void SetHighlightCurrentSlide (const bool bIsHighlightCurrentSlide); 49cdf0e10cSrcweir 50cdf0e10cSrcweir /** When this method returns <TRUE/> then the selection is indicated in 51cdf0e10cSrcweir the view (typically by drawing rectangles around the selected 52cdf0e10cSrcweir slides.) The default value is <TRUE/>. 53cdf0e10cSrcweir */ 54cdf0e10cSrcweir bool IsShowSelection (void) const; 55cdf0e10cSrcweir void SetShowSelection (const bool bIsShowSelection); 56cdf0e10cSrcweir 57cdf0e10cSrcweir /** When this method returns <TRUE/> then the focusdselection is indicated in 58cdf0e10cSrcweir the view (typically by drawing dotted rectangles around the selected 59cdf0e10cSrcweir slides.) The default value is <TRUE/>. 60cdf0e10cSrcweir */ 61cdf0e10cSrcweir bool IsShowFocus (void) const; 62cdf0e10cSrcweir void SetShowFocus (const bool bIsShowFocus); 63cdf0e10cSrcweir 64cdf0e10cSrcweir /** When this method returns <TRUE/> then on a selection change the 65cdf0e10cSrcweir visible area is adapted so that the selected slides are shown 66cdf0e10cSrcweir centered in the view. This can be used to center the current slide 67cdf0e10cSrcweir by selecting only the current slide. The default value is <FALSE/>. 68cdf0e10cSrcweir */ 69cdf0e10cSrcweir bool IsCenterSelection (void) const; 70cdf0e10cSrcweir void SetCenterSelection (const bool bIsCenterSelection); 71cdf0e10cSrcweir 72cdf0e10cSrcweir /** When this mehod returns <TRUE/> then the view may try to change the 73cdf0e10cSrcweir visible area by scrolling it smoothly on the screen. Experimental. 74cdf0e10cSrcweir Default value is <FALSE/>. 75cdf0e10cSrcweir */ 76cdf0e10cSrcweir bool IsSmoothSelectionScrolling (void) const; 77cdf0e10cSrcweir void SetSmoothSelectionScrolling (const bool bIsSmoothSelectionScrolling); 78cdf0e10cSrcweir 79cdf0e10cSrcweir /** When this method returns <TRUE/> then during a full screen 80cdf0e10cSrcweir presentation the previews in a slide sorter are not updated. 81cdf0e10cSrcweir Default value is <TRUE/>. 82cdf0e10cSrcweir */ 83cdf0e10cSrcweir bool IsSuspendPreviewUpdatesDuringFullScreenPresentation (void) const; 84cdf0e10cSrcweir void SetSuspendPreviewUpdatesDuringFullScreenPresentation (const bool bFlag); 85cdf0e10cSrcweir 86cdf0e10cSrcweir /** Return the background color. 87cdf0e10cSrcweir */ 88cdf0e10cSrcweir Color GetBackgroundColor (void) const; 89cdf0e10cSrcweir void SetBackgroundColor (const Color& rColor); 90cdf0e10cSrcweir 91cdf0e10cSrcweir /** Return the text color. 92cdf0e10cSrcweir */ 93cdf0e10cSrcweir Color GetTextColor (void) const; 94cdf0e10cSrcweir void SetTextColor (const Color& rColor); 95cdf0e10cSrcweir 96cdf0e10cSrcweir /** Return the color in which selections are to be painted. 97cdf0e10cSrcweir */ 98cdf0e10cSrcweir Color GetSelectionColor (void) const; 99cdf0e10cSrcweir void SetSelectionColor (const Color& rColor); 100cdf0e10cSrcweir 101cdf0e10cSrcweir /** Return the color used for highlighting e.g. the current slide. 102cdf0e10cSrcweir */ 103cdf0e10cSrcweir Color GetHighlightColor (void) const; 104cdf0e10cSrcweir void SetHighlightColor (const Color& rColor); 105cdf0e10cSrcweir 106cdf0e10cSrcweir /** The UI can be set to be read only indepently from the model status. 107cdf0e10cSrcweir Used for instance in the presenter view. 108cdf0e10cSrcweir */ 109cdf0e10cSrcweir bool IsUIReadOnly (void) const; 110cdf0e10cSrcweir void SetUIReadOnly (const bool bIsUIReadOnly); 111cdf0e10cSrcweir 112cdf0e10cSrcweir /** The mouse over effect (and whether a mouse motion starts a multi 113cdf0e10cSrcweir selection or a drag-and-drop) can be triggered by just the preview 114cdf0e10cSrcweir area or the whole page object area. 115cdf0e10cSrcweir */ 116cdf0e10cSrcweir bool IsOnlyPreviewTriggersMouseOver (void) const; 117cdf0e10cSrcweir void SetOnlyPreviewTriggersMouseOver (const bool bFlag); 118cdf0e10cSrcweir 119cdf0e10cSrcweir bool IsHighContrastModeActive (void) const; 120cdf0e10cSrcweir 121cdf0e10cSrcweir private: 122cdf0e10cSrcweir bool mbIsHighlightCurrentSlide; 123cdf0e10cSrcweir bool mbIsShowSelection; 124cdf0e10cSrcweir bool mbIsShowFocus; 125cdf0e10cSrcweir bool mbIsCenterSelection; 126cdf0e10cSrcweir bool mbIsSmoothSelectionScrolling; 127cdf0e10cSrcweir bool mbIsSuspendPreviewUpdatesDuringFullScreenPresentation; 128cdf0e10cSrcweir Color maBackgroundColor; 129cdf0e10cSrcweir Color maTextColor; 130cdf0e10cSrcweir Color maSelectionColor; 131cdf0e10cSrcweir Color maHighlightColor; 132cdf0e10cSrcweir bool mbIsUIReadOnly; 133cdf0e10cSrcweir bool mbIsOnlyPreviewTriggersMouseOver; 134cdf0e10cSrcweir bool mbIsHighContrastModeActive; 135cdf0e10cSrcweir }; 136cdf0e10cSrcweir 137cdf0e10cSrcweir } } } // end of namespace ::sd::slidesorter::controller 138cdf0e10cSrcweir 139cdf0e10cSrcweir #endif 140cdf0e10cSrcweir 141