2010-10-12 15:51:52 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-07-11 09:51:50 +01:00
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
2006-09-17 07:29:59 +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
|
2006-12-13 14:21:51 +00:00
|
|
|
#include <canvas/debug.hxx>
|
2008-06-24 11:04:12 +00:00
|
|
|
#include <tools/diagnose_ex.h>
|
2006-12-13 14:21:51 +00:00
|
|
|
|
|
|
|
#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>
|
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
#include "delayevent.hxx"
|
|
|
|
#include "usereventqueue.hxx"
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
#include "cursormanager.hxx"
|
2005-10-11 07:36:36 +00:00
|
|
|
#include "slideshowexceptions.hxx"
|
2006-12-13 14:21:51 +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
|
|
|
#include <vector>
|
|
|
|
#include <queue>
|
|
|
|
#include <map>
|
|
|
|
#include <functional>
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
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 */
|
|
|
|
|
2006-12-13 14:21:51 +00:00
|
|
|
namespace slideshow {
|
2005-10-11 07:36:36 +00:00
|
|
|
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:
|
2014-03-27 18:12:18 +01:00
|
|
|
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; }
|
2005-10-11 07:36:36 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/** @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
|
|
|
{
|
2005-10-11 07:36:36 +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
|
|
|
{
|
2005-10-11 07:36:36 +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)
|
2006-12-13 14:21:51 +00:00
|
|
|
if(pEvent->isCharged())
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
class EventContainer
|
|
|
|
{
|
|
|
|
public:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
class AllAnimationEventHandler : public AnimationEventHandler
|
|
|
|
{
|
|
|
|
public:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
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
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleAnimationEvent( const AnimationNodeSharedPtr& rNode ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
2010-01-29 08:49:42 +01:00
|
|
|
ENSURE_OR_RETURN_FALSE(
|
2006-12-13 14:21:51 +00:00
|
|
|
rNode,
|
2005-10-11 07:36:36 +00:00
|
|
|
"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
|
|
|
{
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
class ClickEventHandler : public MouseEventHandler_,
|
|
|
|
public EventHandler,
|
|
|
|
public EventContainer
|
|
|
|
{
|
|
|
|
public:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
// triggered by API calls, e.g. space bar
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleEvent() SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
// triggered by mouse release:
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleMouseReleased( const awt::MouseEvent& evt ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
2006-12-13 14:21:51 +00:00
|
|
|
if(evt.Buttons != awt::MouseButton::LEFT)
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
private:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
EventQueue& mrEventQueue;
|
|
|
|
bool mbAdvanceOnClick;
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
class SkipEffectEventHandler : public ClickEventHandler
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SkipEffectEventHandler( EventQueue & rEventQueue,
|
|
|
|
EventMultiplexer & rEventMultiplexer )
|
|
|
|
: ClickEventHandler(rEventQueue),
|
|
|
|
mrEventQueue(rEventQueue),
|
2009-03-04 13:41:44 +00:00
|
|
|
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); }
|
2005-10-11 07:36:36 +00:00
|
|
|
|
|
|
|
private:
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleEvent_impl() SAL_OVERRIDE
|
2009-03-04 13:41:44 +00:00
|
|
|
{
|
|
|
|
return handleEvent_impl(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool handleEvent_impl (bool bNotifyNextEffect)
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
// fire all events, so animation nodes can register their
|
|
|
|
// next effect listeners:
|
2006-12-13 14:21:51 +00:00
|
|
|
if(fireAllEvents( maEvents, mrEventQueue ))
|
|
|
|
{
|
2009-03-04 13:41:44 +00:00
|
|
|
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(
|
2009-04-27 11:42:05 +00:00
|
|
|
makeEvent( boost::bind( &EventMultiplexer::notifyNextEffect,
|
|
|
|
boost::ref(mrEventMultiplexer) ),
|
|
|
|
"EventMultiplexer::notifyNextEffect") );
|
2009-03-04 13:41:44 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
return true;
|
2005-10-11 07:36:36 +00:00
|
|
|
}
|
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
private:
|
|
|
|
EventQueue & mrEventQueue;
|
|
|
|
EventMultiplexer & mrEventMultiplexer;
|
2009-03-04 13:41:44 +00:00
|
|
|
bool mbSkipTriggersNextEffect;
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
private:
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleMouseReleased( awt::MouseEvent const& evt ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
2006-12-13 14:21:51 +00:00
|
|
|
if(evt.Buttons != awt::MouseButton::RIGHT)
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
@derive override necessary MouseEventHandler interface methods,
|
|
|
|
call sendEvent() method to actually process the event.
|
|
|
|
*/
|
|
|
|
class MouseHandlerBase : public MouseEventHandler_
|
|
|
|
{
|
|
|
|
public:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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)
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
ImpShapeEventMap::reverse_iterator aCurrShape(maShapeEventMap.rbegin());
|
|
|
|
const ImpShapeEventMap::reverse_iterator aEndShape( maShapeEventMap.rend() );
|
2005-10-11 07:36:36 +00:00
|
|
|
while( aCurrShape != aEndShape )
|
|
|
|
{
|
|
|
|
// TODO(F2): Get proper geometry polygon from the
|
|
|
|
// shape, to avoid having areas outside the shape
|
|
|
|
// react on the mouse
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
if( aCurrShape->first->getBounds().isInside( aPosition ) &&
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
{
|
2005-10-11 07:36:36 +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
|
|
|
}
|
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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 )
|
2012-12-13 16:52:50 +01:00
|
|
|
// method. Unfortunately, C++ does not
|
2005-10-11 07:36:36 +00:00
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
class ShapeClickEventHandler : public MouseHandlerBase
|
|
|
|
{
|
|
|
|
public:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
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
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleMouseReleased( const awt::MouseEvent& e ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
2006-12-13 14:21:51 +00:00
|
|
|
if(e.Buttons != awt::MouseButton::LEFT)
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleMouseMoved( const awt::MouseEvent& e ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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 ) )
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
private:
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
CursorManager& mrCursorManager;
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleMouseMoved( const awt::MouseEvent& e ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
{
|
2005-10-11 07:36:36 +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
|
|
|
{
|
2005-10-11 07:36:36 +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
|
|
|
}
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual bool handleMouseMoved( const awt::MouseEvent& e ) SAL_OVERRIDE
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
{
|
2005-10-11 07:36:36 +00:00
|
|
|
maLastIter = aCurr;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2006-12-13 14:21:51 +00:00
|
|
|
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
|
|
|
{
|
2005-10-11 07:36:36 +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
|
|
|
}
|
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
}
|
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
template< typename Handler, typename Functor >
|
|
|
|
void UserEventQueue::registerEvent(
|
|
|
|
boost::shared_ptr< Handler >& rHandler,
|
|
|
|
const EventSharedPtr& rEvent,
|
|
|
|
const Functor& rRegistrationFunctor )
|
|
|
|
{
|
2008-06-24 11:04:12 +00:00
|
|
|
ENSURE_OR_THROW( rEvent,
|
2005-10-11 07:36:36 +00:00
|
|
|
"UserEventQueue::registerEvent(): Invalid event" );
|
|
|
|
|
2006-12-13 14:21:51 +00:00
|
|
|
if( !rHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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 )
|
|
|
|
{
|
2008-06-24 11:04:12 +00:00
|
|
|
ENSURE_OR_THROW( rEvent,
|
2005-10-11 07:36:36 +00:00
|
|
|
"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
|
|
|
|
2006-12-13 14:21:51 +00:00
|
|
|
if( !rHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
|
|
|
|
UserEventQueue::UserEventQueue( EventMultiplexer& rMultiplexer,
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
EventQueue& rEventQueue,
|
|
|
|
CursorManager& rCursorManager )
|
2005-10-11 07:36:36 +00:00
|
|
|
: mrMultiplexer( rMultiplexer ),
|
|
|
|
mrEventQueue( rEventQueue ),
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
mrCursorManager( rCursorManager ),
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
UserEventQueue::~UserEventQueue()
|
|
|
|
{
|
2006-12-13 14:21:51 +00:00
|
|
|
try
|
|
|
|
{
|
|
|
|
// unregister all handlers
|
|
|
|
clear();
|
|
|
|
}
|
|
|
|
catch (uno::Exception &) {
|
2013-04-07 12:06:47 +02:00
|
|
|
OSL_FAIL( OUStringToOString(
|
2006-12-13 14:21:51 +00:00
|
|
|
comphelper::anyToString(
|
|
|
|
cppu::getCaughtException() ),
|
|
|
|
RTL_TEXTENCODING_UTF8 ).getStr() );
|
|
|
|
}
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
void UserEventQueue::clear()
|
|
|
|
{
|
|
|
|
// unregister and delete all handlers
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpAnimationStartEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeAnimationStartHandler(
|
|
|
|
mpAnimationStartEventHandler );
|
|
|
|
mpAnimationStartEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpAnimationEndEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeAnimationEndHandler( mpAnimationEndEventHandler );
|
|
|
|
mpAnimationEndEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpAudioStoppedEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeAudioStoppedHandler( mpAudioStoppedEventHandler );
|
|
|
|
mpAudioStoppedEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpShapeClickEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeClickHandler( mpShapeClickEventHandler );
|
|
|
|
mrMultiplexer.removeMouseMoveHandler( mpShapeClickEventHandler );
|
|
|
|
mpShapeClickEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpClickEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeClickHandler( mpClickEventHandler );
|
|
|
|
mrMultiplexer.removeNextEffectHandler( mpClickEventHandler );
|
|
|
|
mpClickEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if(mpSkipEffectEventHandler) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeClickHandler( mpSkipEffectEventHandler );
|
|
|
|
mrMultiplexer.removeNextEffectHandler( mpSkipEffectEventHandler );
|
|
|
|
mpSkipEffectEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if(mpRewindEffectEventHandler) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeClickHandler( mpRewindEffectEventHandler );
|
|
|
|
mpRewindEffectEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpShapeDoubleClickEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeDoubleClickHandler( mpShapeDoubleClickEventHandler );
|
|
|
|
mrMultiplexer.removeMouseMoveHandler( mpShapeDoubleClickEventHandler );
|
|
|
|
mpShapeDoubleClickEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpDoubleClickEventHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeDoubleClickHandler( mpDoubleClickEventHandler );
|
|
|
|
mpDoubleClickEventHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpMouseEnterHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
mrMultiplexer.removeMouseMoveHandler( mpMouseEnterHandler );
|
|
|
|
mpMouseEnterHandler.reset();
|
|
|
|
}
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpMouseLeaveHandler ) {
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
// forward to handler, if existing. Otherwise, the handler
|
|
|
|
// creation will do the forwarding.
|
2006-12-13 14:21:51 +00:00
|
|
|
if( mpClickEventHandler )
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
void UserEventQueue::registerShapeClickEvent( const EventSharedPtr& rEvent,
|
|
|
|
const ShapeSharedPtr& rShape )
|
|
|
|
{
|
2008-06-24 11:04:12 +00:00
|
|
|
ENSURE_OR_THROW(
|
2006-12-13 14:21:51 +00:00
|
|
|
rEvent,
|
2005-10-11 07:36:36 +00:00
|
|
|
"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
|
|
|
|
2006-12-13 14:21:51 +00:00
|
|
|
if( !mpShapeClickEventHandler )
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
// create handler
|
|
|
|
mpShapeClickEventHandler.reset(
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
new ShapeClickEventHandler(mrCursorManager,
|
|
|
|
mrEventQueue) );
|
2005-10-11 07:36:36 +00:00
|
|
|
|
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2009-03-04 13:41:44 +00:00
|
|
|
void UserEventQueue::registerSkipEffectEvent(
|
|
|
|
EventSharedPtr const & pEvent,
|
|
|
|
const bool bSkipTriggersNextEffect)
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
2006-12-13 14:21:51 +00:00
|
|
|
if(!mpSkipEffectEventHandler)
|
|
|
|
{
|
2005-10-11 07:36:36 +00:00
|
|
|
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 );
|
|
|
|
}
|
2009-03-04 13:41:44 +00:00
|
|
|
mpSkipEffectEventHandler->setSkipTriggersNextEffect(bSkipTriggersNextEffect);
|
2005-10-11 07:36:36 +00:00
|
|
|
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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
void UserEventQueue::registerShapeDoubleClickEvent(
|
|
|
|
const EventSharedPtr& rEvent,
|
|
|
|
const ShapeSharedPtr& rShape )
|
|
|
|
{
|
2008-06-24 11:04:12 +00:00
|
|
|
ENSURE_OR_THROW(
|
2006-12-13 14:21:51 +00:00
|
|
|
rEvent,
|
2005-10-11 07:36:36 +00:00
|
|
|
"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
|
|
|
|
2006-12-13 14:21:51 +00:00
|
|
|
if( !mpShapeDoubleClickEventHandler )
|
2005-10-11 07:36:36 +00:00
|
|
|
{
|
|
|
|
// create handler
|
|
|
|
mpShapeDoubleClickEventHandler.reset(
|
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED
2007/04/17 14:56:22 thb 1.10.12.2: #i37778# Calling commitUpdates() again after Activity::dequeued(), to make sure sprite state and static screen background are in sync
2007/01/29 14:01:57 thb 1.10.12.1: Issue number: #i37778#
Larger slideshow refactoring. Wrote design and coding style manifest,
and adapted the code to actually conform to this. In detail:
- cleaned up ownership/disposable/weak_ptr story. removed hacks and
explicit Disposable implementations, where workaround were available
- removed object mutices, where superfluous
- reworked EventMultiplexer (using templatized listener class now), added
more events. EventMultiplexer now serves as a true blackboard
- reworked directory structure: disjunct parts are now physically separated
into directories, instantiation happens via factories & abstract interfaces
- added CursorManager, to make setting mouse cursor less hackish
- reworked DrawShape, to implement SeparateListener pattern
- reworked IntrinsicAnimationActivity, to avoid cyclic references
- modified hyperlink & shape cursor handling to communicate via
EventMultiplexer
- renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx,
etc.)
- added first version of the z-order fix to layer/layermanager
- cleaned up include guards and include syntax
2007-07-17 13:42:04 +00:00
|
|
|
new ShapeClickEventHandler(mrCursorManager,
|
|
|
|
mrEventQueue) );
|
2005-10-11 07:36:36 +00:00
|
|
|
|
|
|
|
// 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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
|
2005-10-11 07:36:36 +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
|
|
|
}
|
2005-10-11 07:36:36 +00:00
|
|
|
|
2009-03-04 13:41:44 +00:00
|
|
|
void UserEventQueue::callSkipEffectEventHandler (void)
|
|
|
|
{
|
|
|
|
::boost::shared_ptr<SkipEffectEventHandler> pHandler (
|
|
|
|
::boost::dynamic_pointer_cast<SkipEffectEventHandler>(mpSkipEffectEventHandler));
|
|
|
|
if (pHandler)
|
|
|
|
pHandler->skipEffect();
|
|
|
|
}
|
|
|
|
|
2005-10-11 07:36:36 +00:00
|
|
|
} // namespace internal
|
|
|
|
} // namespace presentation
|
|
|
|
|
2010-10-12 15:51:52 +02:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|