diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:29:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:29:01 +0000 |
commit | 35a96bde514a8897f6f0fcc41c5833bf63df2e2a (patch) | |
tree | 657d15a03cc46bd099fc2c6546a7a4ad43815d9f /src/inkscape-window.h | |
parent | Initial commit. (diff) | |
download | inkscape-35a96bde514a8897f6f0fcc41c5833bf63df2e2a.tar.xz inkscape-35a96bde514a8897f6f0fcc41c5833bf63df2e2a.zip |
Adding upstream version 1.0.2.upstream/1.0.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/inkscape-window.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/inkscape-window.h b/src/inkscape-window.h new file mode 100644 index 0000000..96fcfa9 --- /dev/null +++ b/src/inkscape-window.h @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/** + * @file + * Inkscape - An SVG editor. + */ +/* + * Authors: + * Tavmjong Bah + * + * Copyright (C) 2018 Authors + * + * The contents of this file may be used under the GNU General Public License Version 2 or later. + * Read the file 'COPYING' for more information. + * + */ + +#ifndef INKSCAPE_WINDOW_H +#define INKSCAPE_WINDOW_H + +#include <gtkmm.h> + +#include "inkscape-application.h" + +class SPDocument; +class SPDesktop; +class SPDesktopWidget; + +namespace Inkscape { +namespace UI { +namespace View { +// class SVGViewWidget; +} +} +} + + +class InkscapeWindow : public Gtk::ApplicationWindow { + +public: + InkscapeWindow(SPDocument* document); + + SPDocument* get_document() { return _document; } + SPDesktop* get_desktop() { return _desktop; } + SPDesktopWidget* get_desktop_widget() { return _desktop_widget; } + + void change_document(SPDocument* document); + +private: + ConcreteInkscapeApplication<Gtk::Application>* _app; + + SPDocument* _document; + SPDesktop* _desktop; + SPDesktopWidget* _desktop_widget; + + Gtk::Box* _mainbox; + Gtk::MenuBar* _menubar; + + void setup_view(); + + // Callbacks + bool on_key_press_event(GdkEventKey* event) override; + bool on_focus_in_event(GdkEventFocus* event) override; + bool on_delete_event(GdkEventAny* event) override; +}; + +#endif // INKSCAPE_WINDOW_H + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : |