Files
libreoffice/slideshow/source/engine/usereventqueue.cxx

853 lines
27 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// must be first
#include <canvas/debug.hxx>
#include <tools/diagnose_ex.h>
#include <comphelper/anytostring.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <com/sun/star/awt/SystemPointer.hpp>
#include <com/sun/star/awt/MouseButton.hpp>
#include <com/sun/star/awt/MouseEvent.hpp>
#include <boost/bind.hpp>
#include "delayevent.hxx"
#include "usereventqueue.hxx"
#include "cursormanager.hxx"
#include "slideshowexceptions.hxx"
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
#include <vector>
#include <queue>
#include <map>
#include <functional>
#include <algorithm>
using namespace com::sun::star;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
/* Implementation of UserEventQueue class */
namespace slideshow {
namespace internal {
namespace {
typedef std::vector<EventSharedPtr> ImpEventVector;
typedef std::queue<EventSharedPtr> ImpEventQueue;
typedef std::map<uno::Reference<animations::XAnimationNode>,
ImpEventVector> ImpAnimationEventMap;
typedef std::map<ShapeSharedPtr, ImpEventQueue,
Shape::lessThanShape> ImpShapeEventMap;
// MouseEventHandler base class, not consuming any event:
class MouseEventHandler_ : public MouseEventHandler
{
public:
virtual bool handleMousePressed( awt::MouseEvent const& /*e*/ ) SAL_OVERRIDE { return false;}
virtual bool handleMouseReleased( awt::MouseEvent const& /*e*/) SAL_OVERRIDE { return false;}
virtual bool handleMouseEntered( awt::MouseEvent const& /*e*/ ) SAL_OVERRIDE { return false;}
virtual bool handleMouseExited( awt::MouseEvent const& /*e*/ ) SAL_OVERRIDE { return false; }
virtual bool handleMouseDragged( awt::MouseEvent const& /*e*/ ) SAL_OVERRIDE { return false;}
virtual bool handleMouseMoved( awt::MouseEvent const& /*e*/ ) SAL_OVERRIDE { return false; }
};
/** @return one event has been posted
*/
template <typename ContainerT>
bool fireSingleEvent( ContainerT & rQueue, EventQueue & rEventQueue )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
// post next event in given queue:
while (! rQueue.empty())
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
EventSharedPtr const pEvent(rQueue.front());
rQueue.pop();
// skip all inactive events (as the purpose of
// nextEventFromQueue() is to activate the next
// event, and events which return false on
// isCharged() will never be activated by the
// EventQueue)
if(pEvent->isCharged())
return rEventQueue.addEvent( pEvent );
}
return false; // no more (active) events in queue
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
/** @return at least one event has been posted
*/
template <typename ContainerT>
bool fireAllEvents( ContainerT & rQueue, EventQueue & rEventQueue )
{
bool bFiredAny = false;
while (fireSingleEvent( rQueue, rEventQueue ))
bFiredAny = true;
return bFiredAny;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class EventContainer
{
public:
EventContainer() :
maEvents()
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void addEvent( const EventSharedPtr& rEvent )
{
maEvents.push( rEvent );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
protected:
ImpEventQueue maEvents;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
} // anon namespace
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class AllAnimationEventHandler : public AnimationEventHandler
{
public:
AllAnimationEventHandler( EventQueue& rEventQueue ) :
mrEventQueue( rEventQueue ),
maAnimationEventMap()
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
virtual bool handleAnimationEvent( const AnimationNodeSharedPtr& rNode ) SAL_OVERRIDE
{
ENSURE_OR_RETURN_FALSE(
rNode,
"AllAnimationEventHandler::handleAnimationEvent(): Invalid node" );
bool bRet( false );
ImpAnimationEventMap::iterator aIter;
if( (aIter=maAnimationEventMap.find(
rNode->getXAnimationNode() )) != maAnimationEventMap.end() )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
ImpEventVector& rVec( aIter->second );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
bRet = !rVec.empty();
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// registered node found -> fire all events in the vector
std::for_each( rVec.begin(), rVec.end(),
boost::bind( &EventQueue::addEvent,
boost::ref( mrEventQueue ), _1 ) );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
rVec.clear();
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return bRet;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void addEvent( const EventSharedPtr& rEvent,
const uno::Reference< animations::XAnimationNode >& xNode )
{
ImpAnimationEventMap::iterator aIter;
if( (aIter=maAnimationEventMap.find( xNode )) ==
maAnimationEventMap.end() )
{
// no entry for this animation -> create one
aIter = maAnimationEventMap.insert(
ImpAnimationEventMap::value_type( xNode,
ImpEventVector() ) ).first;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// add new event to queue
aIter->second.push_back( rEvent );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
EventQueue& mrEventQueue;
ImpAnimationEventMap maAnimationEventMap;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class ClickEventHandler : public MouseEventHandler_,
public EventHandler,
public EventContainer
{
public:
ClickEventHandler( EventQueue& rEventQueue ) :
EventContainer(),
mrEventQueue( rEventQueue ),
mbAdvanceOnClick( true )
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void setAdvanceOnClick( bool bAdvanceOnClick )
{
mbAdvanceOnClick = bAdvanceOnClick;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// triggered by API calls, e.g. space bar
virtual bool handleEvent() SAL_OVERRIDE
{
return handleEvent_impl();
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// triggered by mouse release:
virtual bool handleMouseReleased( const awt::MouseEvent& evt ) SAL_OVERRIDE
{
if(evt.Buttons != awt::MouseButton::LEFT)
return false;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
if( mbAdvanceOnClick ) {
// fire next event
return handleEvent_impl();
}
else {
return false; // advance-on-click disabled
}
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// triggered by both:
virtual bool handleEvent_impl()
{
// fire next event:
return fireSingleEvent( maEvents, mrEventQueue );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
EventQueue& mrEventQueue;
bool mbAdvanceOnClick;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class SkipEffectEventHandler : public ClickEventHandler
{
public:
SkipEffectEventHandler( EventQueue & rEventQueue,
EventMultiplexer & rEventMultiplexer )
: ClickEventHandler(rEventQueue),
mrEventQueue(rEventQueue),
mrEventMultiplexer(rEventMultiplexer),
mbSkipTriggersNextEffect(true) {}
/** Remember to trigger (or not to trigger) the next effect after the
current effect is skiped.
*/
void setSkipTriggersNextEffect (const bool bSkipTriggersNextEffect)
{ mbSkipTriggersNextEffect = bSkipTriggersNextEffect; }
/// Skip the current effect but do not triggere the next effect.
void skipEffect (void) { handleEvent_impl(false); }
private:
virtual bool handleEvent_impl() SAL_OVERRIDE
{
return handleEvent_impl(true);
}
bool handleEvent_impl (bool bNotifyNextEffect)
{
// fire all events, so animation nodes can register their
// next effect listeners:
if(fireAllEvents( maEvents, mrEventQueue ))
{
if (mbSkipTriggersNextEffect && bNotifyNextEffect)
{
// then simulate a next effect event: this skip effect
// handler is triggered upon next effect events (multiplexer
// prio=-1)! Posting a notifyNextEffect() here is only safe
// (we don't run into busy loop), because we assume that
// someone has registerered above for next effects
// (multiplexer prio=0) at the user event queue.
return mrEventQueue.addEventWhenQueueIsEmpty(
makeEvent( boost::bind( &EventMultiplexer::notifyNextEffect,
boost::ref(mrEventMultiplexer) ),
"EventMultiplexer::notifyNextEffect") );
}
else
return true;
}
return false;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
EventQueue & mrEventQueue;
EventMultiplexer & mrEventMultiplexer;
bool mbSkipTriggersNextEffect;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class RewindEffectEventHandler : public MouseEventHandler_,
public EventContainer
{
public:
RewindEffectEventHandler( EventQueue & rEventQueue )
: EventContainer(), mrEventQueue(rEventQueue) {}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
virtual bool handleMouseReleased( awt::MouseEvent const& evt ) SAL_OVERRIDE
{
if(evt.Buttons != awt::MouseButton::RIGHT)
return false;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return fireAllEvents( maEvents, mrEventQueue );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
EventQueue & mrEventQueue;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
/** Base class to share some common code between
ShapeClickEventHandler and MouseMoveHandler
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
@derive override necessary MouseEventHandler interface methods,
call sendEvent() method to actually process the event.
*/
class MouseHandlerBase : public MouseEventHandler_
{
public:
MouseHandlerBase( EventQueue& rEventQueue ) :
mrEventQueue( rEventQueue ),
maShapeEventMap()
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void addEvent( const EventSharedPtr& rEvent,
const ShapeSharedPtr& rShape )
{
ImpShapeEventMap::iterator aIter;
if( (aIter=maShapeEventMap.find( rShape )) == maShapeEventMap.end() )
{
// no entry for this shape -> create one
aIter = maShapeEventMap.insert(
ImpShapeEventMap::value_type( rShape,
ImpEventQueue() ) ).first;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// add new event to queue
aIter->second.push( rEvent );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
protected:
bool hitTest( const awt::MouseEvent& e,
ImpShapeEventMap::reverse_iterator& o_rHitShape )
{
// find hit shape in map
const basegfx::B2DPoint aPosition( e.X, e.Y );
// find matching shape (scan reversely, to coarsely match
// paint order)
ImpShapeEventMap::reverse_iterator aCurrShape(maShapeEventMap.rbegin());
const ImpShapeEventMap::reverse_iterator aEndShape( maShapeEventMap.rend() );
while( aCurrShape != aEndShape )
{
// TODO(F2): Get proper geometry polygon from the
// shape, to avoid having areas outside the shape
// react on the mouse
if( aCurrShape->first->getBounds().isInside( aPosition ) &&
aCurrShape->first->isVisible() )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
// shape hit, and shape is visible - report a
// hit
o_rHitShape = aCurrShape;
return true;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
}
++aCurrShape;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return false; // nothing hit
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
bool sendEvent( ImpShapeEventMap::reverse_iterator& io_rHitShape )
{
// take next event from queue
const bool bRet( fireSingleEvent( io_rHitShape->second,
mrEventQueue ) );
// clear shape entry, if its queue is
// empty. This is important, since the shapes
// are held by shared ptr, and might otherwise
// not get released, even after their owning
// slide is long gone.
if( io_rHitShape->second.empty() )
{
// this looks funny, since ::std::map does
// provide an erase( iterator )
// method. Unfortunately, C++ does not
// declare the obvious erase(
// reverse_iterator ) needed here (missing
// orthogonality, eh?)
maShapeEventMap.erase( io_rHitShape->first );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return bRet;
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
bool processEvent( const awt::MouseEvent& e )
{
ImpShapeEventMap::reverse_iterator aCurrShape;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
if( hitTest( e, aCurrShape ) )
return sendEvent( aCurrShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return false; // did not handle the event
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
EventQueue& mrEventQueue;
ImpShapeEventMap maShapeEventMap;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class ShapeClickEventHandler : public MouseHandlerBase
{
public:
ShapeClickEventHandler( CursorManager& rCursorManager,
EventQueue& rEventQueue ) :
MouseHandlerBase( rEventQueue ),
mrCursorManager( rCursorManager )
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
virtual bool handleMouseReleased( const awt::MouseEvent& e ) SAL_OVERRIDE
{
if(e.Buttons != awt::MouseButton::LEFT)
return false;
return processEvent( e );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
virtual bool handleMouseMoved( const awt::MouseEvent& e ) SAL_OVERRIDE
{
// TODO(P2): Maybe buffer last shape touched
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// if we have a shape click event, and the mouse
// hovers over this shape, change cursor to hand
ImpShapeEventMap::reverse_iterator aDummy;
if( hitTest( e, aDummy ) )
mrCursorManager.requestCursor( awt::SystemPointer::REFHAND );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return false; // we don't /eat/ this event. Lower prio
// handler should see it, too.
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
CursorManager& mrCursorManager;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class MouseEnterHandler : public MouseHandlerBase
{
public:
MouseEnterHandler( EventQueue& rEventQueue )
: MouseHandlerBase( rEventQueue ),
mpLastShape() {}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
virtual bool handleMouseMoved( const awt::MouseEvent& e ) SAL_OVERRIDE
{
// TODO(P2): Maybe buffer last shape touched, and
// check against that _first_
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
ImpShapeEventMap::reverse_iterator aCurr;
if( hitTest( e, aCurr ) )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
if( aCurr->first != mpLastShape )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
// we actually hit a shape, and it's different
// from the previous one - thus we just
// entered it, raise event
sendEvent( aCurr );
mpLastShape = aCurr->first;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
}
}
else
{
// don't hit no shape - thus, last shape is NULL
mpLastShape.reset();
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
return false; // we don't /eat/ this event. Lower prio
// handler should see it, too.
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
ShapeSharedPtr mpLastShape;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
class MouseLeaveHandler : public MouseHandlerBase
{
public:
MouseLeaveHandler( EventQueue& rEventQueue )
: MouseHandlerBase( rEventQueue ),
maLastIter() {}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
virtual bool handleMouseMoved( const awt::MouseEvent& e ) SAL_OVERRIDE
{
// TODO(P2): Maybe buffer last shape touched, and
// check against that _first_
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
ImpShapeEventMap::reverse_iterator aCurr;
if( hitTest( e, aCurr ) )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
maLastIter = aCurr;
}
else
{
if( maLastIter->first )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
{
// last time, we were over a shape, now we're
// not - we thus just left that shape, raise
// event
sendEvent( maLastIter );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
}
// in any case, when we hit this else-branch: no
// shape hit, thus have to clear maLastIter
maLastIter = ImpShapeEventMap::reverse_iterator();
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
}
return false; // we don't /eat/ this event. Lower prio
// handler should see it, too.
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
ImpShapeEventMap::reverse_iterator maLastIter;
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
template< typename Handler, typename Functor >
void UserEventQueue::registerEvent(
boost::shared_ptr< Handler >& rHandler,
const EventSharedPtr& rEvent,
const Functor& rRegistrationFunctor )
{
ENSURE_OR_THROW( rEvent,
"UserEventQueue::registerEvent(): Invalid event" );
if( !rHandler ) {
// create handler
rHandler.reset( new Handler( mrEventQueue ) );
// register handler on EventMultiplexer
rRegistrationFunctor( rHandler );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
rHandler->addEvent( rEvent );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
template< typename Handler, typename Arg, typename Functor >
void UserEventQueue::registerEvent(
boost::shared_ptr< Handler >& rHandler,
const EventSharedPtr& rEvent,
const Arg& rArg,
const Functor& rRegistrationFunctor )
{
ENSURE_OR_THROW( rEvent,
"UserEventQueue::registerEvent(): Invalid event" );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
if( !rHandler ) {
// create handler
rHandler.reset( new Handler( mrEventQueue ) );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// register handler on EventMultiplexer
rRegistrationFunctor( rHandler );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
rHandler->addEvent( rEvent, rArg );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
UserEventQueue::UserEventQueue( EventMultiplexer& rMultiplexer,
EventQueue& rEventQueue,
CursorManager& rCursorManager )
: mrMultiplexer( rMultiplexer ),
mrEventQueue( rEventQueue ),
mrCursorManager( rCursorManager ),
mpAnimationStartEventHandler(),
mpAnimationEndEventHandler(),
mpAudioStoppedEventHandler(),
mpClickEventHandler(),
mpSkipEffectEventHandler(),
mpRewindEffectEventHandler(),
mpDoubleClickEventHandler(),
mpMouseEnterHandler(),
mpMouseLeaveHandler(),
mbAdvanceOnClick( true )
{
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
UserEventQueue::~UserEventQueue()
{
try
{
// unregister all handlers
clear();
}
catch (uno::Exception &) {
OSL_FAIL( OUStringToOString(
comphelper::anyToString(
cppu::getCaughtException() ),
RTL_TEXTENCODING_UTF8 ).getStr() );
}
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::clear()
{
// unregister and delete all handlers
if( mpAnimationStartEventHandler ) {
mrMultiplexer.removeAnimationStartHandler(
mpAnimationStartEventHandler );
mpAnimationStartEventHandler.reset();
}
if( mpAnimationEndEventHandler ) {
mrMultiplexer.removeAnimationEndHandler( mpAnimationEndEventHandler );
mpAnimationEndEventHandler.reset();
}
if( mpAudioStoppedEventHandler ) {
mrMultiplexer.removeAudioStoppedHandler( mpAudioStoppedEventHandler );
mpAudioStoppedEventHandler.reset();
}
if( mpShapeClickEventHandler ) {
mrMultiplexer.removeClickHandler( mpShapeClickEventHandler );
mrMultiplexer.removeMouseMoveHandler( mpShapeClickEventHandler );
mpShapeClickEventHandler.reset();
}
if( mpClickEventHandler ) {
mrMultiplexer.removeClickHandler( mpClickEventHandler );
mrMultiplexer.removeNextEffectHandler( mpClickEventHandler );
mpClickEventHandler.reset();
}
if(mpSkipEffectEventHandler) {
mrMultiplexer.removeClickHandler( mpSkipEffectEventHandler );
mrMultiplexer.removeNextEffectHandler( mpSkipEffectEventHandler );
mpSkipEffectEventHandler.reset();
}
if(mpRewindEffectEventHandler) {
mrMultiplexer.removeClickHandler( mpRewindEffectEventHandler );
mpRewindEffectEventHandler.reset();
}
if( mpShapeDoubleClickEventHandler ) {
mrMultiplexer.removeDoubleClickHandler( mpShapeDoubleClickEventHandler );
mrMultiplexer.removeMouseMoveHandler( mpShapeDoubleClickEventHandler );
mpShapeDoubleClickEventHandler.reset();
}
if( mpDoubleClickEventHandler ) {
mrMultiplexer.removeDoubleClickHandler( mpDoubleClickEventHandler );
mpDoubleClickEventHandler.reset();
}
if( mpMouseEnterHandler ) {
mrMultiplexer.removeMouseMoveHandler( mpMouseEnterHandler );
mpMouseEnterHandler.reset();
}
if( mpMouseLeaveHandler ) {
mrMultiplexer.removeMouseMoveHandler( mpMouseLeaveHandler );
mpMouseLeaveHandler.reset();
}
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::setAdvanceOnClick( bool bAdvanceOnClick )
{
mbAdvanceOnClick = bAdvanceOnClick;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
// forward to handler, if existing. Otherwise, the handler
// creation will do the forwarding.
if( mpClickEventHandler )
mpClickEventHandler->setAdvanceOnClick( bAdvanceOnClick );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerAnimationStartEvent(
const EventSharedPtr& rEvent,
const uno::Reference< animations::XAnimationNode>& xNode )
{
registerEvent( mpAnimationStartEventHandler,
rEvent,
xNode,
boost::bind( &EventMultiplexer::addAnimationStartHandler,
boost::ref( mrMultiplexer ), _1 ) );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerAnimationEndEvent(
const EventSharedPtr& rEvent,
const uno::Reference<animations::XAnimationNode>& xNode )
{
registerEvent( mpAnimationEndEventHandler,
rEvent,
xNode,
boost::bind( &EventMultiplexer::addAnimationEndHandler,
boost::ref( mrMultiplexer ), _1 ) );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerAudioStoppedEvent(
const EventSharedPtr& rEvent,
const uno::Reference<animations::XAnimationNode>& xNode )
{
registerEvent( mpAudioStoppedEventHandler,
rEvent,
xNode,
boost::bind( &EventMultiplexer::addAudioStoppedHandler,
boost::ref( mrMultiplexer ), _1 ) );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerShapeClickEvent( const EventSharedPtr& rEvent,
const ShapeSharedPtr& rShape )
{
ENSURE_OR_THROW(
rEvent,
"UserEventQueue::registerShapeClickEvent(): Invalid event" );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
if( !mpShapeClickEventHandler )
{
// create handler
mpShapeClickEventHandler.reset(
new ShapeClickEventHandler(mrCursorManager,
mrEventQueue) );
// register handler on EventMultiplexer
mrMultiplexer.addClickHandler( mpShapeClickEventHandler, 1.0 );
mrMultiplexer.addMouseMoveHandler( mpShapeClickEventHandler, 1.0 );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
mpShapeClickEventHandler->addEvent( rEvent, rShape );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
namespace {
class ClickEventRegistrationFunctor
{
public:
ClickEventRegistrationFunctor( EventMultiplexer& rMultiplexer,
double nPrio,
bool bAdvanceOnClick )
: mrMultiplexer( rMultiplexer ),
mnPrio(nPrio),
mbAdvanceOnClick( bAdvanceOnClick ) {}
void operator()( const boost::shared_ptr<ClickEventHandler>& rHandler )const
{
// register the handler on _two_ sources: we want the
// nextEffect events, e.g. space bar, to trigger clicks, as well!
mrMultiplexer.addClickHandler( rHandler, mnPrio );
mrMultiplexer.addNextEffectHandler( rHandler, mnPrio );
// forward advance-on-click state to newly
// generated handler (that's the only reason why
// we're called here)
rHandler->setAdvanceOnClick( mbAdvanceOnClick );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
private:
EventMultiplexer& mrMultiplexer;
double const mnPrio;
bool const mbAdvanceOnClick;
};
} // anon namespace
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerNextEffectEvent( const EventSharedPtr& rEvent )
{
// TODO: better name may be mpNextEffectEventHandler? then we have
// next effect (=> waiting to be started)
// skip effect (skipping the currently running one)
// rewind effect (rewinding back running one and waiting (again)
// to be started)
registerEvent( mpClickEventHandler,
rEvent,
ClickEventRegistrationFunctor( mrMultiplexer,
0.0 /* default prio */,
mbAdvanceOnClick ) );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerSkipEffectEvent(
EventSharedPtr const & pEvent,
const bool bSkipTriggersNextEffect)
{
if(!mpSkipEffectEventHandler)
{
mpSkipEffectEventHandler.reset(
new SkipEffectEventHandler( mrEventQueue, mrMultiplexer ) );
// register the handler on _two_ sources: we want the
// nextEffect events, e.g. space bar, to trigger clicks, as well!
mrMultiplexer.addClickHandler( mpSkipEffectEventHandler,
-1.0 /* prio below default */ );
mrMultiplexer.addNextEffectHandler( mpSkipEffectEventHandler,
-1.0 /* prio below default */ );
// forward advance-on-click state to newly
// generated handler (that's the only reason why
// we're called here)
mpSkipEffectEventHandler->setAdvanceOnClick( mbAdvanceOnClick );
}
mpSkipEffectEventHandler->setSkipTriggersNextEffect(bSkipTriggersNextEffect);
mpSkipEffectEventHandler->addEvent( pEvent );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerRewindEffectEvent( EventSharedPtr const& pEvent )
{
registerEvent( mpRewindEffectEventHandler,
pEvent,
boost::bind( &EventMultiplexer::addClickHandler,
boost::ref(mrMultiplexer), _1,
-1.0 /* prio below default */ ) );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerShapeDoubleClickEvent(
const EventSharedPtr& rEvent,
const ShapeSharedPtr& rShape )
{
ENSURE_OR_THROW(
rEvent,
"UserEventQueue::registerShapeDoubleClickEvent(): Invalid event" );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
if( !mpShapeDoubleClickEventHandler )
{
// create handler
mpShapeDoubleClickEventHandler.reset(
new ShapeClickEventHandler(mrCursorManager,
mrEventQueue) );
// register handler on EventMultiplexer
mrMultiplexer.addDoubleClickHandler( mpShapeDoubleClickEventHandler,
1.0 );
mrMultiplexer.addMouseMoveHandler( mpShapeDoubleClickEventHandler,
1.0 );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
mpShapeDoubleClickEventHandler->addEvent( rEvent, rShape );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerMouseEnterEvent( const EventSharedPtr& rEvent,
const ShapeSharedPtr& rShape )
{
registerEvent( mpMouseEnterHandler,
rEvent,
rShape,
boost::bind( &EventMultiplexer::addMouseMoveHandler,
boost::ref( mrMultiplexer ), _1,
0.0 /* default prio */ ) );
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
void UserEventQueue::registerMouseLeaveEvent( const EventSharedPtr& rEvent,
const ShapeSharedPtr& rShape )
{
registerEvent( mpMouseLeaveHandler,
rEvent,
rShape,
boost::bind( &EventMultiplexer::addMouseMoveHandler,
boost::ref( mrMultiplexer ), _1,
0.0 /* default prio */ ) );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/11/03 18:41:27 thb 1.1.2.11: #i36221# Now honoring interactive sequences (apart from the main animation sequence), which enables trigger effects to work. Had to tweak quite some more, to get click handling, and mouse cursor changes to work with that (now, a registered shape click event at the UserEventQueue automatically sets the shape cursor to REFHAND, as long as events are pending for that shape) 2004/10/22 16:36:49 thb 1.1.2.10: #107736# Added AdvanceOnClick and ImageAnimationsAllowed properties 2004/10/21 23:24:37 thb 1.1.2.9: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/09/06 16:07:33 thb 1.1.2.8: #i10000# Fixed various unixoid build breakages (missing types, gcc bind peculiarities, hdl instead of hpp etc. 2004/09/06 13:50:01 thb 1.1.2.7: #110496# Reworked event handling, we now have the EventMultiplexer, which is the only instance actually registering a listener at the view. Added user painting on the slideshow canvas 2004/08/31 17:05:23 thb 1.1.2.6: #110496# Added automatic slide transition support, added user interaction to activate slide transitions 2004/08/31 01:12:33 thb 1.1.2.5: #110496# Implemented shape broadcasting, added CurrentPage property when calling the UnoGraphicExporter for shape metafiles 2004/08/09 11:50:05 thb 1.1.2.4: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris) 2004/08/01 20:08:13 thb 1.1.2.3: #110496# Changed slideshow API to match the needs of sd more closely 2004/07/26 14:10:09 thb 1.1.2.2: #i10000# Madebind and mem_fn build under Solaris 2004/07/22 19:24:57 thb 1.1.2.1: #110496# Initial revision
2004-11-26 18:00:49 +00:00
}
void UserEventQueue::callSkipEffectEventHandler (void)
{
::boost::shared_ptr<SkipEffectEventHandler> pHandler (
::boost::dynamic_pointer_cast<SkipEffectEventHandler>(mpSkipEffectEventHandler));
if (pHandler)
pHandler->skipEffect();
}
} // namespace internal
} // namespace presentation
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */