Code

Fix some console warning spam (most cannot be fixed, unfortunately)
[inkscape.git] / src / ui / widget / imageicon.h
1 #ifndef __UI_DIALOG_IMAGE_H__
2 #define __UI_DIALOG_IMAGE_H__
3 /*
4  * A simple image display widget, using Inkscape's own rendering engine
5  *
6  * Authors:
7  *   Bob Jamison
8  *   Other dudes from The Inkscape Organization
9  *
10  * Copyright (C) 2004 The Inkscape Organization
11  *
12  * Released under GNU GPL, read the file 'COPYING' for more information
13  */
15 #include <glibmm/ustring.h>
16 #include <gtkmm/box.h>
19 class SPDocument;
21 namespace Inkscape
22 {
23 namespace UI
24 {
25 namespace Widget
26 {
29 /*#########################################################################
30 ### ImageIcon widget
31 #########################################################################*/
33 /**
34  * This class is evolved from the SVGPreview widget of the FileChooser
35  * This uses Inkscape's renderer to show images in a variety of formats,
36  * including SVG
37  */
38 class ImageIcon : public Gtk::VBox
39 {
40 public:
42     /**
43      * Constructor
44      */
45     ImageIcon();
47     /**
48      * Construct from a file name
49      */
50     ImageIcon(const Glib::ustring &fileName);
52     /**
53      * Copy Constructor
54      */
55     ImageIcon(const ImageIcon &other);
57     /**
58      * Destructor
59      */
60     ~ImageIcon();
62     /**
63      *
64      */
65     bool showSvgDocument(const SPDocument *doc);
67     /**
68      *
69      */
70     bool showSvgFile(const Glib::ustring &fileName);
72     /**
73      *
74      */
75     bool showSvgFromMemory(const char *xmlBuffer);
77     /**
78      * Show image embedded in SVG
79      */
80     bool showBitmap(const Glib::ustring &fileName);
82     /**
83      * Show the "Too large" image
84      */
85     void showBrokenImage(const Glib::ustring &reason);
87     /**
88      *
89      */
90     bool show(const Glib::ustring &fileName);
92 private:
94     /**
95      * basic initialization, called by the various constructors
96      */
97     void init();
99     /**
100      * The svg document we are currently showing
101      */
102     SPDocument *document;
104     /**
105      * The sp_svg_view widget
106      */
107     Gtk::Widget *viewerGtkmm;
109     /**
110      * are we currently showing the "broken image" image?
111      */
112     bool showingBrokenImage;
115     /**
116      * will be set by showImageIcon as a side-effect of an error
117      */
118     Glib::ustring bitmapError;
121     /**
122      * will be set by showImageIcon as a side-effect of an error
123      */
124     Glib::ustring svgError;
126 };
130 } // namespace Widget
131 } // namespace UI
132 } // namespace Inkscape
135 #endif /* __UI_DIALOG_IMAGE_H__ */
136 /*#########################################################################
137 ### E N D    O F    F I L E
138 #########################################################################*/