office-gobmx/sd/source/ui/slideshow/slideshow.cxx
Rüdiger Timm acf05af62c INTEGRATION: CWS components1 (1.7.74); FILE MERGED
2007/01/25 15:16:07 af 1.7.74.3: RESYNC: (1.8-1.9); FILE MERGED
2006/09/25 17:19:42 af 1.7.74.2: RESYNC: (1.7-1.8); FILE MERGED
2006/09/15 09:02:44 af 1.7.74.1: #i68075# Added parent window argument to SlideShow constructor.
2007-04-03 15:15:49 +00:00

252 lines
5.5 KiB
C++

/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: slideshow.cxx,v $
*
* $Revision: 1.10 $
*
* last change: $Author: rt $ $Date: 2007-04-03 16:15:49 $
*
* 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
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sd.hxx"
#ifndef _SD_SLIDESHOW_HXX
#include "slideshow.hxx"
#endif
#ifndef _SD_SLIDESHOWIMPL_HXX_
#include "slideshowimpl.hxx"
#endif
using namespace ::sd;
using namespace ::rtl;
Slideshow::Slideshow( ViewShell* pViewSh, ::sd::View* pView, SdDrawDocument* pDoc,
::Window* pParentWindow )
: mpImpl( new SlideshowImpl(pViewSh, pView, pDoc, pParentWindow ) )
{
mpImpl->acquire();
}
Slideshow::~Slideshow()
{
dispose();
mpImpl->release();
}
bool Slideshow::startShow( PresentationSettings* pPresSettings )
{
return mpImpl->startShow( pPresSettings );
}
bool Slideshow::startPreview(
const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xDrawPage,
const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xAnimationNode,
::Window* pParent )
{
if( mpImpl->startPreview( xDrawPage, xAnimationNode, pParent ) )
{
ShowWindow* pShowWindow = mpImpl->getShowWindow();
if( pShowWindow )
pShowWindow->setSlideshow( this );
return true;
}
else
{
return false;
}
}
void Slideshow::paint( const Rectangle& rRect )
{
mpImpl->paint( rRect );
}
void Slideshow::stopShow()
{
mpImpl->stopShow();
}
void Slideshow::dispose()
{
mpImpl->stopShow();
}
ShowWindow* Slideshow::getShowWindow()
{
return mpImpl->mpShowWindow;
}
int Slideshow::getAnimationMode()
{
return mpImpl->meAnimationMode;
}
void Slideshow::jumpToPageIndex( sal_Int32 nPageIndex )
{
mpImpl->displaySlideIndex( nPageIndex );
}
void Slideshow::jumpToPageNumber( sal_Int32 nPageNumber )
{
mpImpl->displaySlideNumber( nPageNumber );
}
sal_Int32 Slideshow::getCurrentPageNumber()
{
return mpImpl->getCurrentSlideNumber();
}
sal_Int32 Slideshow::getCurrentPageIndex()
{
return mpImpl->getCurrentSlideIndex();
}
void Slideshow::jumpToBookmark( const String& sBookmark )
{
mpImpl->jumpToBookmark( sBookmark );
}
void Slideshow::setRehearseTimings( bool bRehearseTimings )
{
mpImpl->mbRehearseTimings = bRehearseTimings;
}
bool Slideshow::isFullScreen()
{
return mpImpl->maPresSettings.mbFullScreen;
}
void Slideshow::resize( const Size &rSize )
{
mpImpl->resize( rSize );
}
void Slideshow::activate()
{
mpImpl->activate();
}
void Slideshow::deactivate()
{
mpImpl->deactivate();
}
void Slideshow::setWindow( sd::Window* )
{
}
bool Slideshow::requestHelp(const HelpEvent& )
{
return false;
}
bool Slideshow::isTerminated()
{
return !mpImpl->mxShow.is();
}
bool Slideshow::keyInput(const KeyEvent& rKEvt)
{
return mpImpl->keyInput(rKEvt);
}
void Slideshow::mouseButtonDown(const MouseEvent& )
{
}
void Slideshow::mouseMove(const MouseEvent& )
{
}
void Slideshow::mouseButtonUp(const MouseEvent& rMEvt)
{
mpImpl->mouseButtonUp( rMEvt );
}
void Slideshow::command(const CommandEvent& rEvent)
{
switch (rEvent.GetCommand())
{
case COMMAND_WHEEL:
{
// We ignore zooming with control+mouse wheel.
const CommandWheelData* pData = rEvent.GetWheelData();
if( pData && !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) && !pData->IsHorz() )
{
long nDelta = pData->GetDelta();
if( nDelta > 0 )
{
mpImpl->gotoPreviousSlide();
}
else if( nDelta < 0 )
{
mpImpl->gotoNextEffect();
}
};
}
break;
}
}
bool Slideshow::isAlwaysOnTop()
{
return mpImpl->maPresSettings.mbAlwaysOnTop;
}
bool Slideshow::pause( bool bPause )
{
return mpImpl->pause( bPause );
}
void Slideshow::receiveRequest(SfxRequest& rReq)
{
mpImpl->receiveRequest( rReq );
}
sal_Int32 Slideshow::getFirstPageNumber()
{
return mpImpl->getFirstSlideNumber();
}
sal_Int32 Slideshow::getLastPageNumber()
{
return mpImpl->getLastSlideNumber();
}
bool Slideshow::isEndless()
{
return mpImpl->isEndless();
}
bool Slideshow::isDrawingPossible()
{
return mpImpl->isDrawingPossible();
}