Code

Node tool: special case node duplication for endnodes - select new endnode
[inkscape.git] / src / ui / previewable.h
2 #ifndef SEEN_PREVIEWABLE_H
3 #define SEEN_PREVIEWABLE_H
4 /*
5  * A simple interface for previewing representations.
6  *
7  * Authors:
8  *   Jon A. Cruz
9  *
10  * Copyright (C) 2005 Jon A. Cruz
11  *
12  * Released under GNU GPL, read the file 'COPYING' for more information
13  */
16 #include <gtkmm/widget.h>
17 #include "../widgets/eek-preview.h"
19 namespace Inkscape {
20 namespace UI {
22 typedef enum {
23     PREVIEW_STYLE_ICON = 0,
24     PREVIEW_STYLE_PREVIEW,
25     PREVIEW_STYLE_NAME,
26     PREVIEW_STYLE_BLURB,
27     PREVIEW_STYLE_ICON_NAME,
28     PREVIEW_STYLE_ICON_BLURB,
29     PREVIEW_STYLE_PREVIEW_NAME,
30     PREVIEW_STYLE_PREVIEW_BLURB
31 } PreviewStyle;
33 typedef enum {
34     VIEW_TYPE_LIST = 0,
35     VIEW_TYPE_GRID
36 } ViewType;
38 class Previewable
39 {
40 public:
41 // TODO need to add some nice parameters
42     virtual ~Previewable() {}
43     virtual Gtk::Widget* getPreview( PreviewStyle style, ViewType view, ::PreviewSize size, guint ratio ) = 0;
44 };
47 } //namespace UI
48 } //namespace Inkscape
51 #endif // SEEN_PREVIEWABLE_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:fileencoding=utf-8:textwidth=99 :