Code

51c4c279f4b1d93e1a498aa3c781e6b96db40e62
[inkscape.git] / src / extension / script / InkscapeBinding.cpp
1 #ifdef HAVE_CONFIG_H
2 #include "config.h"
3 #endif
5 #include "InkscapeBinding.h"
6 #include "help.h"
8 namespace Inkscape {
9 namespace Extension {
10 namespace Script {
13 class InkscapeImpl;
14 class DesktopImpl;
15 class DocumentImpl;
18 //#########################################################################
19 //# D O C U M E N T
20 //#########################################################################
21 class DocumentImpl : public Document
22 {
23 public:
24     DocumentImpl();
25     
26     virtual ~DocumentImpl();
27     
28     virtual void hello();
29     
30 private:
33 };
36 DocumentImpl::DocumentImpl()
37 {
40 }
41     
42 DocumentImpl::~DocumentImpl()
43 {
46 }
47     
48 void DocumentImpl::hello()
49 {
50     printf("######## HELLO, WORLD! #######\n");
51 }
55 //#########################################################################
56 //# D E S K T O P
57 //#########################################################################
58 class DesktopImpl : public Desktop
59 {
60 public:
61     DesktopImpl();
62     
63     virtual ~DesktopImpl();
64     
65     virtual Document *getDocument();
66     
67 private:
69     DocumentImpl document;
71 };
74 DesktopImpl::DesktopImpl()
75 {
78 }
79     
80 DesktopImpl::~DesktopImpl()
81 {
84 }
85     
87 Document *DesktopImpl::getDocument()
88 {
89     return &document;
90 }
94 //#########################################################################
95 //# D I A L O G    M A N A G E R
96 //#########################################################################
98 class DialogManagerImpl : public DialogManager
99 {
100 public:
101     DialogManagerImpl();
102     
103     virtual ~DialogManagerImpl();
104     
105     virtual void showAbout();
106     
107 private:
110 };
112 DialogManagerImpl::DialogManagerImpl()
117     
118 DialogManagerImpl::~DialogManagerImpl()
122     
124 void DialogManagerImpl::showAbout()
126     sp_help_about();
132 //#########################################################################
133 //# I N K S C A P E
134 //#########################################################################
136 class InkscapeImpl : public Inkscape
138 public:
139     InkscapeImpl();
140     
141     virtual ~InkscapeImpl();
142     
143     virtual Desktop *getDesktop();
144     
145     virtual DialogManager *getDialogManager();
146     
147 private:
149     DesktopImpl desktop;
151     DialogManagerImpl dialogManager;
153 };
155 Inkscape *getInkscape()
157     Inkscape *inkscape = new InkscapeImpl();
158     return inkscape;
162 InkscapeImpl::InkscapeImpl()
167     
168 InkscapeImpl::~InkscapeImpl()
172     
174 Desktop *InkscapeImpl::getDesktop()
176     return &desktop;
179 DialogManager *InkscapeImpl::getDialogManager()
181     return &dialogManager;
186 }//namespace Script
187 }//namespace Extension
188 }//namespace Inkscape
191 /*
192   Local Variables:
193   mode:c++
194   c-file-style:"stroustrup"
195   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
196   indent-tabs-mode:nil
197   fill-column:99
198   End:
199 */
200 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :