From 35a96bde514a8897f6f0fcc41c5833bf63df2e2a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:29:01 +0200 Subject: Adding upstream version 1.0.2. Signed-off-by: Daniel Baumann --- src/ui/view/edit-widget-interface.h | 178 ++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 src/ui/view/edit-widget-interface.h (limited to 'src/ui/view/edit-widget-interface.h') diff --git a/src/ui/view/edit-widget-interface.h b/src/ui/view/edit-widget-interface.h new file mode 100644 index 0000000..eb3e33b --- /dev/null +++ b/src/ui/view/edit-widget-interface.h @@ -0,0 +1,178 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Authors: + * Ralf Stephan + * John Bintz + * + * Copyright (C) 2006 John Bintz + * Copyright (C) 2005 Ralf Stephan + * + * Released under GNU GPL v2+, read the file 'COPYING' for more information. + */ + +#ifndef INKSCAPE_UI_VIEW_EDIT_WIDGET_IFACE_H +#define INKSCAPE_UI_VIEW_EDIT_WIDGET_IFACE_H + +#include "message.h" +#include <2geom/point.h> + +namespace Gtk { + class Toolbar; + class Window; +} + +namespace Glib { +class ustring; +} + +namespace Inkscape { namespace UI { namespace Widget { class Dock; } } } + +namespace Inkscape { +namespace UI { +namespace View { + +/** + * Abstract base class for all EditWidget implementations. + */ +struct EditWidgetInterface +{ + EditWidgetInterface() = default; + virtual ~EditWidgetInterface() = default; + + /// Returns pointer to window UI object as void* + virtual Gtk::Window *getWindow() = 0; + + /// Set the widget's title + virtual void setTitle (gchar const*) = 0; + + /// Show all parts of widget the user wants to see. + virtual void layout() = 0; + + /// Present widget to user + virtual void present() = 0; + + /// Returns geometry of widget + virtual void getGeometry (gint &x, gint &y, gint &w, gint &h) = 0; + + /// Change the widget's size + virtual void setSize (gint w, gint h) = 0; + + /// Move widget to specified position + virtual void setPosition (Geom::Point p) = 0; + + /// Transientize widget + virtual void setTransient (void*, int) = 0; + + /// Return mouse position in widget + virtual Geom::Point getPointer() = 0; + + /// Make widget iconified + virtual void setIconified() = 0; + + /// Make widget maximized on screen + virtual void setMaximized() = 0; + + /// Make widget fill screen and show it if possible. + virtual void setFullscreen() = 0; + + /// Shuts down the desktop object for the view being closed. It checks + /// to see if the document has been edited, and if so prompts the user + /// to save, discard, or cancel. Returns TRUE if the shutdown operation + /// is cancelled or if the save is cancelled or fails, FALSE otherwise. + virtual bool shutdown() = 0; + + /// Destroy and delete widget. + virtual void destroy() = 0; + + + /// Store window position to prefs + virtual void storeDesktopPosition() = 0; + + /// Queue a redraw request with the canvas + virtual void requestCanvasUpdate() = 0; + + /// Force a redraw of the canvas + virtual void requestCanvasUpdateAndWait() = 0; + + /// Enable interaction on this desktop + virtual void enableInteraction() = 0; + + /// Disable interaction on this desktop + virtual void disableInteraction() = 0; + + /// Update the "active desktop" indicator + virtual void activateDesktop() = 0; + + /// Update the "inactive desktop" indicator + virtual void deactivateDesktop() = 0; + + /// Update rulers from current values + virtual void updateRulers() = 0; + + /// Update scrollbars from current values + virtual void updateScrollbars (double scale) = 0; + + /// Toggle rulers on/off and set preference value accordingly + virtual void toggleRulers() = 0; + + /// Toggle scrollbars on/off and set preference value accordingly + virtual void toggleScrollbars() = 0; + + /// Toggle CMS on/off and set preference value accordingly + virtual void toggleColorProfAdjust() = 0; + + /// Is CMS on/off + virtual bool colorProfAdjustEnabled() = 0; + + /// Temporarily block signals and update zoom display + virtual void updateZoom() = 0; + + /// The zoom display will get the keyboard focus. + virtual void letZoomGrabFocus() = 0; + + /// Temporarily block signals and update rotation display + virtual void updateRotation() = 0; + + virtual Gtk::Toolbar* get_toolbar_by_name(const Glib::ustring&) = 0; + + /// In auxiliary toolbox, set focus to widget having specific id + virtual void setToolboxFocusTo (const gchar *) = 0; + + /// In auxiliary toolbox, set value of adjustment with specific id + virtual void setToolboxAdjustmentValue (const gchar *, double) = 0; + + /// In auxiliary toolbox, return true if specific togglebutton is active + virtual bool isToolboxButtonActive (gchar const*) = 0; + + /// Set the coordinate display + virtual void setCoordinateStatus (Geom::Point p) = 0; + + /// Message widget will get no content + virtual void setMessage (Inkscape::MessageType type, gchar const* msg) = 0; + + + /** Show an info dialog with the given message */ + virtual bool showInfoDialog( Glib::ustring const &message ) = 0; + + /// Open yes/no dialog with warning text and confirmation question. + virtual bool warnDialog (Glib::ustring const &) = 0; + + virtual Inkscape::UI::Widget::Dock* getDock () = 0; +}; + +} // namespace View +} // namespace UI +} // namespace Inkscape + +#endif // INKSCAPE_UI_VIEW_EDIT_WIDGET_IFACE_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:fileencoding=utf-8:textwidth=99 : -- cgit v1.2.3