1 #ifndef SEEN_UI_UXMANAGER_H
2 #define SEEN_UI_UXMANAGER_H
3 /*
4 * A simple interface for previewing representations.
5 *
6 * Authors:
7 * Jon A. Cruz <jon@joncruz.org>
8 *
9 * Copyright (C) 2010 Jon A. Cruz
10 *
11 * Released under GNU GPL, read the file 'COPYING' for more information
12 */
14 #include <glib.h>
15 #include <vector>
17 extern "C"
18 {
19 typedef struct _GObject GObject;
20 typedef struct _GtkWidget GtkWidget;
21 }
23 class SPDesktop;
25 struct SPDesktopWidget;
28 namespace Inkscape {
29 namespace UI {
31 class UXManager
32 {
33 public:
34 static UXManager* getInstance();
35 virtual ~UXManager();
37 virtual void addTrack( SPDesktopWidget* dtw ) = 0;
38 virtual void delTrack( SPDesktopWidget* dtw ) = 0;
40 virtual void connectToDesktop( std::vector<GtkWidget *> const & toolboxes, SPDesktop *desktop ) = 0;
42 virtual gint getDefaultTask( SPDesktop *desktop ) = 0;
43 virtual void setTask( SPDesktop* dt, gint val ) = 0;
45 virtual bool isFloatWindowProblem() const = 0;
46 virtual bool isWidescreen() const = 0;
48 protected:
49 UXManager();
51 private:
52 UXManager( UXManager const & );
53 UXManager & operator=( UXManager const & );
54 };
56 } // namespace UI
57 } // namespace Inkscape
59 #endif // SEEN_UI_UXMANAGER_H
60 /*
61 Local Variables:
62 mode:c++
63 c-file-style:"stroustrup"
64 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
65 indent-tabs-mode:nil
66 fill-column:99
67 End:
68 */
69 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :