LibreOffice Module sd (master) 1
SlsSelectionObserver.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <sal/types.h>
23#include <memory>
24#include <vector>
25
26namespace sd::slidesorter
27{
28class SlideSorter;
29}
30
31class SdrPage;
32class SdPage;
33
35{
41{
42public:
43 SelectionObserver(SlideSorter& rSlideSorter);
45
46 void NotifyPageEvent(const SdrPage* pPage);
47 void StartObservation();
48 void AbortObservation();
49 void EndObservation();
50
56 class Context
57 {
58 public:
59 Context(SlideSorter const& rSlideSorter);
60 ~Context() COVERITY_NOEXCEPT_FALSE;
61 void Abort();
62
63 private:
64 std::shared_ptr<SelectionObserver> mpSelectionObserver;
65 };
66
67private:
71
72 ::std::vector<const SdPage*> maInsertedPages;
73};
74
75} // end of namespace ::sd::slidesorter::controller
76
77/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Show previews for all the slides in a document and allow the user to insert or delete slides and modi...
Definition: SlideSorter.hxx:62
Use this little class instead of calling StartObservation and EndObservation directly so that EndObse...
Observe insertions and deletions of pages between calls to StartObservation() and EndObservation().