Files
libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx

1556 lines
50 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
#include <memory>
#include <sal/config.h>
#include <cstdlib>
#include <controller/SlsSelectionFunction.hxx>
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
#include <SlideSorter.hxx>
#include <SlideSorterViewShell.hxx>
#include "SlsDragAndDropContext.hxx"
#include <controller/SlsTransferableData.hxx>
#include <controller/SlideSorterController.hxx>
#include <controller/SlsPageSelector.hxx>
#include <controller/SlsFocusManager.hxx>
#include <controller/SlsScrollBarManager.hxx>
#include <controller/SlsClipboard.hxx>
#include <controller/SlsCurrentSlideManager.hxx>
#include <controller/SlsInsertionIndicatorHandler.hxx>
#include <controller/SlsSelectionManager.hxx>
#include <controller/SlsProperties.hxx>
#include <controller/SlsSlotManager.hxx>
#include <controller/SlsVisibleAreaManager.hxx>
#include <model/SlideSorterModel.hxx>
#include <model/SlsPageDescriptor.hxx>
#include <model/SlsPageEnumerationProvider.hxx>
#include <view/SlideSorterView.hxx>
#include <view/SlsLayouter.hxx>
#include <view/SlsPageObjectLayouter.hxx>
#include <framework/FrameworkHelper.hxx>
#include <ViewShellBase.hxx>
#include <DrawController.hxx>
#include <Window.hxx>
#include <sdpage.hxx>
#include <drawdoc.hxx>
#include <DrawDocShell.hxx>
#include <sdxfer.hxx>
#include <ViewShell.hxx>
#include <FrameView.hxx>
#include <app.hrc>
#include <o3tl/deleter.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/dispatch.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svxids.hrc>
#include <boost/optional.hpp>
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
namespace {
static const sal_uInt32 SINGLE_CLICK (0x00000001);
static const sal_uInt32 DOUBLE_CLICK (0x00000002);
static const sal_uInt32 LEFT_BUTTON (0x00000010);
static const sal_uInt32 RIGHT_BUTTON (0x00000020);
static const sal_uInt32 MIDDLE_BUTTON (0x00000040);
static const sal_uInt32 BUTTON_DOWN (0x00000100);
static const sal_uInt32 BUTTON_UP (0x00000200);
static const sal_uInt32 MOUSE_MOTION (0x00000400);
static const sal_uInt32 MOUSE_DRAG (0x00000800);
// The rest leaves the lower 16 bit untouched so that it can be used with
// key codes.
static const sal_uInt32 OVER_SELECTED_PAGE (0x00010000);
static const sal_uInt32 OVER_UNSELECTED_PAGE (0x00020000);
static const sal_uInt32 SHIFT_MODIFIER (0x00200000);
static const sal_uInt32 CONTROL_MODIFIER (0x00400000);
// Some absent events are defined so they can be expressed explicitly.
static const sal_uInt32 NO_MODIFIER (0x00000000);
static const sal_uInt32 NOT_OVER_PAGE (0x00000000);
// Masks
static const sal_uInt32 MODIFIER_MASK (SHIFT_MODIFIER | CONTROL_MODIFIER);
} // end of anonymous namespace
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
// Define some macros to make the following switch statement more readable.
#define ANY_MODIFIER(code) \
code|NO_MODIFIER: \
case code|SHIFT_MODIFIER: \
case code|CONTROL_MODIFIER
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
namespace sd { namespace slidesorter { namespace controller {
//===== SelectionFunction::EventDescriptor ====================================
class SelectionFunction::EventDescriptor
{
public:
Point maMousePosition;
Point maMouseModelPosition;
model::SharedPageDescriptor mpHitDescriptor;
SdrPage* mpHitPage;
sal_uInt32 mnEventCode;
InsertionIndicatorHandler::Mode meDragMode;
bool mbIsLeaving;
EventDescriptor (
sal_uInt32 nEventType,
const MouseEvent& rEvent,
SlideSorter const & rSlideSorter);
EventDescriptor (
sal_uInt32 nEventType,
const AcceptDropEvent& rEvent,
const sal_Int8 nDragAction,
SlideSorter const & rSlideSorter);
private:
/** Compute a numerical code that describes a mouse event and that can
be used for fast look up of the appropriate reaction.
*/
sal_uInt32 EncodeMouseEvent (const MouseEvent& rEvent) const;
/** Compute a numerical code that describes the current state like
whether the selection rectangle is visible or whether the page under
the mouse or the one that has the focus is selected.
*/
sal_uInt32 EncodeState() const;
};
//===== SelectionFunction::ModeHandler ========================================
class SelectionFunction::ModeHandler
{
public:
ModeHandler (
SlideSorter& rSlideSorter,
SelectionFunction& rSelectionFunction,
const bool bIsMouseOverIndicatorAllowed);
virtual ~ModeHandler() COVERITY_NOEXCEPT_FALSE;
virtual Mode GetMode() const = 0;
virtual void Abort() = 0;
virtual void ProcessEvent (EventDescriptor& rDescriptor);
/** Set the selection to exactly the specified page and also set it as
the current page.
*/
void SetCurrentPage (const model::SharedPageDescriptor& rpDescriptor);
/// Deselect all pages.
void DeselectAllPages();
void SelectOnePage (const model::SharedPageDescriptor& rpDescriptor);
/** When the view on which this selection function is working is the
main view then the view is switched to the regular editing view.
*/
void SwitchView (const model::SharedPageDescriptor& rpDescriptor);
void StartDrag (
const Point& rMousePosition);
bool IsMouseOverIndicatorAllowed() const { return mbIsMouseOverIndicatorAllowed;}
protected:
SlideSorter& mrSlideSorter;
SelectionFunction& mrSelectionFunction;
virtual bool ProcessButtonDownEvent (EventDescriptor& rDescriptor);
virtual bool ProcessButtonUpEvent (EventDescriptor& rDescriptor);
virtual bool ProcessMotionEvent (EventDescriptor& rDescriptor);
virtual bool ProcessDragEvent (EventDescriptor& rDescriptor);
virtual bool HandleUnprocessedEvent (EventDescriptor& rDescriptor);
void ReprocessEvent (EventDescriptor& rDescriptor);
private:
const bool mbIsMouseOverIndicatorAllowed;
};
/** This is the default handler for processing events. It activates the
multi selection or drag-and-drop when the right conditions are met.
*/
class NormalModeHandler : public SelectionFunction::ModeHandler
{
public:
NormalModeHandler (
SlideSorter& rSlideSorter,
SelectionFunction& rSelectionFunction);
virtual SelectionFunction::Mode GetMode() const override;
virtual void Abort() override;
void ResetButtonDownLocation();
protected:
virtual bool ProcessButtonDownEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
virtual bool ProcessButtonUpEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
virtual bool ProcessMotionEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
virtual bool ProcessDragEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
private:
::boost::optional<Point> maButtonDownLocation;
/** Select all pages between and including the selection anchor and the
specified page.
*/
void RangeSelect (const model::SharedPageDescriptor& rpDescriptor);
};
/** Handle events during a multi selection, which typically is started by
pressing the left mouse button when not over a page.
*/
class MultiSelectionModeHandler : public SelectionFunction::ModeHandler
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
public:
/** Start a rectangle selection at the given position.
*/
MultiSelectionModeHandler (
SlideSorter& rSlideSorter,
SelectionFunction& rSelectionFunction,
#ifndef MACOSX
const Point& rMouseModelPosition);
#else
const Point& rMouseModelPosition,
const sal_uInt32 nEventCode);
#endif
virtual ~MultiSelectionModeHandler() override;
#ifndef MACOSX
void Initialize(const sal_uInt32 nEventCode);
#endif
virtual SelectionFunction::Mode GetMode() const override;
virtual void Abort() override;
virtual void ProcessEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
enum SelectionMode { SM_Normal, SM_Add, SM_Toggle };
void SetSelectionMode (const SelectionMode eSelectionMode);
void SetSelectionModeFromModifier (const sal_uInt32 nEventCode);
protected:
virtual bool ProcessButtonUpEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
virtual bool ProcessMotionEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
virtual bool HandleUnprocessedEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
private:
SelectionMode meSelectionMode;
Point maSecondCorner;
Pointer maSavedPointer;
bool mbAutoScrollInstalled;
sal_Int32 mnAnchorIndex;
sal_Int32 mnSecondIndex;
void UpdateModelPosition (const Point& rMouseModelPosition);
void UpdateSelection();
/** Update the rectangle selection so that the given position becomes
the new second point of the selection rectangle.
*/
void UpdatePosition (
const Point& rMousePosition,
const bool bAllowAutoScroll);
void UpdateSelectionState (
const model::SharedPageDescriptor& rpDescriptor,
const bool bIsInSelection) const;
};
/** Handle events during drag-and-drop.
*/
class DragAndDropModeHandler : public SelectionFunction::ModeHandler
{
public:
DragAndDropModeHandler (
SlideSorter& rSlideSorter,
#ifndef MACOSX
SelectionFunction& rSelectionFunction);
#else
SelectionFunction& rSelectionFunction,
const Point& rMousePosition,
vcl::Window* pWindow);
#endif
virtual ~DragAndDropModeHandler() override;
#ifndef MACOSX
void Initialize(const Point& rMousePosition, vcl::Window* pWindow);
#endif
virtual SelectionFunction::Mode GetMode() const override;
virtual void Abort() override;
protected:
virtual bool ProcessButtonUpEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
virtual bool ProcessDragEvent (SelectionFunction::EventDescriptor& rDescriptor) override;
private:
std::unique_ptr<DragAndDropContext, o3tl::default_delete<DragAndDropContext>> mpDragAndDropContext;
};
//===== SelectionFunction =====================================================
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
SelectionFunction::SelectionFunction (
SlideSorter& rSlideSorter,
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
SfxRequest& rRequest)
: FuPoor (
rSlideSorter.GetViewShell(),
rSlideSorter.GetContentWindow(),
&rSlideSorter.GetView(),
rSlideSorter.GetModel().GetDocument(),
rRequest),
mrSlideSorter(rSlideSorter),
mrController(mrSlideSorter.GetController()),
mnShiftKeySelectionAnchor(-1),
mpModeHandler(new NormalModeHandler(rSlideSorter, *this))
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
}
SelectionFunction::~SelectionFunction()
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
mpModeHandler.reset();
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
rtl::Reference<FuPoor> SelectionFunction::Create(
SlideSorter& rSlideSorter,
SfxRequest& rRequest)
{
rtl::Reference<FuPoor> xFunc( new SelectionFunction( rSlideSorter, rRequest ) );
return xFunc;
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
bool SelectionFunction::MouseButtonDown (const MouseEvent& rEvent)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
2011-02-07 22:11:09 +01:00
// remember button state for creation of own MouseEvents
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
SetMouseButtonCode (rEvent.GetButtons());
aMDPos = rEvent.GetPosPixel();
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
// mpWindow->CaptureMouse();
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
ProcessMouseEvent(BUTTON_DOWN, rEvent);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
return true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
bool SelectionFunction::MouseMove (const MouseEvent& rEvent)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
ProcessMouseEvent(MOUSE_MOTION, rEvent);
return true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
bool SelectionFunction::MouseButtonUp (const MouseEvent& rEvent)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
mrController.GetScrollBarManager().StopAutoScroll ();
ProcessMouseEvent(BUTTON_UP, rEvent);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
return true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
void SelectionFunction::NotifyDragFinished()
{
SwitchToNormalMode();
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
bool SelectionFunction::KeyInput (const KeyEvent& rEvent)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
view::SlideSorterView::DrawLock aDrawLock (mrSlideSorter);
PageSelector::BroadcastLock aBroadcastLock (mrSlideSorter);
PageSelector::UpdateLock aLock (mrSlideSorter);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
FocusManager& rFocusManager (mrController.GetFocusManager());
bool bResult = false;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
const vcl::KeyCode& rCode (rEvent.GetKeyCode());
switch (rCode.GetCode())
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
case KEY_RETURN:
{
model::SharedPageDescriptor pDescriptor (rFocusManager.GetFocusedPageDescriptor());
ViewShell* pViewShell = mrSlideSorter.GetViewShell();
if (rFocusManager.HasFocus() && pDescriptor && pViewShell!=nullptr)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
// The Return key triggers different functions depending on
// whether the slide sorter is the main view or displayed in
// the right pane.
if (pViewShell->IsMainViewShell())
{
mpModeHandler->SetCurrentPage(pDescriptor);
mpModeHandler->SwitchView(pDescriptor);
}
else if (pViewShell->GetDispatcher() != nullptr)
{
pViewShell->GetDispatcher()->Execute(
SID_INSERTPAGE,
SfxCallMode::ASYNCHRON | SfxCallMode::RECORD);
}
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
break;
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
case KEY_TAB:
if ( ! rFocusManager.IsFocusShowing())
{
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
rFocusManager.ShowFocus();
bResult = true;
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
case KEY_ESCAPE:
// When there is an active multiselection or drag-and-drop
// operation then stop that.
mpModeHandler->Abort();
SwitchToNormalMode();
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
case KEY_SPACE:
{
// Toggle the selection state.
model::SharedPageDescriptor pDescriptor (rFocusManager.GetFocusedPageDescriptor());
if (pDescriptor && rCode.IsMod1())
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
if (pDescriptor->HasState(model::PageDescriptor::ST_Selected))
mrController.GetPageSelector().DeselectPage(pDescriptor, false);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
else
mrController.GetPageSelector().SelectPage(pDescriptor);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
break;
// Move the focus indicator left.
case KEY_LEFT:
MoveFocus(FocusManager::FocusMoveDirection::Left, rCode.IsShift(), rCode.IsMod1());
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
// Move the focus indicator right.
case KEY_RIGHT:
MoveFocus(FocusManager::FocusMoveDirection::Right, rCode.IsShift(), rCode.IsMod1());
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
// Move the focus indicator up.
case KEY_UP:
MoveFocus(FocusManager::FocusMoveDirection::Up, rCode.IsShift(), rCode.IsMod1());
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
// Move the focus indicator down.
case KEY_DOWN:
MoveFocus(FocusManager::FocusMoveDirection::Down, rCode.IsShift(), rCode.IsMod1());
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
// Go to previous page. No wrap around.
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
case KEY_PAGEUP:
GotoNextPage(-1);
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
// Go to next page. No wrap around..
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
case KEY_PAGEDOWN:
GotoNextPage(+1);
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
case KEY_HOME:
GotoPage(0);
bResult = true;
break;
case KEY_END:
GotoPage(mrSlideSorter.GetModel().GetPageCount()-1);
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
break;
case KEY_DELETE:
case KEY_BACKSPACE:
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
if (mrSlideSorter.GetProperties()->IsUIReadOnly())
break;
mrController.GetSelectionManager()->DeleteSelectedPages(rCode.GetCode()==KEY_DELETE);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
mnShiftKeySelectionAnchor = -1;
bResult = true;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
break;
case KEY_F10:
if (rCode.IsShift())
{
mpModeHandler->SelectOnePage(
mrSlideSorter.GetController().GetFocusManager().GetFocusedPageDescriptor());
}
break;
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
default:
break;
}
if ( ! bResult)
bResult = FuPoor::KeyInput(rEvent);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
return bResult;
}
void SelectionFunction::MoveFocus (
const FocusManager::FocusMoveDirection eDirection,
const bool bIsShiftDown,
const bool bIsControlDown)
{
// Remember the anchor of shift key multi selection.
if (bIsShiftDown)
{
if (mnShiftKeySelectionAnchor<0)
{
model::SharedPageDescriptor pFocusedDescriptor (
mrController.GetFocusManager().GetFocusedPageDescriptor());
mnShiftKeySelectionAnchor = pFocusedDescriptor->GetPageIndex();
}
}
else if ( ! bIsControlDown)
ResetShiftKeySelectionAnchor();
mrController.GetFocusManager().MoveFocus(eDirection);
PageSelector& rSelector (mrController.GetPageSelector());
model::SharedPageDescriptor pFocusedDescriptor (
mrController.GetFocusManager().GetFocusedPageDescriptor());
if (bIsShiftDown)
{
// When shift is pressed then select all pages in the range between
// the currently and the previously focused pages, including them.
if (pFocusedDescriptor)
{
sal_Int32 nPageRangeEnd (pFocusedDescriptor->GetPageIndex());
model::PageEnumeration aPages (
model::PageEnumerationProvider::CreateAllPagesEnumeration(
mrSlideSorter.GetModel()));
while (aPages.HasMoreElements())
{
model::SharedPageDescriptor pDescriptor (aPages.GetNextElement());
if (pDescriptor)
{
const sal_Int32 nPageIndex(pDescriptor->GetPageIndex());
if ((nPageIndex>=mnShiftKeySelectionAnchor && nPageIndex<=nPageRangeEnd)
|| (nPageIndex<=mnShiftKeySelectionAnchor && nPageIndex>=nPageRangeEnd))
{
rSelector.SelectPage(pDescriptor);
}
else
{
rSelector.DeselectPage(pDescriptor);
}
}
}
}
}
else if (bIsControlDown)
{
// When control is pressed then do not alter the selection or the
// current page, just move the focus.
}
else
{
// Without shift just select the focused page.
mpModeHandler->SelectOnePage(pFocusedDescriptor);
}
}
void SelectionFunction::DoCut()
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
if ( ! mrSlideSorter.GetProperties()->IsUIReadOnly())
{
mrController.GetClipboard().DoCut();
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
void SelectionFunction::DoCopy()
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
mrController.GetClipboard().DoCopy();
}
void SelectionFunction::DoPaste()
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
if ( ! mrSlideSorter.GetProperties()->IsUIReadOnly())
{
mrController.GetClipboard().DoPaste();
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
bool SelectionFunction::cancel()
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
mrController.GetFocusManager().ToggleFocus();
return true;
}
void SelectionFunction::GotoNextPage (int nOffset)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
model::SharedPageDescriptor pDescriptor
= mrController.GetCurrentSlideManager()->GetCurrentSlide();
if (pDescriptor.get() != nullptr)
{
SdPage* pPage = pDescriptor->GetPage();
OSL_ASSERT(pPage!=nullptr);
sal_Int32 nIndex = (pPage->GetPageNum()-1) / 2;
GotoPage(nIndex + nOffset);
}
ResetShiftKeySelectionAnchor();
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
void SelectionFunction::GotoPage (int nIndex)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
sal_uInt16 nPageCount = static_cast<sal_uInt16>(mrSlideSorter.GetModel().GetPageCount());
if (nIndex >= nPageCount)
nIndex = nPageCount - 1;
if (nIndex < 0)
nIndex = 0;
mrController.GetFocusManager().SetFocusedPage(nIndex);
model::SharedPageDescriptor pNextPageDescriptor (
mrSlideSorter.GetModel().GetPageDescriptor (nIndex));
if (pNextPageDescriptor.get() != nullptr)
mpModeHandler->SetCurrentPage(pNextPageDescriptor);
else
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
OSL_ASSERT(pNextPageDescriptor.get() != nullptr);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
ResetShiftKeySelectionAnchor();
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
void SelectionFunction::ProcessMouseEvent (sal_uInt32 nEventType, const MouseEvent& rEvent)
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
{
// #95491# remember button state for creation of own MouseEvents
SetMouseButtonCode (rEvent.GetButtons());
EventDescriptor aEventDescriptor (nEventType, rEvent, mrSlideSorter);
ProcessEvent(aEventDescriptor);
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
}
void SelectionFunction::MouseDragged (
const AcceptDropEvent& rEvent,
const sal_Int8 nDragAction)
{
EventDescriptor aEventDescriptor (MOUSE_DRAG, rEvent, nDragAction, mrSlideSorter);
ProcessEvent(aEventDescriptor);
}
void SelectionFunction::ProcessEvent (EventDescriptor& rDescriptor)
{
// The call to ProcessEvent may switch to another mode handler.
Many spelling fixes: directories r* - z*. Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. (cherry picked from commit 28206a7cb43aff5adb10f8235ad1680c3941ee3e) Conflicts: include/osl/file.hxx include/osl/pipe_decl.hxx include/osl/socket.h include/osl/socket_decl.hxx include/sal/main.h include/svx/dbaexchange.hxx include/svx/dlgctrl.hxx include/svx/msdffdef.hxx include/svx/sdr/contact/objectcontactofpageview.hxx include/svx/svdpntv.hxx include/ucbhelper/content.hxx include/ucbhelper/interceptedinteraction.hxx include/ucbhelper/resultsethelper.hxx include/unotools/sharedunocomponent.hxx include/unotools/viewoptions.hxx include/vcl/pdfwriter.hxx include/xmloff/txtparae.hxx include/xmloff/uniref.hxx rhino/rhino1_7R3.patch rsc/inc/rscrsc.hxx sal/inc/osl/conditn.h sal/inc/osl/security.h sal/inc/osl/semaphor.h sal/inc/osl/semaphor.hxx sal/inc/rtl/string.hxx sal/inc/rtl/tres.h sal/inc/systools/win32/StrConvert.h sal/osl/os2/file_path_helper.h sal/osl/os2/file_path_helper.hxx sal/osl/os2/file_url.cxx sal/osl/os2/file_url.h sal/osl/os2/makefile.mk sal/osl/os2/pipe.cxx sal/osl/os2/process.c sal/osl/os2/profile.c sal/osl/os2/socket.c sal/osl/os2/system.h sal/osl/unx/asm/interlck_sparc.s sal/osl/unx/file_url.cxx sal/osl/unx/signal.c sal/osl/unx/system.h sal/osl/w32/MAKEFILE.MK sal/osl/w32/interlck.c sal/osl/w32/module.cxx sal/osl/w32/security.c sal/qa/buildall.pl sal/qa/osl/file/osl_File.cxx sal/qa/osl/module/osl_Module_Const.h sal/qa/osl/mutex/osl_Mutex.cxx sal/qa/osl/pipe/osl_Pipe.cxx sal/qa/osl/process/osl_Thread.cxx sal/qa/osl/socket/osl_StreamSocket.cxx sal/qa/osl/socket/sockethelper.cxx sal/qa/rtl_strings/rtl_OUString.cxx sal/rtl/source/unload.cxx sal/systools/win32/kill/kill.cxx sal/systools/win32/uwinapi/MoveFileExA.cpp sal/test/bootstrap.pl sal/typesconfig/typesconfig.c sal/workben/tgetpwnam.cxx sax/inc/sax/parser/saxparser.hxx sc/addin/datefunc/dfa.cl sc/addin/datefunc/dfa.src sc/addin/rot13/rot13.cl sc/addin/rot13/rot13.src sc/inc/attarray.hxx sc/inc/chgtrack.hxx sc/inc/column.hxx sc/inc/compressedarray.hxx sc/inc/document.hxx sc/inc/table.hxx sc/source/core/data/column.cxx sc/source/core/data/dptablecache.cxx sc/source/core/data/dptabres.cxx sc/source/core/data/dptabsrc.cxx sc/source/core/data/global.cxx sc/source/core/tool/chgtrack.cxx sc/source/core/tool/compiler.cxx sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xichart.cxx sc/source/filter/inc/fapihelper.hxx sc/source/filter/inc/xistyle.hxx sc/source/filter/xml/xmlsubti.cxx sc/source/ui/Accessibility/AccessibleCell.cxx sc/source/ui/Accessibility/AccessibleContextBase.cxx sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx sc/source/ui/Accessibility/AccessibleEditObject.cxx sc/source/ui/Accessibility/AccessiblePreviewCell.cxx sc/source/ui/app/inputwin.cxx sc/source/ui/docshell/docfunc.cxx sc/source/ui/drawfunc/fupoor.cxx sc/source/ui/miscdlgs/linkarea.cxx sc/source/ui/unoobj/chart2uno.cxx sc/source/ui/unoobj/nameuno.cxx sc/source/ui/vba/vbacharacters.hxx sc/source/ui/vba/vbarange.cxx sc/source/ui/vba/vbawindow.cxx scaddins/source/analysis/analysishelper.cxx scaddins/source/analysis/analysishelper.hxx scaddins/source/datefunc/datefunc.cxx scripting/examples/python/Capitalise.py scripting/source/pyprov/officehelper.py sd/source/filter/eppt/eppt.cxx sd/source/filter/eppt/epptso.cxx sd/source/ui/dlg/prltempl.cxx sd/source/ui/dlg/tpoption.cxx sd/source/ui/func/fuediglu.cxx sd/source/ui/func/fupoor.cxx sd/source/ui/func/fusel.cxx sd/source/ui/func/smarttag.cxx sd/source/ui/inc/OutlinerIteratorImpl.hxx sd/source/ui/inc/SlideViewShell.hxx sd/source/ui/inc/fuediglu.hxx sd/source/ui/inc/fusel.hxx sd/source/ui/slideshow/slideshowimpl.cxx sd/source/ui/slidesorter/cache/SlsQueueProcessorThread.hxx sd/source/ui/slidesorter/controller/SlsHideSlideFunction.cxx sd/source/ui/slidesorter/controller/SlsSelectionCommand.hxx sd/source/ui/slidesorter/inc/controller/SlsAnimationFunction.hxx sd/source/ui/slidesorter/view/SlsButtonBar.cxx sd/source/ui/view/Outliner.cxx sd/source/ui/view/drviewsh.cxx sd/source/ui/view/frmview.cxx sdext/source/presenter/PresenterFrameworkObserver.hxx sdext/source/presenter/PresenterSlideShowView.cxx setup_native/scripts/deregister_extensions setup_native/scripts/register_extensions setup_native/source/opensolaris/bundledextensions/README setup_native/source/opensolaris/bundledextensions/svc-ooo_bundled_extensions setup_native/source/win32/customactions/patch/swappatchfiles.cxx setup_native/source/win32/customactions/reg4msdoc/registrar.cxx setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx sfx2/inc/sfx2/sfxbasemodel.hxx sfx2/qa/complex/sfx2/DocumentProperties.java sfx2/source/appl/appopen.cxx sfx2/source/appl/appquit.cxx sfx2/source/appl/appserv.cxx sfx2/source/bastyp/sfxhtml.cxx sfx2/source/dialog/dockwin.cxx sfx2/source/doc/docfile.cxx sfx2/source/doc/docvor.cxx sfx2/source/doc/graphhelp.cxx sfx2/source/doc/objcont.cxx sfx2/source/doc/objserv.cxx sfx2/source/doc/objstor.cxx sfx2/source/doc/objuno.cxx sfx2/source/doc/objxtor.cxx sfx2/source/doc/printhelper.cxx sfx2/source/doc/sfxbasemodel.cxx sfx2/source/notify/eventsupplier.cxx sfx2/source/view/frmload.cxx sfx2/source/view/sfxbasecontroller.cxx shell/qa/zip/ziptest.cxx shell/source/backends/wininetbe/wininetbackend.cxx shell/source/win32/shlxthandler/util/utilities.cxx solenv/bin/build.pl solenv/bin/build_release.pl solenv/bin/cws.pl solenv/bin/download_external_dependencies.pl solenv/bin/make_download.pl solenv/bin/make_installer.pl solenv/bin/modules/Cws.pm solenv/bin/modules/ExtensionsLst.pm solenv/bin/modules/installer/control.pm solenv/bin/modules/installer/downloadsigner.pm solenv/bin/modules/installer/javainstaller.pm solenv/bin/modules/installer/packagepool.pm solenv/bin/modules/installer/patch/InstallationSet.pm solenv/bin/modules/installer/scriptitems.pm solenv/bin/modules/installer/windows/feature.pm solenv/bin/modules/installer/windows/msiglobal.pm solenv/bin/modules/installer/windows/sign.pm solenv/bin/modules/installer/worker.pm solenv/bin/modules/installer/xpdinstaller.pm solenv/bin/modules/osarch.pm solenv/bin/modules/packager/work.pm solenv/bin/modules/pre2par/parameter.pm solenv/bin/patch_tool.pl solenv/bin/transform_description.pl solenv/doc/gbuild/doxygen.cfg solenv/gbuild/LinkTarget.mk solenv/gbuild/gbuild.mk solenv/inc/os2gcci.mk solenv/inc/settings.mk solenv/inc/startup/Readme solenv/inc/target.mk solenv/inc/tg_compv.mk solenv/inc/tg_javav.mk solenv/inc/unitools.mk solenv/inc/unxbsdi.mk solenv/inc/unxbsdi2.mk solenv/inc/unxbsds.mk solenv/inc/unxfbsd.mk solenv/inc/unxlng.mk sot/source/sdstor/stg.cxx sot/source/sdstor/stgelem.cxx sot/source/sdstor/ucbstorage.cxx starmath/inc/toolbox.hxx starmath/source/mathmlexport.cxx starmath/source/node.cxx starmath/source/toolbox.cxx starmath/source/view.cxx stoc/source/bootstrap/bootstrap.xml stoc/source/corereflection/criface.cxx stoc/source/invocation/invocation.cxx stoc/source/security/access_controller.cxx stoc/source/servicemanager/servicemanager.cxx stoc/source/tdmanager/tdmgr.cxx stoc/test/javavm/testjavavm.cxx stoc/test/testconv.cxx stoc/test/testcorefl.cxx stoc/test/testintrosp.cxx svl/inc/svl/inettype.hxx svl/inc/svl/urihelper.hxx svl/qa/complex/ConfigItems/helper/HistoryOptTest.cxx svl/qa/complex/ConfigItems/helper/HistoryOptTest.hxx svl/source/config/itemholder2.hxx svl/source/items/itemset.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svtools/bmpmaker/bmp.cxx svtools/inc/svtools/helpagentwindow.hxx svtools/inc/svtools/menuoptions.hxx svtools/inc/svtools/miscopt.hxx svtools/inc/svtools/optionsdrawinglayer.hxx svtools/inc/svtools/stringtransfer.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svtdata.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/editbrowsebox.cxx svtools/source/config/itemholder2.hxx svtools/source/contnr/contentenumeration.hxx svx/inc/svx/fmsrcimp.hxx svx/inc/svx/svdobj.hxx svx/inc/svx/xtable.hxx svx/source/accessibility/DGColorNameLookUp.cxx svx/source/accessibility/svxrectctaccessiblecontext.cxx svx/source/dialog/pfiledlg.cxx svx/source/fmcomp/fmgridcl.cxx svx/source/fmcomp/fmgridif.cxx svx/source/fmcomp/gridctrl.cxx svx/source/form/filtnav.cxx svx/source/form/fmPropBrw.cxx svx/source/form/fmshimp.cxx svx/source/form/fmsrcimp.cxx svx/source/gallery2/galtheme.cxx svx/source/inc/docrecovery.hxx svx/source/sdr/event/eventhandler.cxx svx/source/svdraw/svdedtv2.cxx svx/source/svdraw/svdedxv.cxx svx/source/svdraw/svdhdl.cxx svx/source/svdraw/svdobj.cxx svx/source/svdraw/svdograf.cxx svx/source/svdraw/svdoole2.cxx svx/source/svdraw/svdotxtr.cxx svx/source/svdraw/svdundo.cxx svx/source/svdraw/svdxcgv.cxx svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx sw/inc/SwNumberTree.hxx sw/inc/ndnotxt.hxx sw/source/core/access/acccell.cxx sw/source/core/access/acccell.hxx sw/source/core/access/accframebase.cxx sw/source/core/access/accframebase.hxx sw/source/core/access/accmap.cxx sw/source/core/access/accpage.cxx sw/source/core/access/accpage.hxx sw/source/core/access/accpara.cxx sw/source/core/access/accpara.hxx sw/source/core/bastyp/swrect.cxx sw/source/core/crsr/findtxt.cxx sw/source/core/doc/docdde.cxx sw/source/core/doc/notxtfrm.cxx sw/source/core/docnode/section.cxx sw/source/core/draw/dcontact.cxx sw/source/core/edit/edlingu.cxx sw/source/core/inc/anchoredobjectposition.hxx sw/source/core/layout/paintfrm.cxx sw/source/core/layout/tabfrm.cxx sw/source/core/layout/trvlfrm.cxx sw/source/core/ole/ndole.cxx sw/source/core/text/atrstck.cxx sw/source/core/text/inftxt.cxx sw/source/core/text/itratr.cxx sw/source/core/text/itrform2.cxx sw/source/core/text/itrform2.hxx sw/source/core/text/porfld.cxx sw/source/core/text/txtfly.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/uibase/dochdl/swdtflvr.cxx sw/source/core/uibase/docvw/PostItMgr.cxx sw/source/core/uibase/docvw/SidebarWin.cxx sw/source/core/uibase/docvw/edtwin.cxx sw/source/core/uibase/envelp/labimg.cxx sw/source/core/uibase/uiview/pview.cxx sw/source/core/uibase/uno/unomailmerge.cxx sw/source/core/undo/unattr.cxx sw/source/core/undo/untbl.cxx sw/source/core/unocore/unochart.cxx sw/source/core/view/vdraw.cxx sw/source/core/view/vnew.cxx sw/source/filter/basflt/fltini.cxx sw/source/filter/html/wrthtml.cxx sw/source/filter/inc/wwstyles.hxx sw/source/filter/rtf/rtffly.cxx sw/source/filter/rtf/swparrtf.cxx sw/source/filter/ww8/docxattributeoutput.cxx sw/source/filter/ww8/dump/msvbasic.cxx sw/source/filter/ww8/dump/ww8scan.cxx sw/source/filter/ww8/dump/ww8scan.hxx sw/source/filter/ww8/dump/ww8struc.hxx sw/source/filter/ww8/wrtww8.cxx sw/source/filter/ww8/ww8graf.cxx sw/source/filter/ww8/ww8par.cxx sw/source/filter/ww8/ww8par2.cxx sw/source/filter/ww8/ww8par2.hxx sw/source/filter/ww8/ww8par3.cxx sw/source/filter/ww8/ww8par6.cxx sw/source/filter/ww8/ww8scan.cxx sw/source/filter/ww8/ww8scan.hxx sw/source/ui/dbui/dbinsdlg.cxx sw/source/ui/inc/tablemgr.hxx sw/source/ui/inc/uitool.hxx sw/source/ui/lingu/olmenu.cxx sw/source/ui/uiview/viewport.cxx sysui/desktop/productversion.mk sysui/desktop/slackware/makefile.mk testgraphical/source/CallExternals.pm testgraphical/source/fill_documents_loop.pl testgraphical/ui/java/ConvwatchGUIProject/src/IniFile.java toolkit/doc/layout/notes.txt toolkit/doc/layout/oldnotes.txt toolkit/source/awt/vclxtabcontrol.cxx toolkit/src2xml/source/srcparser.py toolkit/workben/layout/editor.cxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/source/communi/geninfo.cxx tools/source/fsys/dirent.cxx tools/source/fsys/filecopy.cxx tools/source/fsys/os2.cxx tools/source/inet/inetmime.cxx tools/source/rc/resmgr.cxx ucb/source/core/ucbcmds.cxx ucb/source/ucp/file/filglob.cxx ucb/source/ucp/odma/odma_content.cxx ucb/source/ucp/tdoc/ucptdoc.xml ucb/source/ucp/webdav/makefile.mk ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx ucbhelper/source/client/content.cxx ucbhelper/source/client/interceptedinteraction.cxx udkapi/com/sun/star/beans/XPropertiesChangeListener.idl udkapi/com/sun/star/io/ObjectOutputStream.idl udkapi/com/sun/star/io/XMarkableStream.idl udkapi/com/sun/star/io/XTextOutputStream.idl udkapi/com/sun/star/reflection/CoreReflection.idl udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl udkapi/com/sun/star/test/XSimpleTest.idl unodevtools/source/skeletonmaker/skeletoncommon.cxx unodevtools/source/skeletonmaker/skeletoncommon.hxx unotools/inc/unotools/cacheoptions.hxx unotools/inc/unotools/cmdoptions.hxx unotools/inc/unotools/dynamicmenuoptions.hxx unotools/inc/unotools/extendedsecurityoptions.hxx unotools/inc/unotools/fontoptions.hxx unotools/inc/unotools/historyoptions.hxx unotools/inc/unotools/idhelper.hxx unotools/inc/unotools/internaloptions.hxx unotools/inc/unotools/localisationoptions.hxx unotools/inc/unotools/moduleoptions.hxx unotools/inc/unotools/printwarningoptions.hxx unotools/inc/unotools/securityoptions.hxx unotools/inc/unotools/startoptions.hxx unotools/inc/unotools/workingsetoptions.hxx unotools/source/config/cmdoptions.cxx unotools/source/config/compatibility.cxx unotools/source/config/configitem.cxx unotools/source/config/configmgr.cxx unotools/source/config/dynamicmenuoptions.cxx unotools/source/config/fontcfg.cxx unotools/source/config/itemholder1.hxx unotools/source/config/moduleoptions.cxx unotools/source/config/pathoptions.cxx unotools/source/config/viewoptions.cxx unotools/source/misc/sharedunocomponent.cxx uui/source/fltdlg.cxx uui/source/iahndl-filter.cxx vbahelper/inc/vbahelper/collectionbase.hxx vbahelper/source/msforms/vbacontrol.cxx vbahelper/source/vbahelper/collectionbase.cxx vcl/aqua/source/gdi/atsfonts.cxx vcl/inc/aqua/salmathutils.hxx vcl/inc/graphite_cache.hxx vcl/inc/jobset.h vcl/inc/os2/salgdi.h vcl/inc/osx/saldata.hxx vcl/inc/salgdi.hxx vcl/inc/salwtype.hxx vcl/inc/unx/wmadaptor.hxx vcl/inc/vcl/print.hxx vcl/inc/vcl/strhelper.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/app/saltimer.cxx vcl/os2/source/gdi/salgdi2.cxx vcl/osx/salframeview.mm vcl/osx/salprn.cxx vcl/qa/cppunit/dndtest.cxx vcl/source/app/dbggui.cxx vcl/source/control/ilstbox.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdev6.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/pdfwriter_impl2.cxx vcl/source/gdi/print.cxx vcl/source/gdi/print2.cxx vcl/source/glyphs/gcach_layout.cxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/window/printdlg.cxx vcl/source/window/tabdlg.cxx vcl/source/window/window.cxx vcl/source/window/winproc.cxx vcl/unx/generic/app/saldisp.cxx vcl/unx/generic/dtrans/X11_selection.hxx vcl/unx/gtk/app/gtkdata.cxx vcl/win/source/gdi/salgdi2.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/window/salframe.cxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/socket.cxx wizards/com/sun/star/wizards/agenda/AgendaTemplate.java wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java wizards/com/sun/star/wizards/agenda/TopicsControl.java wizards/com/sun/star/wizards/web/FTPDialog.java wizards/com/sun/star/wizards/web/ImageListDialog.java wizards/com/sun/star/wizards/web/Process.java wizards/com/sun/star/wizards/web/ProcessStatusRenderer.java wizards/com/sun/star/wizards/web/TOCPreview.java wizards/com/sun/star/wizards/web/WWD_Startup.java wizards/com/sun/star/wizards/web/data/TypeDetection.java wizards/com/sun/star/wizards/web/export/ImpressHTMLExporter.java writerfilter/inc/doctok/WW8Document.hxx writerfilter/source/dmapper/DomainMapper.cxx writerfilter/source/dmapper/NumberingManager.cxx writerfilter/source/dmapper/PropertyMap.cxx writerfilter/source/dmapper/StyleSheetTable.cxx writerfilter/source/doctok/WW8StructBase.hxx writerfilter/source/doctok/resources.xmi writerfilter/source/ooxml/README.efforts xmerge/source/activesync/XMergeFilter.cpp xmerge/source/minicalc/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java xmerge/source/palmtests/qa/comparator/pdbcomparison.java xmerge/source/palmtests/qa/test_spec/convertor_test_spec.html xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java xmerge/source/pocketword/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java xmerge/workben/jstyle.pl xmlhelp/source/cxxhelp/provider/databases.hxx xmlhelp/source/cxxhelp/provider/provider.cxx xmlhelp/source/treeview/tvread.cxx xmloff/inc/txtfldi.hxx xmloff/inc/xmloff/xmlmultiimagehelper.hxx xmloff/inc/xmloff/xmluconv.hxx xmloff/source/core/xmlexp.cxx xmloff/source/draw/shapeexport2.cxx xmloff/source/draw/shapeexport3.cxx xmloff/source/meta/xmlversion.cxx xmloff/source/style/impastp4.cxx xmloff/source/style/xmlaustp.cxx xmloff/source/text/XMLSectionExport.cxx xmloff/source/text/txtflde.cxx xmloff/source/text/txtimp.cxx xmloff/source/text/txtparae.cxx xmloff/source/text/txtparai.cxx xmloff/source/text/txtvfldi.cxx xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx Change-Id: Ie072e7c3a60c5dae16a67ac36d1f372c5065c99c
2014-04-29 19:25:03 +00:00
// Prevent the untimely destruction of the called handler by acquiring a
// temporary reference here.
std::shared_ptr<ModeHandler> pModeHandler (mpModeHandler);
pModeHandler->ProcessEvent(rDescriptor);
}
bool Match (
const sal_uInt32 nEventCode,
const sal_uInt32 nPositivePattern)
{
return (nEventCode & nPositivePattern)==nPositivePattern;
}
void SelectionFunction::SwitchToNormalMode()
{
if (mpModeHandler->GetMode() != NormalMode)
SwitchMode(std::shared_ptr<ModeHandler>(
new NormalModeHandler(mrSlideSorter, *this)));
}
void SelectionFunction::SwitchToDragAndDropMode (const Point& rMousePosition)
{
if (mpModeHandler->GetMode() != DragAndDropMode)
{
#ifndef MACOSX
std::shared_ptr<DragAndDropModeHandler> handler(
new DragAndDropModeHandler(mrSlideSorter, *this));
SwitchMode(handler);
// Delayed initialization, only after mpModeHanler is set, otherwise DND initialization
// could already trigger DND events, which would recursively trigger this code again,
// and without mpModeHandler set it would again try to set a new handler.
handler->Initialize(rMousePosition, mpWindow);
#else
SwitchMode(std::shared_ptr<ModeHandler>(
new DragAndDropModeHandler(mrSlideSorter, *this, rMousePosition, mpWindow)));
#endif
}
}
void SelectionFunction::SwitchToMultiSelectionMode (
const Point& rMousePosition,
const sal_uInt32 nEventCode)
{
if (mpModeHandler->GetMode() != MultiSelectionMode)
#ifndef MACOSX
{
std::shared_ptr<MultiSelectionModeHandler> handler(
new MultiSelectionModeHandler(mrSlideSorter, *this, rMousePosition));
SwitchMode(handler);
// Delayed initialization, only after mpModeHanler is set, the handle ctor
// is non-trivial, so it could possibly recurse just like the DND handler above.
handler->Initialize(nEventCode);
}
#else
SwitchMode(std::shared_ptr<ModeHandler>(
new MultiSelectionModeHandler(mrSlideSorter, *this, rMousePosition, nEventCode)));
#endif
}
void SelectionFunction::SwitchMode (const std::shared_ptr<ModeHandler>& rpHandler)
{
// Not all modes allow mouse over indicator.
if (mpModeHandler->IsMouseOverIndicatorAllowed() != rpHandler->IsMouseOverIndicatorAllowed())
{
if ( ! rpHandler->IsMouseOverIndicatorAllowed())
{
mrSlideSorter.GetView().SetPageUnderMouse(model::SharedPageDescriptor());
}
else
mrSlideSorter.GetView().UpdatePageUnderMouse();
}
mpModeHandler = rpHandler;
}
void SelectionFunction::ResetShiftKeySelectionAnchor()
{
mnShiftKeySelectionAnchor = -1;
}
void SelectionFunction::ResetMouseAnchor()
{
if (mpModeHandler && mpModeHandler->GetMode() == NormalMode)
{
std::shared_ptr<NormalModeHandler> pHandler (
std::dynamic_pointer_cast<NormalModeHandler>(mpModeHandler));
if (pHandler)
pHandler->ResetButtonDownLocation();
}
}
//===== EventDescriptor =======================================================
SelectionFunction::EventDescriptor::EventDescriptor (
const sal_uInt32 nEventType,
const MouseEvent& rEvent,
SlideSorter const & rSlideSorter)
: maMousePosition(rEvent.GetPosPixel()),
maMouseModelPosition(),
mpHitDescriptor(),
mpHitPage(),
mnEventCode(nEventType),
meDragMode(InsertionIndicatorHandler::MoveMode),
mbIsLeaving(false)
{
maMouseModelPosition = rSlideSorter.GetContentWindow()->PixelToLogic(maMousePosition);
mpHitDescriptor = rSlideSorter.GetController().GetPageAt(maMousePosition);
if (mpHitDescriptor)
{
mpHitPage = mpHitDescriptor->GetPage();
}
mnEventCode |= EncodeMouseEvent(rEvent);
mnEventCode |= EncodeState();
// Detect the mouse leaving the window. When not button is pressed then
// we can call IsLeaveWindow at the event. Otherwise we have to make an
// explicit test.
mbIsLeaving = rEvent.IsLeaveWindow()
|| ! ::tools::Rectangle(Point(0,0),
rSlideSorter.GetContentWindow()->GetOutputSizePixel()).IsInside(maMousePosition);
}
SelectionFunction::EventDescriptor::EventDescriptor (
const sal_uInt32 nEventType,
const AcceptDropEvent& rEvent,
const sal_Int8 nDragAction,
SlideSorter const & rSlideSorter)
: maMousePosition(rEvent.maPosPixel),
maMouseModelPosition(),
mpHitDescriptor(),
mpHitPage(),
mnEventCode(nEventType),
meDragMode(InsertionIndicatorHandler::GetModeFromDndAction(nDragAction)),
mbIsLeaving(false)
{
maMouseModelPosition = rSlideSorter.GetContentWindow()->PixelToLogic(maMousePosition);
mpHitDescriptor = rSlideSorter.GetController().GetPageAt(maMousePosition);
if (mpHitDescriptor)
{
mpHitPage = mpHitDescriptor->GetPage();
}
mnEventCode |= EncodeState();
// Detect the mouse leaving the window. When not button is pressed then
// we can call IsLeaveWindow at the event. Otherwise we have to make an
// explicit test.
mbIsLeaving = rEvent.mbLeaving
|| ! ::tools::Rectangle(Point(0,0),
rSlideSorter.GetContentWindow()->GetOutputSizePixel()).IsInside(maMousePosition);
}
sal_uInt32 SelectionFunction::EventDescriptor::EncodeMouseEvent (
const MouseEvent& rEvent) const
{
// Initialize with the type of mouse event.
sal_uInt32 nEventCode (mnEventCode & (BUTTON_DOWN | BUTTON_UP | MOUSE_MOTION));
// Detect the affected button.
switch (rEvent.GetButtons())
{
case MOUSE_LEFT: nEventCode |= LEFT_BUTTON; break;
case MOUSE_RIGHT: nEventCode |= RIGHT_BUTTON; break;
case MOUSE_MIDDLE: nEventCode |= MIDDLE_BUTTON; break;
}
// Detect the number of clicks.
switch (rEvent.GetClicks())
{
case 1: nEventCode |= SINGLE_CLICK; break;
case 2: nEventCode |= DOUBLE_CLICK; break;
}
// Detect pressed modifier keys.
if (rEvent.IsShift())
nEventCode |= SHIFT_MODIFIER;
if (rEvent.IsMod1())
nEventCode |= CONTROL_MODIFIER;
return nEventCode;
}
sal_uInt32 SelectionFunction::EventDescriptor::EncodeState() const
{
sal_uInt32 nEventCode (0);
// Detect whether the event has happened over a page object.
if (mpHitPage!=nullptr && mpHitDescriptor)
{
if (mpHitDescriptor->HasState(model::PageDescriptor::ST_Selected))
nEventCode |= OVER_SELECTED_PAGE;
else
nEventCode |= OVER_UNSELECTED_PAGE;
}
return nEventCode;
}
//===== SelectionFunction::ModeHandler ========================================
SelectionFunction::ModeHandler::ModeHandler (
SlideSorter& rSlideSorter,
SelectionFunction& rSelectionFunction,
const bool bIsMouseOverIndicatorAllowed)
: mrSlideSorter(rSlideSorter),
mrSelectionFunction(rSelectionFunction),
mbIsMouseOverIndicatorAllowed(bIsMouseOverIndicatorAllowed)
{
}
SelectionFunction::ModeHandler::~ModeHandler() COVERITY_NOEXCEPT_FALSE
{
}
void SelectionFunction::ModeHandler::ReprocessEvent (EventDescriptor& rDescriptor)
{
mrSelectionFunction.ProcessEvent(rDescriptor);
}
void SelectionFunction::ModeHandler::ProcessEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
PageSelector::BroadcastLock aBroadcastLock (mrSlideSorter);
PageSelector::UpdateLock aUpdateLock (mrSlideSorter);
bool bIsProcessed (false);
switch (rDescriptor.mnEventCode & (BUTTON_DOWN | BUTTON_UP | MOUSE_MOTION | MOUSE_DRAG))
{
case BUTTON_DOWN:
bIsProcessed = ProcessButtonDownEvent(rDescriptor);
break;
case BUTTON_UP:
bIsProcessed = ProcessButtonUpEvent(rDescriptor);
break;
case MOUSE_MOTION:
bIsProcessed = ProcessMotionEvent(rDescriptor);
break;
case MOUSE_DRAG:
bIsProcessed = ProcessDragEvent(rDescriptor);
break;
}
if ( ! bIsProcessed)
HandleUnprocessedEvent(rDescriptor);
}
bool SelectionFunction::ModeHandler::ProcessButtonDownEvent (EventDescriptor&)
{
return false;
}
bool SelectionFunction::ModeHandler::ProcessButtonUpEvent (EventDescriptor&)
{
mrSelectionFunction.SwitchToNormalMode();
return false;
}
bool SelectionFunction::ModeHandler::ProcessMotionEvent (EventDescriptor& rDescriptor)
{
if (mbIsMouseOverIndicatorAllowed)
mrSlideSorter.GetView().UpdatePageUnderMouse(rDescriptor.maMousePosition);
if (rDescriptor.mbIsLeaving)
{
mrSelectionFunction.SwitchToNormalMode();
mrSlideSorter.GetView().SetPageUnderMouse(model::SharedPageDescriptor());
return true;
}
else
return false;
}
bool SelectionFunction::ModeHandler::ProcessDragEvent (EventDescriptor&)
{
return false;
}
bool SelectionFunction::ModeHandler::HandleUnprocessedEvent (EventDescriptor&)
{
return false;
}
void SelectionFunction::ModeHandler::SetCurrentPage (
const model::SharedPageDescriptor& rpDescriptor)
{
SelectOnePage(rpDescriptor);
mrSlideSorter.GetController().GetCurrentSlideManager()->SwitchCurrentSlide(rpDescriptor);
}
void SelectionFunction::ModeHandler::DeselectAllPages()
{
mrSlideSorter.GetController().GetPageSelector().DeselectAllPages();
mrSelectionFunction.ResetShiftKeySelectionAnchor();
}
void SelectionFunction::ModeHandler::SelectOnePage (
const model::SharedPageDescriptor& rpDescriptor)
{
DeselectAllPages();
mrSlideSorter.GetController().GetPageSelector().SelectPage(rpDescriptor);
}
void SelectionFunction::ModeHandler::SwitchView (const model::SharedPageDescriptor& rpDescriptor)
{
// Switch to the draw view. This is done only when the current
// view is the main view.
ViewShell* pViewShell = mrSlideSorter.GetViewShell();
if (pViewShell!=nullptr && pViewShell->IsMainViewShell())
{
if (rpDescriptor.get()!=nullptr && rpDescriptor->GetPage()!=nullptr)
{
mrSlideSorter.GetModel().GetDocument()->SetSelected(rpDescriptor->GetPage(), true);
pViewShell->GetFrameView()->SetSelectedPage(
(rpDescriptor->GetPage()->GetPageNum()-1)/2);
}
if (mrSlideSorter.GetViewShellBase() != nullptr)
framework::FrameworkHelper::Instance(*mrSlideSorter.GetViewShellBase())->RequestView(
framework::FrameworkHelper::msImpressViewURL,
framework::FrameworkHelper::msCenterPaneURL);
}
}
void SelectionFunction::ModeHandler::StartDrag (
const Point& rMousePosition)
{
// Do not start a drag-and-drop operation when one is already active.
// (when dragging pages from one document into another, pressing a
// modifier key can trigger a MouseMotion event in the originating
// window (focus still in there). Together with the mouse button pressed
// (drag-and-drop is active) this triggers the start of drag-and-drop.)
if (SD_MOD()->pTransferDrag != nullptr)
return;
if ( ! mrSlideSorter.GetProperties()->IsUIReadOnly())
{
mrSelectionFunction.SwitchToDragAndDropMode(rMousePosition);
}
}
//===== NormalModeHandler =====================================================
NormalModeHandler::NormalModeHandler (
SlideSorter& rSlideSorter,
SelectionFunction& rSelectionFunction)
: ModeHandler(rSlideSorter, rSelectionFunction, true),
maButtonDownLocation()
{
}
SelectionFunction::Mode NormalModeHandler::GetMode() const
{
return SelectionFunction::NormalMode;
}
void NormalModeHandler::Abort()
{
}
bool NormalModeHandler::ProcessButtonDownEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
// Remember the location where the left button is pressed. With
// that we can filter away motion events that are caused by key
// presses. We also can tune the minimal motion distance that
// triggers a drag-and-drop operation.
if ((rDescriptor.mnEventCode & BUTTON_DOWN) != 0)
maButtonDownLocation = rDescriptor.maMousePosition;
switch (rDescriptor.mnEventCode)
{
case BUTTON_DOWN | LEFT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE:
SetCurrentPage(rDescriptor.mpHitDescriptor);
break;
case BUTTON_DOWN | LEFT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE:
break;
case BUTTON_DOWN | LEFT_BUTTON | DOUBLE_CLICK | OVER_SELECTED_PAGE:
case BUTTON_DOWN | LEFT_BUTTON | DOUBLE_CLICK | OVER_UNSELECTED_PAGE:
// A double click always shows the selected slide in the center
// pane in an edit view.
SetCurrentPage(rDescriptor.mpHitDescriptor);
SwitchView(rDescriptor.mpHitDescriptor);
break;
case BUTTON_DOWN | LEFT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE | SHIFT_MODIFIER:
case BUTTON_DOWN | LEFT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE | SHIFT_MODIFIER:
// Range selection with the shift modifier.
RangeSelect(rDescriptor.mpHitDescriptor);
break;
// Right button for context menu.
case BUTTON_DOWN | RIGHT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE:
// Single right click and shift+F10 select as preparation to
// show the context menu. Change the selection only when the
// page under the mouse is not selected. In this case the
// selection is set to this single page. Otherwise the
// selection is not modified.
SetCurrentPage(rDescriptor.mpHitDescriptor);
break;
case BUTTON_DOWN | RIGHT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE:
// Do not change the selection. Just adjust the insertion indicator.
break;
case BUTTON_DOWN | RIGHT_BUTTON | SINGLE_CLICK | NOT_OVER_PAGE:
// Remember the current selection so that when a multi selection
// is started, we can restore the previous selection.
mrSlideSorter.GetModel().SaveCurrentSelection();
DeselectAllPages();
break;
case ANY_MODIFIER(BUTTON_DOWN | LEFT_BUTTON | SINGLE_CLICK | NOT_OVER_PAGE):
// Remember the current selection so that when a multi selection
// is started, we can restore the previous selection.
mrSlideSorter.GetModel().SaveCurrentSelection();
DeselectAllPages();
break;
case BUTTON_DOWN | LEFT_BUTTON | DOUBLE_CLICK | NOT_OVER_PAGE:
{
// Insert a new slide:
// First of all we need to set the insertion indicator which sets the
// position where the new slide will be inserted.
std::shared_ptr<InsertionIndicatorHandler> pInsertionIndicatorHandler
= mrSlideSorter.GetController().GetInsertionIndicatorHandler();
pInsertionIndicatorHandler->Start(false);
pInsertionIndicatorHandler->UpdatePosition(
rDescriptor.maMousePosition,
InsertionIndicatorHandler::MoveMode);
mrSlideSorter.GetController().GetSelectionManager()->SetInsertionPosition(
pInsertionIndicatorHandler->GetInsertionPageIndex());
mrSlideSorter.GetViewShell()->GetDispatcher()->Execute(
SID_INSERTPAGE,
SfxCallMode::ASYNCHRON | SfxCallMode::RECORD);
pInsertionIndicatorHandler->End(Animator::AM_Immediate);
break;
}
default:
return false;
}
return true;
}
bool NormalModeHandler::ProcessButtonUpEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
bool bIsProcessed (true);
switch (rDescriptor.mnEventCode)
{
case BUTTON_UP | LEFT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE:
SetCurrentPage(rDescriptor.mpHitDescriptor);
break;
// Multi selection with the control modifier.
case BUTTON_UP | LEFT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE | CONTROL_MODIFIER:
mrSlideSorter.GetController().GetPageSelector().DeselectPage(
rDescriptor.mpHitDescriptor);
break;
case BUTTON_UP | LEFT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE | CONTROL_MODIFIER:
mrSlideSorter.GetController().GetPageSelector().SelectPage(
rDescriptor.mpHitDescriptor);
mrSlideSorter.GetView().SetPageUnderMouse(rDescriptor.mpHitDescriptor);
break;
case BUTTON_UP | LEFT_BUTTON | SINGLE_CLICK | NOT_OVER_PAGE:
break;
default:
bIsProcessed = false;
break;
}
mrSelectionFunction.SwitchToNormalMode();
return bIsProcessed;
}
bool NormalModeHandler::ProcessMotionEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
if (ModeHandler::ProcessMotionEvent(rDescriptor))
return true;
bool bIsProcessed (true);
switch (rDescriptor.mnEventCode)
{
// A mouse motion without visible substitution starts that.
case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE):
case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE):
{
if (maButtonDownLocation)
{
const sal_Int32 nDistance (maButtonDownLocation
? ::std::max (
std::abs(maButtonDownLocation->X() - rDescriptor.maMousePosition.X()),
std::abs(maButtonDownLocation->Y() - rDescriptor.maMousePosition.Y()))
: 0);
if (nDistance > 3)
StartDrag(rDescriptor.maMousePosition);
}
break;
}
// A mouse motion not over a page starts a rectangle selection.
case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | NOT_OVER_PAGE):
mrSelectionFunction.SwitchToMultiSelectionMode(
rDescriptor.maMouseModelPosition,
rDescriptor.mnEventCode);
break;
default:
bIsProcessed = false;
break;
}
return bIsProcessed;
}
bool NormalModeHandler::ProcessDragEvent (SelectionFunction::EventDescriptor& rDescriptor)
{
mrSelectionFunction.SwitchToDragAndDropMode(rDescriptor.maMousePosition);
ReprocessEvent(rDescriptor);
return true;
}
void NormalModeHandler::RangeSelect (const model::SharedPageDescriptor& rpDescriptor)
{
PageSelector::UpdateLock aLock (mrSlideSorter);
PageSelector& rSelector (mrSlideSorter.GetController().GetPageSelector());
model::SharedPageDescriptor pAnchor (rSelector.GetSelectionAnchor());
DeselectAllPages();
if (pAnchor.get() != nullptr)
{
// Select all pages between the anchor and the given one, including
// the two.
const sal_uInt16 nAnchorIndex ((pAnchor->GetPage()->GetPageNum()-1) / 2);
const sal_uInt16 nOtherIndex ((rpDescriptor->GetPage()->GetPageNum()-1) / 2);
// Iterate over all pages in the range. Start with the anchor
// page. This way the PageSelector will recognize it again as
// anchor (the first selected page after a DeselectAllPages()
// becomes the anchor.)
const sal_uInt16 nStep ((nAnchorIndex < nOtherIndex) ? +1 : -1);
sal_uInt16 nIndex (nAnchorIndex);
while (true)
{
rSelector.SelectPage(nIndex);
if (nIndex == nOtherIndex)
break;
nIndex = nIndex + nStep;
}
}
}
void NormalModeHandler::ResetButtonDownLocation()
{
maButtonDownLocation = ::boost::optional<Point>();
}
//===== MultiSelectionModeHandler =============================================
MultiSelectionModeHandler::MultiSelectionModeHandler (
SlideSorter& rSlideSorter,
SelectionFunction& rSelectionFunction,
#ifndef MACOSX
const Point& rMouseModelPosition)
#else
const Point& rMouseModelPosition,
const sal_uInt32 nEventCode)
#endif
: ModeHandler(rSlideSorter, rSelectionFunction, false),
meSelectionMode(SM_Normal),
maSecondCorner(rMouseModelPosition),
maSavedPointer(mrSlideSorter.GetContentWindow()->GetPointer()),
mbAutoScrollInstalled(false),
mnAnchorIndex(-1),
mnSecondIndex(-1)
{
#ifndef MACOSX
}
void MultiSelectionModeHandler::Initialize(const sal_uInt32 nEventCode)
{
#endif
const Pointer aSelectionPointer (PointerStyle::Text);
mrSlideSorter.GetContentWindow()->SetPointer(aSelectionPointer);
SetSelectionModeFromModifier(nEventCode);
}
MultiSelectionModeHandler::~MultiSelectionModeHandler()
{
if (mbAutoScrollInstalled)
{
//a call to this handler's MultiSelectionModeHandler::UpdatePosition
//may be still waiting to be called back
mrSlideSorter.GetController().GetScrollBarManager().clearAutoScrollFunctor();
}
mrSlideSorter.GetContentWindow()->SetPointer(maSavedPointer);
}
SelectionFunction::Mode MultiSelectionModeHandler::GetMode() const
{
return SelectionFunction::MultiSelectionMode;
}
void MultiSelectionModeHandler::Abort()
{
mrSlideSorter.GetView().RequestRepaint(mrSlideSorter.GetModel().RestoreSelection());
}
void MultiSelectionModeHandler::ProcessEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
// During a multi selection we do not want sudden jumps of the
// visible area caused by moving newly selected pages into view.
// Therefore disable that temporarily. The disabled object is
// released at the end of the event processing, after the focus and
// current slide have been updated.
VisibleAreaManager::TemporaryDisabler aDisabler (mrSlideSorter);
ModeHandler::ProcessEvent(rDescriptor);
}
bool MultiSelectionModeHandler::ProcessButtonUpEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
if (mbAutoScrollInstalled)
{
//a call to this handler's MultiSelectionModeHandler::UpdatePosition
//may be still waiting to be called back
mrSlideSorter.GetController().GetScrollBarManager().clearAutoScrollFunctor();
mbAutoScrollInstalled = false;
}
if (Match(rDescriptor.mnEventCode, BUTTON_UP | LEFT_BUTTON | SINGLE_CLICK))
{
mrSelectionFunction.SwitchToNormalMode();
return true;
}
else
return false;
}
bool MultiSelectionModeHandler::ProcessMotionEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
// The selection rectangle is visible. Handle events accordingly.
if (Match(rDescriptor.mnEventCode, MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK))
{
SetSelectionModeFromModifier(rDescriptor.mnEventCode);
UpdatePosition(rDescriptor.maMousePosition, true);
return true;
}
else
return false;
}
bool MultiSelectionModeHandler::HandleUnprocessedEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
if ( ! ModeHandler::HandleUnprocessedEvent(rDescriptor))
{
// If the event has not been processed then stop multi selection.
mrSelectionFunction.SwitchToNormalMode();
ReprocessEvent(rDescriptor);
}
return true;
}
void MultiSelectionModeHandler::UpdatePosition (
const Point& rMousePosition,
const bool bAllowAutoScroll)
{
VisibleAreaManager::TemporaryDisabler aDisabler (mrSlideSorter);
// Convert window coordinates into model coordinates (we need the
// window coordinates for auto-scrolling because that remains
// constant while scrolling.)
sd::Window *pWindow (mrSlideSorter.GetContentWindow().get());
const Point aMouseModelPosition (pWindow->PixelToLogic(rMousePosition));
bool bDoAutoScroll = bAllowAutoScroll && mrSlideSorter.GetController().GetScrollBarManager().AutoScroll(
rMousePosition,
[this, &rMousePosition] () { return this->UpdatePosition(rMousePosition, false); });
if (!bDoAutoScroll)
UpdateModelPosition(aMouseModelPosition);
mbAutoScrollInstalled |= bDoAutoScroll;
}
void MultiSelectionModeHandler::SetSelectionModeFromModifier (
const sal_uInt32 nEventCode)
{
switch (nEventCode & MODIFIER_MASK)
{
case NO_MODIFIER:
SetSelectionMode(SM_Normal);
break;
case SHIFT_MODIFIER:
SetSelectionMode(SM_Add);
break;
case CONTROL_MODIFIER:
SetSelectionMode(SM_Toggle);
break;
}
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
void MultiSelectionModeHandler::SetSelectionMode (const SelectionMode eSelectionMode)
{
if (meSelectionMode != eSelectionMode)
{
meSelectionMode = eSelectionMode;
UpdateSelection();
}
}
void MultiSelectionModeHandler::UpdateSelectionState (
const model::SharedPageDescriptor& rpDescriptor,
const bool bIsInSelection) const
{
// Determine whether the page was selected before the rectangle
// selection was started.
const bool bWasSelected (rpDescriptor->HasState(model::PageDescriptor::ST_WasSelected));
// Combine the two selection states depending on the selection mode.
bool bSelect (false);
switch(meSelectionMode)
{
case SM_Normal:
bSelect = bIsInSelection;
break;
case SM_Add:
bSelect = bIsInSelection || bWasSelected;
break;
case SM_Toggle:
if (bIsInSelection)
bSelect = !bWasSelected;
else
bSelect = bWasSelected;
break;
}
// Set the new selection state.
if (bSelect)
mrSlideSorter.GetController().GetPageSelector().SelectPage(rpDescriptor);
else
mrSlideSorter.GetController().GetPageSelector().DeselectPage(rpDescriptor);
}
void MultiSelectionModeHandler::UpdateModelPosition (const Point& rMouseModelPosition)
{
maSecondCorner = rMouseModelPosition;
UpdateSelection();
}
void MultiSelectionModeHandler::UpdateSelection()
{
view::SlideSorterView::DrawLock aLock (mrSlideSorter);
model::SlideSorterModel& rModel (mrSlideSorter.GetModel());
const sal_Int32 nPageCount (rModel.GetPageCount());
const sal_Int32 nIndexUnderMouse (
mrSlideSorter.GetView().GetLayouter().GetIndexAtPoint (
maSecondCorner,
false,
false));
if (nIndexUnderMouse>=0 && nIndexUnderMouse<nPageCount)
{
if (mnAnchorIndex < 0)
mnAnchorIndex = nIndexUnderMouse;
mnSecondIndex = nIndexUnderMouse;
Range aRange (mnAnchorIndex, mnSecondIndex);
aRange.Justify();
for (sal_Int32 nIndex=0; nIndex<nPageCount; ++nIndex)
{
UpdateSelectionState(rModel.GetPageDescriptor(nIndex), aRange.IsInside(nIndex));
}
}
}
//===== DragAndDropModeHandler ================================================
DragAndDropModeHandler::DragAndDropModeHandler (
SlideSorter& rSlideSorter,
#ifndef MACOSX
SelectionFunction& rSelectionFunction)
#else
SelectionFunction& rSelectionFunction,
const Point& rMousePosition,
vcl::Window* pWindow)
#endif
: ModeHandler(rSlideSorter, rSelectionFunction, false)
{
#ifndef MACOSX
}
void DragAndDropModeHandler::Initialize(const Point& rMousePosition, vcl::Window* pWindow)
{
#endif
SdTransferable* pDragTransferable = SD_MOD()->pTransferDrag;
if (pDragTransferable==nullptr && mrSlideSorter.GetViewShell() != nullptr)
{
SlideSorterViewShell* pSlideSorterViewShell
= dynamic_cast<SlideSorterViewShell*>(mrSlideSorter.GetViewShell());
if (pSlideSorterViewShell != nullptr)
pSlideSorterViewShell->StartDrag(rMousePosition, pWindow);
pDragTransferable = SD_MOD()->pTransferDrag;
}
mpDragAndDropContext.reset(new DragAndDropContext(mrSlideSorter));
mrSlideSorter.GetController().GetInsertionIndicatorHandler()->Start(
pDragTransferable != nullptr
&& pDragTransferable->GetView()==&mrSlideSorter.GetView());
}
DragAndDropModeHandler::~DragAndDropModeHandler()
{
if (mpDragAndDropContext)
{
// Disconnect the substitution handler from this selection function.
mpDragAndDropContext->SetTargetSlideSorter(Point(0,0));
mpDragAndDropContext.reset();
}
mrSlideSorter.GetController().GetInsertionIndicatorHandler()->End(Animator::AM_Animated);
}
SelectionFunction::Mode DragAndDropModeHandler::GetMode() const
{
return SelectionFunction::DragAndDropMode;
}
void DragAndDropModeHandler::Abort()
{
mrSlideSorter.GetController().GetClipboard().Abort();
if (mpDragAndDropContext)
mpDragAndDropContext->Dispose();
// mrSlideSorter.GetView().RequestRepaint(mrSlideSorter.GetModel().RestoreSelection());
}
bool DragAndDropModeHandler::ProcessButtonUpEvent (
SelectionFunction::EventDescriptor& rDescriptor)
{
if (Match(rDescriptor.mnEventCode, BUTTON_UP | LEFT_BUTTON))
{
Many spelling fixes: directories r* - z*. Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. (cherry picked from commit 28206a7cb43aff5adb10f8235ad1680c3941ee3e) Conflicts: include/osl/file.hxx include/osl/pipe_decl.hxx include/osl/socket.h include/osl/socket_decl.hxx include/sal/main.h include/svx/dbaexchange.hxx include/svx/dlgctrl.hxx include/svx/msdffdef.hxx include/svx/sdr/contact/objectcontactofpageview.hxx include/svx/svdpntv.hxx include/ucbhelper/content.hxx include/ucbhelper/interceptedinteraction.hxx include/ucbhelper/resultsethelper.hxx include/unotools/sharedunocomponent.hxx include/unotools/viewoptions.hxx include/vcl/pdfwriter.hxx include/xmloff/txtparae.hxx include/xmloff/uniref.hxx rhino/rhino1_7R3.patch rsc/inc/rscrsc.hxx sal/inc/osl/conditn.h sal/inc/osl/security.h sal/inc/osl/semaphor.h sal/inc/osl/semaphor.hxx sal/inc/rtl/string.hxx sal/inc/rtl/tres.h sal/inc/systools/win32/StrConvert.h sal/osl/os2/file_path_helper.h sal/osl/os2/file_path_helper.hxx sal/osl/os2/file_url.cxx sal/osl/os2/file_url.h sal/osl/os2/makefile.mk sal/osl/os2/pipe.cxx sal/osl/os2/process.c sal/osl/os2/profile.c sal/osl/os2/socket.c sal/osl/os2/system.h sal/osl/unx/asm/interlck_sparc.s sal/osl/unx/file_url.cxx sal/osl/unx/signal.c sal/osl/unx/system.h sal/osl/w32/MAKEFILE.MK sal/osl/w32/interlck.c sal/osl/w32/module.cxx sal/osl/w32/security.c sal/qa/buildall.pl sal/qa/osl/file/osl_File.cxx sal/qa/osl/module/osl_Module_Const.h sal/qa/osl/mutex/osl_Mutex.cxx sal/qa/osl/pipe/osl_Pipe.cxx sal/qa/osl/process/osl_Thread.cxx sal/qa/osl/socket/osl_StreamSocket.cxx sal/qa/osl/socket/sockethelper.cxx sal/qa/rtl_strings/rtl_OUString.cxx sal/rtl/source/unload.cxx sal/systools/win32/kill/kill.cxx sal/systools/win32/uwinapi/MoveFileExA.cpp sal/test/bootstrap.pl sal/typesconfig/typesconfig.c sal/workben/tgetpwnam.cxx sax/inc/sax/parser/saxparser.hxx sc/addin/datefunc/dfa.cl sc/addin/datefunc/dfa.src sc/addin/rot13/rot13.cl sc/addin/rot13/rot13.src sc/inc/attarray.hxx sc/inc/chgtrack.hxx sc/inc/column.hxx sc/inc/compressedarray.hxx sc/inc/document.hxx sc/inc/table.hxx sc/source/core/data/column.cxx sc/source/core/data/dptablecache.cxx sc/source/core/data/dptabres.cxx sc/source/core/data/dptabsrc.cxx sc/source/core/data/global.cxx sc/source/core/tool/chgtrack.cxx sc/source/core/tool/compiler.cxx sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xichart.cxx sc/source/filter/inc/fapihelper.hxx sc/source/filter/inc/xistyle.hxx sc/source/filter/xml/xmlsubti.cxx sc/source/ui/Accessibility/AccessibleCell.cxx sc/source/ui/Accessibility/AccessibleContextBase.cxx sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx sc/source/ui/Accessibility/AccessibleEditObject.cxx sc/source/ui/Accessibility/AccessiblePreviewCell.cxx sc/source/ui/app/inputwin.cxx sc/source/ui/docshell/docfunc.cxx sc/source/ui/drawfunc/fupoor.cxx sc/source/ui/miscdlgs/linkarea.cxx sc/source/ui/unoobj/chart2uno.cxx sc/source/ui/unoobj/nameuno.cxx sc/source/ui/vba/vbacharacters.hxx sc/source/ui/vba/vbarange.cxx sc/source/ui/vba/vbawindow.cxx scaddins/source/analysis/analysishelper.cxx scaddins/source/analysis/analysishelper.hxx scaddins/source/datefunc/datefunc.cxx scripting/examples/python/Capitalise.py scripting/source/pyprov/officehelper.py sd/source/filter/eppt/eppt.cxx sd/source/filter/eppt/epptso.cxx sd/source/ui/dlg/prltempl.cxx sd/source/ui/dlg/tpoption.cxx sd/source/ui/func/fuediglu.cxx sd/source/ui/func/fupoor.cxx sd/source/ui/func/fusel.cxx sd/source/ui/func/smarttag.cxx sd/source/ui/inc/OutlinerIteratorImpl.hxx sd/source/ui/inc/SlideViewShell.hxx sd/source/ui/inc/fuediglu.hxx sd/source/ui/inc/fusel.hxx sd/source/ui/slideshow/slideshowimpl.cxx sd/source/ui/slidesorter/cache/SlsQueueProcessorThread.hxx sd/source/ui/slidesorter/controller/SlsHideSlideFunction.cxx sd/source/ui/slidesorter/controller/SlsSelectionCommand.hxx sd/source/ui/slidesorter/inc/controller/SlsAnimationFunction.hxx sd/source/ui/slidesorter/view/SlsButtonBar.cxx sd/source/ui/view/Outliner.cxx sd/source/ui/view/drviewsh.cxx sd/source/ui/view/frmview.cxx sdext/source/presenter/PresenterFrameworkObserver.hxx sdext/source/presenter/PresenterSlideShowView.cxx setup_native/scripts/deregister_extensions setup_native/scripts/register_extensions setup_native/source/opensolaris/bundledextensions/README setup_native/source/opensolaris/bundledextensions/svc-ooo_bundled_extensions setup_native/source/win32/customactions/patch/swappatchfiles.cxx setup_native/source/win32/customactions/reg4msdoc/registrar.cxx setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx sfx2/inc/sfx2/sfxbasemodel.hxx sfx2/qa/complex/sfx2/DocumentProperties.java sfx2/source/appl/appopen.cxx sfx2/source/appl/appquit.cxx sfx2/source/appl/appserv.cxx sfx2/source/bastyp/sfxhtml.cxx sfx2/source/dialog/dockwin.cxx sfx2/source/doc/docfile.cxx sfx2/source/doc/docvor.cxx sfx2/source/doc/graphhelp.cxx sfx2/source/doc/objcont.cxx sfx2/source/doc/objserv.cxx sfx2/source/doc/objstor.cxx sfx2/source/doc/objuno.cxx sfx2/source/doc/objxtor.cxx sfx2/source/doc/printhelper.cxx sfx2/source/doc/sfxbasemodel.cxx sfx2/source/notify/eventsupplier.cxx sfx2/source/view/frmload.cxx sfx2/source/view/sfxbasecontroller.cxx shell/qa/zip/ziptest.cxx shell/source/backends/wininetbe/wininetbackend.cxx shell/source/win32/shlxthandler/util/utilities.cxx solenv/bin/build.pl solenv/bin/build_release.pl solenv/bin/cws.pl solenv/bin/download_external_dependencies.pl solenv/bin/make_download.pl solenv/bin/make_installer.pl solenv/bin/modules/Cws.pm solenv/bin/modules/ExtensionsLst.pm solenv/bin/modules/installer/control.pm solenv/bin/modules/installer/downloadsigner.pm solenv/bin/modules/installer/javainstaller.pm solenv/bin/modules/installer/packagepool.pm solenv/bin/modules/installer/patch/InstallationSet.pm solenv/bin/modules/installer/scriptitems.pm solenv/bin/modules/installer/windows/feature.pm solenv/bin/modules/installer/windows/msiglobal.pm solenv/bin/modules/installer/windows/sign.pm solenv/bin/modules/installer/worker.pm solenv/bin/modules/installer/xpdinstaller.pm solenv/bin/modules/osarch.pm solenv/bin/modules/packager/work.pm solenv/bin/modules/pre2par/parameter.pm solenv/bin/patch_tool.pl solenv/bin/transform_description.pl solenv/doc/gbuild/doxygen.cfg solenv/gbuild/LinkTarget.mk solenv/gbuild/gbuild.mk solenv/inc/os2gcci.mk solenv/inc/settings.mk solenv/inc/startup/Readme solenv/inc/target.mk solenv/inc/tg_compv.mk solenv/inc/tg_javav.mk solenv/inc/unitools.mk solenv/inc/unxbsdi.mk solenv/inc/unxbsdi2.mk solenv/inc/unxbsds.mk solenv/inc/unxfbsd.mk solenv/inc/unxlng.mk sot/source/sdstor/stg.cxx sot/source/sdstor/stgelem.cxx sot/source/sdstor/ucbstorage.cxx starmath/inc/toolbox.hxx starmath/source/mathmlexport.cxx starmath/source/node.cxx starmath/source/toolbox.cxx starmath/source/view.cxx stoc/source/bootstrap/bootstrap.xml stoc/source/corereflection/criface.cxx stoc/source/invocation/invocation.cxx stoc/source/security/access_controller.cxx stoc/source/servicemanager/servicemanager.cxx stoc/source/tdmanager/tdmgr.cxx stoc/test/javavm/testjavavm.cxx stoc/test/testconv.cxx stoc/test/testcorefl.cxx stoc/test/testintrosp.cxx svl/inc/svl/inettype.hxx svl/inc/svl/urihelper.hxx svl/qa/complex/ConfigItems/helper/HistoryOptTest.cxx svl/qa/complex/ConfigItems/helper/HistoryOptTest.hxx svl/source/config/itemholder2.hxx svl/source/items/itemset.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svtools/bmpmaker/bmp.cxx svtools/inc/svtools/helpagentwindow.hxx svtools/inc/svtools/menuoptions.hxx svtools/inc/svtools/miscopt.hxx svtools/inc/svtools/optionsdrawinglayer.hxx svtools/inc/svtools/stringtransfer.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svtdata.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/editbrowsebox.cxx svtools/source/config/itemholder2.hxx svtools/source/contnr/contentenumeration.hxx svx/inc/svx/fmsrcimp.hxx svx/inc/svx/svdobj.hxx svx/inc/svx/xtable.hxx svx/source/accessibility/DGColorNameLookUp.cxx svx/source/accessibility/svxrectctaccessiblecontext.cxx svx/source/dialog/pfiledlg.cxx svx/source/fmcomp/fmgridcl.cxx svx/source/fmcomp/fmgridif.cxx svx/source/fmcomp/gridctrl.cxx svx/source/form/filtnav.cxx svx/source/form/fmPropBrw.cxx svx/source/form/fmshimp.cxx svx/source/form/fmsrcimp.cxx svx/source/gallery2/galtheme.cxx svx/source/inc/docrecovery.hxx svx/source/sdr/event/eventhandler.cxx svx/source/svdraw/svdedtv2.cxx svx/source/svdraw/svdedxv.cxx svx/source/svdraw/svdhdl.cxx svx/source/svdraw/svdobj.cxx svx/source/svdraw/svdograf.cxx svx/source/svdraw/svdoole2.cxx svx/source/svdraw/svdotxtr.cxx svx/source/svdraw/svdundo.cxx svx/source/svdraw/svdxcgv.cxx svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx sw/inc/SwNumberTree.hxx sw/inc/ndnotxt.hxx sw/source/core/access/acccell.cxx sw/source/core/access/acccell.hxx sw/source/core/access/accframebase.cxx sw/source/core/access/accframebase.hxx sw/source/core/access/accmap.cxx sw/source/core/access/accpage.cxx sw/source/core/access/accpage.hxx sw/source/core/access/accpara.cxx sw/source/core/access/accpara.hxx sw/source/core/bastyp/swrect.cxx sw/source/core/crsr/findtxt.cxx sw/source/core/doc/docdde.cxx sw/source/core/doc/notxtfrm.cxx sw/source/core/docnode/section.cxx sw/source/core/draw/dcontact.cxx sw/source/core/edit/edlingu.cxx sw/source/core/inc/anchoredobjectposition.hxx sw/source/core/layout/paintfrm.cxx sw/source/core/layout/tabfrm.cxx sw/source/core/layout/trvlfrm.cxx sw/source/core/ole/ndole.cxx sw/source/core/text/atrstck.cxx sw/source/core/text/inftxt.cxx sw/source/core/text/itratr.cxx sw/source/core/text/itrform2.cxx sw/source/core/text/itrform2.hxx sw/source/core/text/porfld.cxx sw/source/core/text/txtfly.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/uibase/dochdl/swdtflvr.cxx sw/source/core/uibase/docvw/PostItMgr.cxx sw/source/core/uibase/docvw/SidebarWin.cxx sw/source/core/uibase/docvw/edtwin.cxx sw/source/core/uibase/envelp/labimg.cxx sw/source/core/uibase/uiview/pview.cxx sw/source/core/uibase/uno/unomailmerge.cxx sw/source/core/undo/unattr.cxx sw/source/core/undo/untbl.cxx sw/source/core/unocore/unochart.cxx sw/source/core/view/vdraw.cxx sw/source/core/view/vnew.cxx sw/source/filter/basflt/fltini.cxx sw/source/filter/html/wrthtml.cxx sw/source/filter/inc/wwstyles.hxx sw/source/filter/rtf/rtffly.cxx sw/source/filter/rtf/swparrtf.cxx sw/source/filter/ww8/docxattributeoutput.cxx sw/source/filter/ww8/dump/msvbasic.cxx sw/source/filter/ww8/dump/ww8scan.cxx sw/source/filter/ww8/dump/ww8scan.hxx sw/source/filter/ww8/dump/ww8struc.hxx sw/source/filter/ww8/wrtww8.cxx sw/source/filter/ww8/ww8graf.cxx sw/source/filter/ww8/ww8par.cxx sw/source/filter/ww8/ww8par2.cxx sw/source/filter/ww8/ww8par2.hxx sw/source/filter/ww8/ww8par3.cxx sw/source/filter/ww8/ww8par6.cxx sw/source/filter/ww8/ww8scan.cxx sw/source/filter/ww8/ww8scan.hxx sw/source/ui/dbui/dbinsdlg.cxx sw/source/ui/inc/tablemgr.hxx sw/source/ui/inc/uitool.hxx sw/source/ui/lingu/olmenu.cxx sw/source/ui/uiview/viewport.cxx sysui/desktop/productversion.mk sysui/desktop/slackware/makefile.mk testgraphical/source/CallExternals.pm testgraphical/source/fill_documents_loop.pl testgraphical/ui/java/ConvwatchGUIProject/src/IniFile.java toolkit/doc/layout/notes.txt toolkit/doc/layout/oldnotes.txt toolkit/source/awt/vclxtabcontrol.cxx toolkit/src2xml/source/srcparser.py toolkit/workben/layout/editor.cxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/source/communi/geninfo.cxx tools/source/fsys/dirent.cxx tools/source/fsys/filecopy.cxx tools/source/fsys/os2.cxx tools/source/inet/inetmime.cxx tools/source/rc/resmgr.cxx ucb/source/core/ucbcmds.cxx ucb/source/ucp/file/filglob.cxx ucb/source/ucp/odma/odma_content.cxx ucb/source/ucp/tdoc/ucptdoc.xml ucb/source/ucp/webdav/makefile.mk ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx ucbhelper/source/client/content.cxx ucbhelper/source/client/interceptedinteraction.cxx udkapi/com/sun/star/beans/XPropertiesChangeListener.idl udkapi/com/sun/star/io/ObjectOutputStream.idl udkapi/com/sun/star/io/XMarkableStream.idl udkapi/com/sun/star/io/XTextOutputStream.idl udkapi/com/sun/star/reflection/CoreReflection.idl udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl udkapi/com/sun/star/test/XSimpleTest.idl unodevtools/source/skeletonmaker/skeletoncommon.cxx unodevtools/source/skeletonmaker/skeletoncommon.hxx unotools/inc/unotools/cacheoptions.hxx unotools/inc/unotools/cmdoptions.hxx unotools/inc/unotools/dynamicmenuoptions.hxx unotools/inc/unotools/extendedsecurityoptions.hxx unotools/inc/unotools/fontoptions.hxx unotools/inc/unotools/historyoptions.hxx unotools/inc/unotools/idhelper.hxx unotools/inc/unotools/internaloptions.hxx unotools/inc/unotools/localisationoptions.hxx unotools/inc/unotools/moduleoptions.hxx unotools/inc/unotools/printwarningoptions.hxx unotools/inc/unotools/securityoptions.hxx unotools/inc/unotools/startoptions.hxx unotools/inc/unotools/workingsetoptions.hxx unotools/source/config/cmdoptions.cxx unotools/source/config/compatibility.cxx unotools/source/config/configitem.cxx unotools/source/config/configmgr.cxx unotools/source/config/dynamicmenuoptions.cxx unotools/source/config/fontcfg.cxx unotools/source/config/itemholder1.hxx unotools/source/config/moduleoptions.cxx unotools/source/config/pathoptions.cxx unotools/source/config/viewoptions.cxx unotools/source/misc/sharedunocomponent.cxx uui/source/fltdlg.cxx uui/source/iahndl-filter.cxx vbahelper/inc/vbahelper/collectionbase.hxx vbahelper/source/msforms/vbacontrol.cxx vbahelper/source/vbahelper/collectionbase.cxx vcl/aqua/source/gdi/atsfonts.cxx vcl/inc/aqua/salmathutils.hxx vcl/inc/graphite_cache.hxx vcl/inc/jobset.h vcl/inc/os2/salgdi.h vcl/inc/osx/saldata.hxx vcl/inc/salgdi.hxx vcl/inc/salwtype.hxx vcl/inc/unx/wmadaptor.hxx vcl/inc/vcl/print.hxx vcl/inc/vcl/strhelper.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/app/saltimer.cxx vcl/os2/source/gdi/salgdi2.cxx vcl/osx/salframeview.mm vcl/osx/salprn.cxx vcl/qa/cppunit/dndtest.cxx vcl/source/app/dbggui.cxx vcl/source/control/ilstbox.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdev6.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/pdfwriter_impl2.cxx vcl/source/gdi/print.cxx vcl/source/gdi/print2.cxx vcl/source/glyphs/gcach_layout.cxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/window/printdlg.cxx vcl/source/window/tabdlg.cxx vcl/source/window/window.cxx vcl/source/window/winproc.cxx vcl/unx/generic/app/saldisp.cxx vcl/unx/generic/dtrans/X11_selection.hxx vcl/unx/gtk/app/gtkdata.cxx vcl/win/source/gdi/salgdi2.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/window/salframe.cxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/socket.cxx wizards/com/sun/star/wizards/agenda/AgendaTemplate.java wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java wizards/com/sun/star/wizards/agenda/TopicsControl.java wizards/com/sun/star/wizards/web/FTPDialog.java wizards/com/sun/star/wizards/web/ImageListDialog.java wizards/com/sun/star/wizards/web/Process.java wizards/com/sun/star/wizards/web/ProcessStatusRenderer.java wizards/com/sun/star/wizards/web/TOCPreview.java wizards/com/sun/star/wizards/web/WWD_Startup.java wizards/com/sun/star/wizards/web/data/TypeDetection.java wizards/com/sun/star/wizards/web/export/ImpressHTMLExporter.java writerfilter/inc/doctok/WW8Document.hxx writerfilter/source/dmapper/DomainMapper.cxx writerfilter/source/dmapper/NumberingManager.cxx writerfilter/source/dmapper/PropertyMap.cxx writerfilter/source/dmapper/StyleSheetTable.cxx writerfilter/source/doctok/WW8StructBase.hxx writerfilter/source/doctok/resources.xmi writerfilter/source/ooxml/README.efforts xmerge/source/activesync/XMergeFilter.cpp xmerge/source/minicalc/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java xmerge/source/palmtests/qa/comparator/pdbcomparison.java xmerge/source/palmtests/qa/test_spec/convertor_test_spec.html xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java xmerge/source/pocketword/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java xmerge/workben/jstyle.pl xmlhelp/source/cxxhelp/provider/databases.hxx xmlhelp/source/cxxhelp/provider/provider.cxx xmlhelp/source/treeview/tvread.cxx xmloff/inc/txtfldi.hxx xmloff/inc/xmloff/xmlmultiimagehelper.hxx xmloff/inc/xmloff/xmluconv.hxx xmloff/source/core/xmlexp.cxx xmloff/source/draw/shapeexport2.cxx xmloff/source/draw/shapeexport3.cxx xmloff/source/meta/xmlversion.cxx xmloff/source/style/impastp4.cxx xmloff/source/style/xmlaustp.cxx xmloff/source/text/XMLSectionExport.cxx xmloff/source/text/txtflde.cxx xmloff/source/text/txtimp.cxx xmloff/source/text/txtparae.cxx xmloff/source/text/txtparai.cxx xmloff/source/text/txtvfldi.cxx xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx Change-Id: Ie072e7c3a60c5dae16a67ac36d1f372c5065c99c
2014-04-29 19:25:03 +00:00
// The following Process() call may lead to the destruction
// of rDescriptor.mpHitDescriptor so release our reference to it.
rDescriptor.mpHitDescriptor.reset();
mrSelectionFunction.SwitchToNormalMode();
return true;
}
else
return false;
}
bool DragAndDropModeHandler::ProcessDragEvent (SelectionFunction::EventDescriptor& rDescriptor)
{
OSL_ASSERT(mpDragAndDropContext);
if (rDescriptor.mbIsLeaving)
{
mrSelectionFunction.SwitchToNormalMode();
}
else if (mpDragAndDropContext)
{
mpDragAndDropContext->UpdatePosition(
rDescriptor.maMousePosition,
rDescriptor.meDragMode, true);
}
return true;
}
INTEGRATION: CWS impress2 (1.1.2); FILE ADDED 2004/07/11 14:37:35 af 1.1.2.16: #i22705# Started to unify drag&drop and internal drags. 2004/07/06 08:17:42 af 1.1.2.15: #i22705# Deselecting all pages by clicking on background does not scroll view. 2004/07/02 16:52:55 af 1.1.2.14: #i22705# Double click is handled only when a page was hit. 2004/06/30 12:10:26 af 1.1.2.13: #i22705# When displayed in the center pane the slide sorter switches back to the edit view on a double click. 2004/06/28 07:40:03 af 1.1.2.12: #i22705# Using new PaneManager::RequestMainViewShellChange() method. 2004/06/23 13:01:05 af 1.1.2.11: #i22705# Changed the semantics of TAB and ESC keys. 2004/06/08 12:47:28 af 1.1.2.10: #i22705# Fixed upper/lowercase of include directive. Fixed refrences to temporary objects. 2004/06/06 09:30:30 af 1.1.2.9: #i22705# Single click jumps to selected slide. 2004/05/23 13:32:42 af 1.1.2.8: #i22705# Using new PaneManager class. 2004/05/05 12:28:57 af 1.1.2.7: #i22705# (last commit was an accident) update of paths of include files. Orderred initialization of members in constructor. 2004/05/05 11:04:03 af 1.1.2.6: #i22705#lidesorter\controller\SlideSorterController.cxx 2004/03/03 17:23:33 af 1.1.2.5: #i22705# Removed debug code. 2004/03/02 10:02:46 af 1.1.2.4: #i22705# Removed inclusion of SubShellManagerInterface,hxx which does not exist anymore. 2004/02/25 15:07:35 af 1.1.2.3: #i22705# Correction of previous commit message: Name of included file changed. 2004/02/25 14:57:29 af 1.1.2.2: #i22705# Removed accidantally added file. 2004/02/13 12:20:24 af 1.1.2.1: #i22705# Initial revision.
2004-07-13 13:15:46 +00:00
} } } // end of namespace ::sd::slidesorter::controller
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */