summaryrefslogtreecommitdiffstats
path: root/src/file.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/file.h')
-rw-r--r--src/file.h184
1 files changed, 184 insertions, 0 deletions
diff --git a/src/file.h b/src/file.h
new file mode 100644
index 0000000..6759768
--- /dev/null
+++ b/src/file.h
@@ -0,0 +1,184 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef SEEN_SP_FILE_H
+#define SEEN_SP_FILE_H
+
+/*
+ * File/Print operations
+ *
+ * Authors:
+ * Lauris Kaplinski <lauris@kaplinski.com>
+ * Chema Celorio <chema@celorio.com>
+ *
+ * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
+ * Copyright (C) 2001-2002 Ximian, Inc.
+ * Copyright (C) 1999-2002 Authors
+ *
+ * Released under GNU GPL v2+, read the file 'COPYING' for more information.
+ */
+
+#include <glibmm/ustring.h>
+#include <string>
+#include "extension/system.h"
+
+class SPDesktop;
+class SPDocument;
+class SPObject;
+
+namespace Inkscape {
+ namespace Extension {
+ class Extension;
+ }
+}
+
+namespace Gtk {
+class Window;
+}
+
+// Get the name of the default template uri
+Glib::ustring sp_file_default_template_uri();
+
+/*######################
+## N E W
+######################*/
+
+/**
+ * Creates a new Inkscape document and window.
+ * Return value is a pointer to the newly created desktop.
+ */
+SPDesktop* sp_file_new (const std::string &templ);
+SPDesktop* sp_file_new_default ();
+
+/*######################
+## D E L E T E
+######################*/
+
+/**
+ * Close the document/view
+ */
+void sp_file_exit ();
+
+/*######################
+## O P E N
+######################*/
+
+/**
+ * Displays a file open dialog. Calls sp_file_open on
+ * an OK.
+ */
+void sp_file_open_dialog (Gtk::Window &parentWindow, void* object, void* data);
+
+/**
+ * Reverts file to disk-copy on "YES"
+ */
+void sp_file_revert_dialog ();
+
+/*######################
+## S A V E
+######################*/
+
+/**
+ *
+ */
+bool sp_file_save (Gtk::Window &parentWindow, void* object, void* data);
+
+/**
+ * Saves the given document. Displays a file select dialog
+ * to choose the new name.
+ */
+bool sp_file_save_as (Gtk::Window &parentWindow, void* object, void* data);
+
+/**
+ * Saves a copy of the given document. Displays a file select dialog
+ * to choose a name for the copy.
+ */
+bool sp_file_save_a_copy (Gtk::Window &parentWindow, void* object, void* data);
+
+/**
+ * Save a copy of a document as template.
+ */
+bool
+sp_file_save_template(Gtk::Window &parentWindow, Glib::ustring name,
+ Glib::ustring author, Glib::ustring description, Glib::ustring keywords,
+ bool isDefault);
+
+/**
+ * Saves the given document. Displays a file select dialog
+ * if needed.
+ */
+bool sp_file_save_document (Gtk::Window &parentWindow, SPDocument *document);
+
+/* Do the saveas dialog with a document as the parameter */
+bool sp_file_save_dialog (Gtk::Window &parentWindow, SPDocument *doc, Inkscape::Extension::FileSaveMethod save_method);
+
+
+/*######################
+## I M P O R T
+######################*/
+
+void sp_import_document(SPDesktop *desktop, SPDocument *clipdoc, bool in_place);
+
+/**
+ * Displays a file selector dialog, to allow the
+ * user to import data into the current document.
+ */
+void sp_file_import (Gtk::Window &parentWindow);
+
+/**
+ * Imports a resource
+ */
+SPObject* file_import(SPDocument *in_doc, const Glib::ustring &uri,
+ Inkscape::Extension::Extension *key);
+
+/*######################
+## E X P O R T
+######################*/
+
+/**
+ * Displays a FileExportDialog for the user, with an
+ * additional type selection, to allow the user to export
+ * the a document as a given type.
+ */
+//bool sp_file_export_dialog (Gtk::Window &parentWindow);
+
+
+/*######################
+## P R I N T
+######################*/
+
+/* These functions are redundant now, but
+would be useful as instance methods
+*/
+
+/**
+ *
+ */
+void sp_file_print (Gtk::Window& parentWindow);
+
+/*#####################
+## U T I L I T Y
+#####################*/
+
+/**
+ * clean unused defs out of file
+ */
+void sp_file_vacuum (SPDocument *doc);
+void sp_file_convert_text_baseline_spacing(SPDocument *doc);
+void sp_file_convert_font_name(SPDocument *doc);
+void sp_file_convert_dpi(SPDocument *doc);
+void sp_file_fix_empty_lines(SPDocument *doc);
+enum File_DPI_Fix { FILE_DPI_UNCHANGED = 0, FILE_DPI_VIEWBOX_SCALED, FILE_DPI_DOCUMENT_SCALED };
+extern int sp_file_convert_dpi_method_commandline;
+
+#endif // SEEN_SP_FILE_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:
+*/
+// vi: set autoindent shiftwidth=4 tabstop=8 filetype=cpp expandtab softtabstop=4 fileencoding=utf-8 textwidth=99 :