Code

Fix bug #552289 - Ungrouping objects changes position of arrow lines. This was due...
[inkscape.git] / src / extension / output.h
1 /*
2  * Authors:
3  *   Ted Gould <ted@gould.cx>
4  *
5  * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
6  * Copyright (C) 2002-2004 Authors
7  *
8  * Released under GNU GPL, read the file 'COPYING' for more information
9  */
13 #ifndef INKSCAPE_EXTENSION_OUTPUT_H__
14 #define INKSCAPE_EXTENSION_OUTPUT_H__
16 #include <gtk/gtkdialog.h>
17 #include "extension.h"
18 struct SPDocument;
20 namespace Inkscape {
21 namespace Extension {
23 class Output : public Extension {
24     gchar *mimetype;             /**< What is the mime type this inputs? */
25     gchar *extension;            /**< The extension of the input files */
26     gchar *filetypename;         /**< A userfriendly name for the file type */
27     gchar *filetypetooltip;      /**< A more detailed description of the filetype */
28     bool   dataloss;             /**< The extension causes data loss on save */
30 public:
31     class save_failed {};        /**< Generic failure for an undescribed reason */
32     class save_cancelled {};     /**< Saving was cancelled */
33     class no_extension_found {}; /**< Failed because we couldn't find an extension to match the filename */
34     class file_read_only {};     /**< The existing file can not be opened for writing */
36                  Output (Inkscape::XML::Node * in_repr,
37                          Implementation::Implementation * in_imp);
38     virtual     ~Output (void);
39     virtual bool check                (void);
40     void         save (SPDocument *doc,
41                        gchar const *uri);
42     bool         prefs (void);
43     gchar *      get_mimetype(void);
44     gchar *      get_extension(void);
45     gchar *      get_filetypename(void);
46     gchar *      get_filetypetooltip(void);
47     bool         causes_dataloss(void) { return dataloss; };
48 };
50 } }  /* namespace Inkscape, Extension */
51 #endif /* INKSCAPE_EXTENSION_OUTPUT_H__ */
53 /*
54   Local Variables:
55   mode:c++
56   c-file-style:"stroustrup"
57   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
58   indent-tabs-mode:nil
59   fill-column:99
60   End:
61 */
62 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :