2
* This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
3
* http://www.gnu.org/licenses/lgpl-3.0.html
10
#include <sdk_precomp.h>
12
#include <wx/string.h>
17
#include <filefilters.h>
18
#include "sc_base_types.h"
20
// helper macros to bind constants
21
#define BIND_INT_CONSTANT(a) SqPlus::BindConstant<SQInteger>(a, #a);
22
#define BIND_INT_CONSTANT_NAMED(a,n) SqPlus::BindConstant<SQInteger>(a, n);
23
#define BIND_WXSTR_CONSTANT_NAMED(a,n) BindVariable(const_cast<wxString*>(&a), n, SqPlus::VAR_ACCESS_CONSTANT);
25
namespace ScriptBindings
27
wxString s_PathSep = wxFILE_SEP_PATH;
29
void Register_Constants()
32
BIND_INT_CONSTANT_NAMED(0, "PLATFORM_MSW");
33
BIND_INT_CONSTANT_NAMED(1, "PLATFORM_GTK");
34
BIND_INT_CONSTANT_NAMED(2, "PLATFORM_MAC");
35
BIND_INT_CONSTANT_NAMED(3, "PLATFORM_OS2");
36
BIND_INT_CONSTANT_NAMED(4, "PLATFORM_X11");
37
BIND_INT_CONSTANT_NAMED(99, "PLATFORM_UNKNOWN");
40
BIND_INT_CONSTANT_NAMED(0, "PLATFORM");
42
BIND_INT_CONSTANT_NAMED(1, "PLATFORM");
44
BIND_INT_CONSTANT_NAMED(2, "PLATFORM");
46
BIND_INT_CONSTANT_NAMED(3, "PLATFORM");
48
BIND_INT_CONSTANT_NAMED(4, "PLATFORM");
50
BIND_INT_CONSTANT_NAMED(99, "PLATFORM");
53
BIND_INT_CONSTANT_NAMED(PLUGIN_SDK_VERSION_MAJOR, "PLUGIN_SDK_VERSION_MAJOR");
54
BIND_INT_CONSTANT_NAMED(PLUGIN_SDK_VERSION_MINOR, "PLUGIN_SDK_VERSION_MINOR");
55
BIND_INT_CONSTANT_NAMED(PLUGIN_SDK_VERSION_RELEASE, "PLUGIN_SDK_VERSION_RELEASE");
57
// path separator for filenames
58
BIND_WXSTR_CONSTANT_NAMED(s_PathSep, "wxFILE_SEP_PATH");
61
BIND_INT_CONSTANT(wxOK);
62
BIND_INT_CONSTANT(wxYES_NO);
63
BIND_INT_CONSTANT(wxCANCEL);
64
BIND_INT_CONSTANT(wxID_OK);
65
BIND_INT_CONSTANT(wxID_YES);
66
BIND_INT_CONSTANT(wxID_NO);
67
BIND_INT_CONSTANT(wxID_CANCEL);
68
BIND_INT_CONSTANT(wxICON_QUESTION);
69
BIND_INT_CONSTANT(wxICON_INFORMATION);
70
BIND_INT_CONSTANT(wxICON_WARNING);
71
BIND_INT_CONSTANT(wxICON_ERROR);
74
BIND_INT_CONSTANT(wxPATH_NATIVE);
75
BIND_INT_CONSTANT(wxPATH_UNIX);
76
BIND_INT_CONSTANT(wxPATH_BEOS);
77
BIND_INT_CONSTANT(wxPATH_MAC);
78
BIND_INT_CONSTANT(wxPATH_DOS);
79
BIND_INT_CONSTANT(wxPATH_WIN);
80
BIND_INT_CONSTANT(wxPATH_OS2);
81
BIND_INT_CONSTANT(wxPATH_VMS);
83
// for wxFileName::GetPath()
84
BIND_INT_CONSTANT(wxPATH_GET_VOLUME);
85
BIND_INT_CONSTANT(wxPATH_GET_SEPARATOR);
88
BIND_INT_CONSTANT(wxPATH_NORM_ENV_VARS);
89
BIND_INT_CONSTANT(wxPATH_NORM_DOTS);
90
BIND_INT_CONSTANT(wxPATH_NORM_TILDE);
91
BIND_INT_CONSTANT(wxPATH_NORM_CASE);
92
BIND_INT_CONSTANT(wxPATH_NORM_ABSOLUTE);
93
BIND_INT_CONSTANT(wxPATH_NORM_LONG);
94
BIND_INT_CONSTANT(wxPATH_NORM_SHORTCUT);
95
BIND_INT_CONSTANT(wxPATH_NORM_ALL);
97
// OptionsRelationType
98
BIND_INT_CONSTANT(ortCompilerOptions);
99
BIND_INT_CONSTANT(ortLinkerOptions);
100
BIND_INT_CONSTANT(ortIncludeDirs);
101
BIND_INT_CONSTANT(ortLibDirs);
102
BIND_INT_CONSTANT(ortResDirs);
105
BIND_INT_CONSTANT(orUseParentOptionsOnly);
106
BIND_INT_CONSTANT(orUseTargetOptionsOnly);
107
BIND_INT_CONSTANT(orPrependToParentOptions);
108
BIND_INT_CONSTANT(orAppendToParentOptions);
111
BIND_INT_CONSTANT(ttExecutable);
112
BIND_INT_CONSTANT(ttConsoleOnly);
113
BIND_INT_CONSTANT(ttStaticLib);
114
BIND_INT_CONSTANT(ttDynamicLib);
115
BIND_INT_CONSTANT(ttCommandsOnly);
116
BIND_INT_CONSTANT(ttNative);
119
BIND_INT_CONSTANT(mcClean);
120
BIND_INT_CONSTANT(mcDistClean);
121
BIND_INT_CONSTANT(mcBuild);
122
BIND_INT_CONSTANT(mcCompileFile);
125
BIND_INT_CONSTANT(pchSourceDir);
126
BIND_INT_CONSTANT(pchObjectDir);
127
BIND_INT_CONSTANT(pchSourceFile);
129
// printing scope for print dialog
130
BIND_INT_CONSTANT(psSelection);
131
BIND_INT_CONSTANT(psActiveEditor);
132
BIND_INT_CONSTANT(psAllOpenEditors);
134
// printing colour mode
135
BIND_INT_CONSTANT(pcmBlackAndWhite);
136
BIND_INT_CONSTANT(pcmColourOnWhite);
137
BIND_INT_CONSTANT(pcmInvertColours);
138
BIND_INT_CONSTANT(pcmAsIs);
140
// TemplateOutputType
141
BIND_INT_CONSTANT_NAMED(totProject, "wizProject");
142
BIND_INT_CONSTANT_NAMED(totTarget, "wizTarget");
143
BIND_INT_CONSTANT_NAMED(totFiles, "wizFiles");
144
BIND_INT_CONSTANT_NAMED(totCustom, "wizCustom");
147
BIND_INT_CONSTANT(sdHome);
148
BIND_INT_CONSTANT(sdBase);
149
BIND_INT_CONSTANT(sdTemp);
150
BIND_INT_CONSTANT(sdPath);
151
BIND_INT_CONSTANT(sdConfig);
152
BIND_INT_CONSTANT(sdCurrent);
153
BIND_INT_CONSTANT(sdPluginsUser);
154
BIND_INT_CONSTANT(sdScriptsUser);
155
BIND_INT_CONSTANT(sdDataUser);
156
BIND_INT_CONSTANT(sdAllUser);
157
BIND_INT_CONSTANT(sdPluginsGlobal);
158
BIND_INT_CONSTANT(sdScriptsGlobal);
159
BIND_INT_CONSTANT(sdDataGlobal);
160
BIND_INT_CONSTANT(sdAllGlobal);
161
BIND_INT_CONSTANT(sdAllKnown);
163
// SupportedPlatforms
164
BIND_INT_CONSTANT(spWindows);
165
BIND_INT_CONSTANT(spUnix);
166
BIND_INT_CONSTANT(spMac);
167
BIND_INT_CONSTANT(spAll);
169
// TargetFilenameGenerationPolicy
170
BIND_INT_CONSTANT(tgfpPlatformDefault);
171
BIND_INT_CONSTANT(tgfpNone);
174
BIND_INT_CONSTANT(mtProjectManager);
175
BIND_INT_CONSTANT(mtEditorManager);
176
BIND_INT_CONSTANT(mtLogManager);
177
BIND_INT_CONSTANT(mtOpenFilesList);
178
BIND_INT_CONSTANT(mtUnknown);
181
BIND_INT_CONSTANT_NAMED(FileTreeData::ftdkUndefined, "ftdkUndefined");
182
BIND_INT_CONSTANT_NAMED(FileTreeData::ftdkProject, "ftdkProject");
183
BIND_INT_CONSTANT_NAMED(FileTreeData::ftdkFolder, "ftdkFolder");
184
BIND_INT_CONSTANT_NAMED(FileTreeData::ftdkFile, "ftdkFile");
185
BIND_INT_CONSTANT_NAMED(FileTreeData::ftdkVirtualGroup, "ftdkVirtualGroup");
186
BIND_INT_CONSTANT_NAMED(FileTreeData::ftdkVirtualFolder, "ftdkVirtualFolder");
189
BIND_WXSTR_CONSTANT_NAMED(FileFilters::WORKSPACE_EXT, "EXT_WORKSPACE");
190
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CODEBLOCKS_EXT, "EXT_CODEBLOCKS");
191
BIND_WXSTR_CONSTANT_NAMED(FileFilters::DEVCPP_EXT, "EXT_DEVCPP");
192
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC6_EXT, "EXT_MSVC6");
193
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC6_WORKSPACE_EXT, "EXT_MSVC6_WORKSPACE");
194
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC7_EXT, "EXT_MSVC7");
195
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC7_WORKSPACE_EXT, "EXT_MSVC7_WORKSPACE");
196
BIND_WXSTR_CONSTANT_NAMED(FileFilters::ASM_EXT, "EXT_ASM");
197
BIND_WXSTR_CONSTANT_NAMED(FileFilters::D_EXT, "EXT_D");
198
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F_EXT, "EXT_F");
199
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F77_EXT, "EXT_F77");
200
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F90_EXT, "EXT_F90");
201
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F95_EXT, "EXT_F95");
202
BIND_WXSTR_CONSTANT_NAMED(FileFilters::JAVA_EXT, "EXT_JAVA");
203
BIND_WXSTR_CONSTANT_NAMED(FileFilters::C_EXT, "EXT_C");
204
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CC_EXT, "EXT_CC");
205
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CPP_EXT, "EXT_CPP");
206
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CXX_EXT, "EXT_CXX");
207
BIND_WXSTR_CONSTANT_NAMED(FileFilters::H_EXT, "EXT_H");
208
BIND_WXSTR_CONSTANT_NAMED(FileFilters::HH_EXT, "EXT_HH");
209
BIND_WXSTR_CONSTANT_NAMED(FileFilters::HPP_EXT, "EXT_HPP");
210
BIND_WXSTR_CONSTANT_NAMED(FileFilters::HXX_EXT, "EXT_HXX");
211
BIND_WXSTR_CONSTANT_NAMED(FileFilters::S_EXT, "EXT_S");
212
BIND_WXSTR_CONSTANT_NAMED(FileFilters::SS_EXT, "EXT_SS");
213
BIND_WXSTR_CONSTANT_NAMED(FileFilters::S62_EXT, "EXT_S62");
214
BIND_WXSTR_CONSTANT_NAMED(FileFilters::OBJECT_EXT, "EXT_OBJECT");
215
BIND_WXSTR_CONSTANT_NAMED(FileFilters::XRCRESOURCE_EXT, "EXT_XRCRESOURCE");
216
BIND_WXSTR_CONSTANT_NAMED(FileFilters::STATICLIB_EXT, "EXT_STATICLIB");
217
BIND_WXSTR_CONSTANT_NAMED(FileFilters::DYNAMICLIB_EXT, "EXT_DYNAMICLIB");
218
BIND_WXSTR_CONSTANT_NAMED(FileFilters::EXECUTABLE_EXT, "EXT_EXECUTABLE");
219
BIND_WXSTR_CONSTANT_NAMED(FileFilters::EXECUTABLE_EXT, "EXT_NATIVE");
220
BIND_WXSTR_CONSTANT_NAMED(FileFilters::RESOURCE_EXT, "EXT_RESOURCE");
221
BIND_WXSTR_CONSTANT_NAMED(FileFilters::RESOURCEBIN_EXT, "EXT_RESOURCEBIN");
222
BIND_WXSTR_CONSTANT_NAMED(FileFilters::XML_EXT, "EXT_XML");
223
BIND_WXSTR_CONSTANT_NAMED(FileFilters::SCRIPT_EXT, "EXT_SCRIPT");
224
BIND_WXSTR_CONSTANT_NAMED(FileFilters::WORKSPACE_DOT_EXT, "DOT_EXT_WORKSPACE");
225
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CODEBLOCKS_DOT_EXT, "DOT_EXT_CODEBLOCKS");
226
BIND_WXSTR_CONSTANT_NAMED(FileFilters::DEVCPP_DOT_EXT, "DOT_EXT_DEVCPP");
227
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC6_DOT_EXT, "DOT_EXT_MSVC6");
228
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC6_WORKSPACE_DOT_EXT, "DOT_EXT_MSVC6_WORKSPACE");
229
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC7_DOT_EXT, "DOT_EXT_MSVC7");
230
BIND_WXSTR_CONSTANT_NAMED(FileFilters::MSVC7_WORKSPACE_DOT_EXT, "DOT_EXT_MSVC7_WORKSPACE");
231
BIND_WXSTR_CONSTANT_NAMED(FileFilters::ASM_DOT_EXT, "DOT_EXT_ASM");
232
BIND_WXSTR_CONSTANT_NAMED(FileFilters::D_DOT_EXT, "DOT_EXT_D");
233
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F_DOT_EXT, "DOT_EXT_F");
234
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F77_DOT_EXT, "DOT_EXT_F77");
235
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F90_DOT_EXT, "DOT_EXT_F90");
236
BIND_WXSTR_CONSTANT_NAMED(FileFilters::F95_DOT_EXT, "DOT_EXT_F95");
237
BIND_WXSTR_CONSTANT_NAMED(FileFilters::JAVA_DOT_EXT, "DOT_EXT_JAVA");
238
BIND_WXSTR_CONSTANT_NAMED(FileFilters::C_DOT_EXT, "DOT_EXT_C");
239
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CC_DOT_EXT, "DOT_EXT_CC");
240
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CPP_DOT_EXT, "DOT_EXT_CPP");
241
BIND_WXSTR_CONSTANT_NAMED(FileFilters::CXX_DOT_EXT, "DOT_EXT_CXX");
242
BIND_WXSTR_CONSTANT_NAMED(FileFilters::H_DOT_EXT, "DOT_EXT_H");
243
BIND_WXSTR_CONSTANT_NAMED(FileFilters::HH_DOT_EXT, "DOT_EXT_HH");
244
BIND_WXSTR_CONSTANT_NAMED(FileFilters::HPP_DOT_EXT, "DOT_EXT_HPP");
245
BIND_WXSTR_CONSTANT_NAMED(FileFilters::HXX_DOT_EXT, "DOT_EXT_HXX");
246
BIND_WXSTR_CONSTANT_NAMED(FileFilters::S_DOT_EXT, "DOT_EXT_S");
247
BIND_WXSTR_CONSTANT_NAMED(FileFilters::SS_DOT_EXT, "DOT_EXT_SS");
248
BIND_WXSTR_CONSTANT_NAMED(FileFilters::S62_DOT_EXT, "DOT_EXT_S62");
249
BIND_WXSTR_CONSTANT_NAMED(FileFilters::OBJECT_DOT_EXT, "DOT_EXT_OBJECT");
250
BIND_WXSTR_CONSTANT_NAMED(FileFilters::XRCRESOURCE_DOT_EXT, "DOT_EXT_XRCRESOURCE");
251
BIND_WXSTR_CONSTANT_NAMED(FileFilters::STATICLIB_DOT_EXT, "DOT_EXT_STATICLIB");
252
BIND_WXSTR_CONSTANT_NAMED(FileFilters::DYNAMICLIB_DOT_EXT, "DOT_EXT_DYNAMICLIB");
253
BIND_WXSTR_CONSTANT_NAMED(FileFilters::EXECUTABLE_DOT_EXT, "DOT_EXT_EXECUTABLE");
254
BIND_WXSTR_CONSTANT_NAMED(FileFilters::NATIVE_DOT_EXT, "DOT_EXT_NATIVE");
255
BIND_WXSTR_CONSTANT_NAMED(FileFilters::RESOURCE_DOT_EXT, "DOT_EXT_RESOURCE");
256
BIND_WXSTR_CONSTANT_NAMED(FileFilters::RESOURCEBIN_DOT_EXT, "DOT_EXT_RESOURCEBIN");
257
BIND_WXSTR_CONSTANT_NAMED(FileFilters::XML_DOT_EXT, "DOT_EXT_XML");
258
BIND_WXSTR_CONSTANT_NAMED(FileFilters::SCRIPT_DOT_EXT, "DOT_EXT_SCRIPT");