Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
document-undo.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
/*
5 * Authors: see git history
6 *
7 * Copyright (C) 2018 Authors
8 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
9 */
10#ifndef SEEN_SP_DOCUMENT_UNDO_H
11#define SEEN_SP_DOCUMENT_UNDO_H
12
13#include <glib.h> // gboolean, gchar
14
15namespace Glib {
16 class ustring;
17}
18
19class SPDocument;
20
21namespace Inkscape {
22
24{
25public:
26
32 static void setUndoSensitive(SPDocument *doc, bool sensitive);
33
34 static bool getUndoSensitive(SPDocument const *document);
35
36 static void clearUndo(SPDocument *document);
37
38 static void clearRedo(SPDocument *document);
39
40 /* undo_icon is only used in History dialog. */
41 static void done(SPDocument *document, Glib::ustring const &event_description, Glib::ustring const &undo_icon, unsigned int object_modified_tag = 0);
42
43 static void maybeDone(SPDocument *document, const gchar *keyconst, Glib::ustring const &event_description, Glib::ustring const &undo_icon, unsigned int object_modified_tag = 0);
44
45private:
46 static void finish_incomplete_transaction(SPDocument &document);
47
48 static void perform_document_update(SPDocument &document);
49
50public:
51 static void resetKey(SPDocument *document);
52
56 static void setKeyExpires(SPDocument *document, double timeout);
57
58 static void cancel(SPDocument *document);
59
60 static gboolean undo(SPDocument *document);
61
62 static gboolean redo(SPDocument *document);
63
76 bool m_saved;
77
78 public:
80 : m_doc(doc)
81 {
83 setUndoSensitive(doc, false);
84 }
86 };
87};
88
89} // namespace Inkscape
90
91#endif // SEEN_SP_DOCUMENT_UNDO_H
92
93/*
94 Local Variables:
95 mode:c++
96 c-file-style:"stroustrup"
97 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
98 indent-tabs-mode:nil
99 fill-column:99
100 End:
101*/
102// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
RAII-style mechanism for creating a temporary undo-insensitive context.
static void done(SPDocument *document, Glib::ustring const &event_description, Glib::ustring const &undo_icon, unsigned int object_modified_tag=0)
static void setKeyExpires(SPDocument *document, double timeout)
Set the timeout for the last maybeDone call.
static bool getUndoSensitive(SPDocument const *document)
static void setUndoSensitive(SPDocument *doc, bool sensitive)
Set undo sensitivity.
static void maybeDone(SPDocument *document, const gchar *keyconst, Glib::ustring const &event_description, Glib::ustring const &undo_icon, unsigned int object_modified_tag=0)
static gboolean redo(SPDocument *document)
static void perform_document_update(SPDocument &document)
static void finish_incomplete_transaction(SPDocument &document)
static gboolean undo(SPDocument *document)
static void cancel(SPDocument *document)
static void clearRedo(SPDocument *document)
static void resetKey(SPDocument *document)
static void clearUndo(SPDocument *document)
Typed SVG document implementation.
Definition document.h:103
sigc::scoped_connection timeout
Helper class to stream background task notifications as a series of messages.