Update Intel XDK export option to target Cordova

Regenerated GUI files
This commit is contained in:
Florian Rival
2015-08-24 17:04:02 +02:00
parent 6e9f5bdc8a
commit 7bbad247cb
33 changed files with 5569 additions and 5112 deletions

View File

@@ -14,7 +14,7 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsKeyboardExtension(gd::P
{
extension.SetExtensionInformation("BuiltinKeyboard",
_("Keyboard features"),
_("Built-in extensions allowing to use keyboard"),
_("Built-in extension allowing to use keyboard"),
"Florian Rival",
"Open source (MIT License)");

View File

@@ -14,7 +14,7 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsMouseExtension(gd::Plat
{
extension.SetExtensionInformation("BuiltinMouse",
_("Mouse features"),
_("Built-in extensions allowing to use the mouse"),
_("Built-in extension allowing to use the mouse"),
"Florian Rival",
"Open source (MIT License)");

View File

@@ -15,6 +15,7 @@
#include <iostream>
#include <wx/log.h>
#include <wx/filefn.h>
#include <wx/dir.h>
#endif
#undef CopyFile //Remove a Windows macro
@@ -154,6 +155,45 @@ bool NativeFileSystem::CopyFile(const gd::String & file, const gd::String & dest
return wxCopyFile( file, destination, true );
}
bool NativeFileSystem::CopyDir(const gd::String & source, const gd::String & destination)
{
wxString sFrom = source.ToWxString();
wxString sTo = destination.ToWxString();
//As seen on https://forums.wxwidgets.org/viewtopic.php?t=2080
if (sFrom[sFrom.Len() - 1] != '\\' && sFrom[sFrom.Len() - 1] != '/') sFrom += wxFILE_SEP_PATH;
if (sTo[sTo.Len() - 1] != '\\' && sTo[sTo.Len() - 1] != '/') sTo += wxFILE_SEP_PATH;
if (!::wxDirExists(sFrom)) {
return false;
}
if (!wxDirExists(sTo)) {
if (!wxFileName::Mkdir(sTo, 0777, wxPATH_MKDIR_FULL)) {
return false;
}
}
wxDir fDir(sFrom);
wxString sNext = wxEmptyString;
bool bIsFile = fDir.GetFirst(&sNext);
while (bIsFile) {
const wxString sFileFrom = sFrom + sNext;
const wxString sFileTo = sTo + sNext;
if (::wxDirExists(sFileFrom)) {
CopyDir(sFileFrom, sFileTo);
}
else {
if (!::wxFileExists(sFileTo)) {
if (!::wxCopyFile(sFileFrom, sFileTo)) {
return false;
}
}
}
bIsFile = fDir.GetNext(&sNext);
}
return true;
}
NativeFileSystem & NativeFileSystem::Get()
{
if ( !singleton ) singleton = new NativeFileSystem;

View File

@@ -93,10 +93,28 @@ public:
*/
virtual bool MakeRelative(gd::String & filename, const gd::String & baseDirectory) = 0;
/**
* \brief Copy a file
* \return true if the operation succeeded.
*/
virtual bool CopyFile(const gd::String & file, const gd::String & destination) = 0;
/**
* \brief Copy a whole directory
* \return true if the operation succeeded.
*/
virtual bool CopyDir(const gd::String & source, const gd::String & destination) = 0;
/**
* \brief Write the content of a string to a file.
* \return true if the operation succeeded.
*/
virtual bool WriteToFile(const gd::String & file, const gd::String & content) = 0;
/**
* \brief Read the content of a file.
* \return The content of the file.
*/
virtual gd::String ReadFile(const gd::String & file) = 0;
/**
@@ -136,6 +154,7 @@ public:
virtual bool MakeRelative(gd::String & filename, const gd::String & baseDirectory);
virtual bool IsAbsolute(const gd::String & filename);
virtual bool CopyFile(const gd::String & file, const gd::String & destination);
virtual bool CopyDir(const gd::String & source, const gd::String & destination);
virtual bool ClearDir(const gd::String & directory);
virtual bool WriteToFile(const gd::String & file, const gd::String & content);
virtual gd::String ReadFile(const gd::String & file);

View File

@@ -70,11 +70,12 @@ LayersEditorPanelBase::LayersEditorPanelBase(wxWindow* parent, wxWindowID id, co
m_layersList = new wxListCtrl(m_panel7, LAYERS_LIST_ID, wxDefaultPosition, wxDefaultSize, wxLC_REPORT);
flexGridSizer13->Add(m_layersList, 0, wxALL|wxEXPAND, 0);
SetName(wxT("LayersEditorPanelBase"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
// Connect events
this->Connect(ADD_LAYER_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(LayersEditorPanelBase::OnAddLayerClicked), NULL, this);
this->Connect(DELETE_LAYER_TOOL, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(LayersEditorPanelBase::OnDeleteLayerClicked), NULL, this);
@@ -179,11 +180,19 @@ BaseGroupEventDialog::BaseGroupEventDialog(wxWindow* parent, wxWindowID id, cons
flexGridSizer45->Add(cancelBt, 0, wxALL, 5);
SetName(wxT("BaseGroupEventDialog"));
SetSizeHints(400,200);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(this)) {
wxPersistenceManager::Get().RegisterAndRestore(this);
} else {
wxPersistenceManager::Get().Restore(this);
}
#endif
// Connect events
backColorBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseGroupEventDialog::onChooseBackgroundBtClick), NULL, this);
okBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseGroupEventDialog::onOkBtClick), NULL, this);
@@ -316,12 +325,20 @@ BaseEventStoreDialog::BaseEventStoreDialog(wxWindow* parent, wxWindowID id, cons
flexGridSizer7712->Add(cancelBt, 0, wxALL, 5);
SetName(wxT("BaseEventStoreDialog"));
SetMinSize( wxSize(500,300) );
SetSizeHints(750,450);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(this)) {
wxPersistenceManager::Get().RegisterAndRestore(this);
} else {
wxPersistenceManager::Get().Restore(this);
}
#endif
// Connect events
searchCtrl->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(BaseEventStoreDialog::OnSearchCtrlText), NULL, this);
okBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseEventStoreDialog::OnOkBtClick), NULL, this);

View File

@@ -4,8 +4,8 @@
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
#ifndef GDCOREDIALOGS_BASE_CLASSES_H
#define GDCOREDIALOGS_BASE_CLASSES_H
#ifndef IDE_DIALOGS_GDCOREDIALOGS_BASE_CLASSES_H
#define IDE_DIALOGS_GDCOREDIALOGS_BASE_CLASSES_H
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
@@ -33,6 +33,12 @@
#include <wx/htmllbox.h>
#include "wx/srchctrl.h"
#include <wx/scrolwin.h>
#if wxVERSION_NUMBER >= 2900
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/persist/bookctrl.h>
#include <wx/persist/treebook.h>
#endif
class LayersEditorPanelBase : public wxPanel
{
@@ -63,6 +69,10 @@ protected:
virtual void OnHelpClicked(wxCommandEvent& event) { event.Skip(); }
public:
wxAuiToolBar* GetToolbar() { return m_toolbar; }
wxListCtrl* GetLayersList() { return m_layersList; }
wxPanel* GetPanel7() { return m_panel7; }
wxAuiManager* GetAuimgr() { return m_auimgr; }
LayersEditorPanelBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxTAB_TRAVERSAL);
virtual ~LayersEditorPanelBase();
};
@@ -87,6 +97,15 @@ protected:
virtual void onCancelBtClick(wxCommandEvent& event) { event.Skip(); }
public:
wxStaticText* GetStaticText49() { return m_staticText49; }
wxTextCtrl* GetGroupNameEdit() { return groupNameEdit; }
wxButton* GetBackColorBt() { return backColorBt; }
wxCheckBox* GetHideCheck() { return hideCheck; }
wxStaticLine* GetStaticLine47() { return m_staticLine47; }
wxStaticBitmap* GetStaticBitmap63() { return m_staticBitmap63; }
wxHyperlinkCtrl* GetHyperLink65() { return m_hyperLink65; }
wxButton* GetOkBt() { return okBt; }
wxButton* GetCancelBt() { return cancelBt; }
BaseGroupEventDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Edit the events group properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400,200), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
virtual ~BaseGroupEventDialog();
};
@@ -116,6 +135,20 @@ protected:
virtual void OnCancelBtClick(wxCommandEvent& event) { event.Skip(); }
public:
wxSimpleHtmlListBox* GetTemplatesList() { return templatesList; }
wxSearchCtrl* GetSearchCtrl() { return searchCtrl; }
wxStaticText* GetNameTxt() { return nameTxt; }
wxStaticText* GetAuthorTxt() { return authorTxt; }
wxTextCtrl* GetDescriptionEdit() { return descriptionEdit; }
wxStaticLine* GetStaticLine979() { return m_staticLine979; }
wxFlexGridSizer* GetParametersSizer() { return parametersSizer; }
wxScrolledWindow* GetParametersScrolledWindow() { return parametersScrolledWindow; }
wxStaticLine* GetStaticLine7911() { return m_staticLine7911; }
wxStaticBitmap* GetStaticBitmap631() { return m_staticBitmap631; }
wxHyperlinkCtrl* GetHyperLink652() { return m_hyperLink652; }
wxHyperlinkCtrl* GetHyperLink154() { return m_hyperLink154; }
wxButton* GetOkBt() { return okBt; }
wxButton* GetCancelBt() { return cancelBt; }
BaseEventStoreDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Add a template from the event store"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(750,450), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxMAXIMIZE_BOX);
virtual ~BaseEventStoreDialog();
};

File diff suppressed because it is too large Load Diff

View File

@@ -21,254 +21,220 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
static size_t xml_res_size_0 = 683;
static size_t xml_res_size_0 = 482;
static unsigned char xml_res_file_0[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,9,112,
72,89,115,0,0,15,209,0,0,15,209,1,86,48,26,164,0,0,0,25,116,69,88,116,83,
111,102,116,119,97,114,101,0,119,119,119,46,105,110,107,115,99,97,112,101,
46,111,114,103,155,238,60,26,0,0,2,40,73,68,65,84,56,141,141,147,49,76,
83,81,20,134,191,243,250,2,175,22,74,106,33,5,139,233,0,152,48,152,20,136,
147,10,147,194,128,97,48,113,146,205,132,201,17,28,155,38,46,66,226,226,
68,100,195,201,141,196,1,101,2,49,33,34,165,145,24,98,208,152,70,42,212,
250,130,62,3,173,77,95,143,67,227,179,117,40,158,233,222,156,123,255,252,
39,231,255,68,85,169,173,225,165,195,126,196,157,172,8,131,2,113,0,133,
180,161,164,80,223,226,218,68,231,110,237,123,249,35,32,32,151,159,101,
167,69,73,74,38,103,201,193,17,98,59,0,104,56,136,118,133,208,88,164,168,
66,226,213,120,116,78,65,61,1,1,137,63,253,176,220,234,114,221,88,221,65,
178,54,29,237,1,252,150,9,64,161,88,38,255,237,24,141,134,169,140,92,68,
91,252,43,235,55,162,163,10,42,170,74,239,194,214,140,56,39,15,66,43,239,
8,152,213,79,179,201,49,46,13,118,3,176,153,218,103,38,177,92,245,220,108,
226,222,188,66,165,213,127,111,125,60,58,107,244,205,111,247,83,209,164,
177,186,131,147,207,115,124,82,160,97,253,42,99,172,238,32,74,114,120,233,
176,223,64,220,73,201,228,44,201,218,0,56,63,190,159,42,34,89,27,201,228,
44,215,231,222,54,43,48,232,59,56,162,163,61,192,244,221,171,222,163,216,
249,160,119,190,208,219,206,108,114,204,187,207,61,122,73,238,224,8,137,
69,134,76,129,184,216,14,126,203,244,102,6,112,203,199,148,74,22,77,77,
77,180,5,173,186,158,223,50,17,219,65,32,110,52,178,106,219,54,165,82,169,
225,56,166,66,90,195,193,209,194,151,175,108,166,246,235,108,183,5,45,108,
219,198,103,6,200,124,118,188,94,161,88,70,207,157,69,33,109,26,144,210,
174,208,104,254,237,167,191,171,162,126,141,27,175,223,115,255,225,6,129,
51,126,175,175,67,33,84,216,50,80,223,162,198,34,69,141,134,27,90,173,221,
142,70,195,104,44,82,244,185,190,39,198,222,212,192,46,134,36,42,35,23,
161,217,60,93,164,92,174,166,81,72,172,77,116,238,122,81,238,121,252,230,
185,252,44,92,251,159,40,183,116,119,189,72,223,234,29,243,162,12,85,152,
122,22,182,166,169,104,67,152,48,36,241,241,206,80,61,76,181,213,55,191,
93,197,153,127,112,166,138,243,222,212,64,29,206,191,1,250,100,14,188,126,
190,102,171,0,0,0,0,73,69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
0,40,45,15,83,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,0,0,
128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,0,0,
132,80,76,84,69,255,255,255,61,176,231,61,177,228,59,178,228,60,178,228,
0,255,255,59,179,228,60,178,228,48,169,219,60,178,228,35,155,204,36,152,
206,35,153,203,36,153,203,58,179,228,34,153,203,35,153,203,35,154,203,61,
147,205,62,122,188,63,103,174,61,166,219,64,76,155,85,96,166,94,104,170,
36,141,194,53,72,151,202,205,227,255,255,255,64,83,159,38,78,149,39,51,
130,53,66,146,36,122,180,37,97,163,60,71,141,177,180,202,233,234,241,240,
241,247,69,79,145,230,230,230,249,249,249,215,216,222,39,58,134,88,216,
17,176,0,0,0,18,116,82,78,83,0,41,134,184,232,1,118,247,185,186,118,41,
247,134,133,184,232,186,23,22,203,138,0,0,0,1,98,75,71,68,0,136,5,29,72,
0,0,0,9,112,72,89,115,0,0,15,209,0,0,15,209,1,86,48,26,164,0,0,0,173,73,
68,65,84,24,211,53,143,217,22,131,32,12,68,227,130,90,151,106,21,113,129,
18,23,172,180,253,255,255,43,8,157,167,228,158,147,153,9,128,81,16,70,113,
28,133,1,56,145,36,109,59,74,187,54,77,200,181,103,61,101,195,56,14,140,
246,55,75,242,105,102,140,11,193,25,123,246,9,64,81,74,92,60,96,52,13,160,
90,17,113,241,128,181,119,168,183,93,41,117,8,241,226,156,15,93,4,141,60,
181,209,91,88,141,52,254,3,71,44,112,39,31,173,15,127,114,153,162,210,90,
45,206,212,198,58,96,210,109,172,41,246,245,0,103,91,12,200,99,146,184,
159,231,142,114,202,220,51,121,185,110,82,110,107,153,19,255,111,81,213,
77,83,87,133,157,127,108,226,20,225,157,174,78,214,0,0,0,0,73,69,78,68,
174,66,96,130};
static size_t xml_res_size_1 = 551;
static size_t xml_res_size_1 = 376;
static unsigned char xml_res_file_1[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,1,222,73,
68,65,84,56,141,165,147,207,107,19,65,20,199,191,51,59,59,89,106,154,31,
219,31,32,57,72,145,16,40,72,80,66,16,234,161,151,8,57,152,156,60,232,161,
94,91,196,67,254,146,8,69,154,107,123,208,131,183,150,178,208,92,122,176,
151,18,10,9,164,176,45,181,20,41,84,155,172,214,104,140,155,221,29,15,146,
49,155,184,30,234,187,205,227,205,103,190,223,247,230,17,33,4,254,39,216,
104,226,209,230,121,206,19,40,81,130,252,112,222,19,48,40,65,121,171,144,
168,14,231,201,176,130,194,230,249,90,239,234,219,178,179,111,194,57,187,
132,176,157,223,69,156,129,221,154,1,203,166,160,68,194,111,140,98,226,
233,24,224,238,122,227,181,214,117,159,168,198,129,188,56,26,132,51,104,
133,251,80,103,98,149,237,98,98,69,2,22,55,234,185,15,173,206,142,242,118,
15,209,208,13,104,154,26,232,153,112,6,237,241,3,132,162,225,135,91,133,
68,149,2,128,229,162,68,107,38,132,237,226,75,231,43,122,189,126,32,64,
216,14,156,125,19,158,64,73,54,177,235,137,60,61,109,225,206,109,29,243,
201,89,0,64,52,26,67,136,243,49,64,243,232,2,135,103,151,24,52,153,253,
33,187,152,79,206,226,249,139,5,89,172,79,233,224,170,223,206,234,203,119,
104,190,111,203,51,13,212,10,192,106,91,176,251,193,118,124,10,8,87,112,
120,252,9,175,86,247,198,138,134,237,52,143,46,64,56,243,3,38,40,49,126,
204,77,231,27,230,71,52,78,172,191,190,20,155,140,200,233,168,201,155,240,
4,12,105,65,87,80,246,50,41,16,174,4,74,29,76,135,112,6,150,77,129,18,148,
37,96,119,41,93,141,199,195,21,81,204,254,19,114,245,243,59,250,249,123,
80,35,225,202,224,75,251,190,114,102,189,190,246,185,221,89,166,53,19,228,
180,5,97,187,178,63,98,110,26,94,38,133,248,212,100,165,246,44,189,34,123,
55,186,141,139,27,245,156,229,162,212,245,132,111,153,38,40,49,116,5,229,
221,165,116,240,50,93,39,126,1,157,215,183,111,35,213,143,230,0,0,0,0,73,
69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
0,40,45,15,83,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,0,0,
128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,0,0,
99,80,76,84,69,255,255,255,76,177,228,74,176,228,77,177,228,72,176,228,
48,160,209,74,176,228,63,161,208,45,158,208,51,158,207,51,160,208,76,177,
228,69,162,216,65,108,177,61,77,156,60,71,152,56,150,206,69,155,212,34,
141,195,37,56,136,52,63,147,36,89,156,36,50,133,35,156,207,82,85,151,124,
122,173,139,137,189,146,143,195,103,105,171,231,231,232,249,250,250,255,
255,255,36,135,190,209,147,107,50,0,0,0,11,116,82,78,83,0,69,182,151,166,
166,151,69,182,151,151,66,218,177,212,0,0,0,1,98,75,71,68,0,136,5,29,72,
0,0,0,128,73,68,65,84,24,211,109,143,217,18,131,32,16,4,17,19,65,185,20,
4,66,12,49,255,255,149,217,229,40,95,236,183,233,170,217,131,144,59,6,42,
0,58,244,60,74,165,141,209,74,62,106,126,174,16,17,189,77,152,153,117,187,
105,70,98,139,251,16,186,81,20,68,116,175,148,222,7,242,209,2,69,72,57,
231,239,9,28,230,18,197,52,129,149,84,90,181,130,67,11,123,27,10,107,187,
169,107,201,252,107,198,173,83,61,117,177,30,148,243,118,233,207,48,30,
1,206,110,63,255,3,46,171,12,73,164,77,208,68,0,0,0,0,73,69,78,68,174,66,
96,130};
static size_t xml_res_size_2 = 295;
static size_t xml_res_size_2 = 263;
static unsigned char xml_res_file_2[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,222,73,
68,65,84,56,141,99,252,255,255,63,3,37,128,9,155,160,173,251,204,101,232,
98,14,19,78,223,35,218,0,6,70,134,72,100,67,28,38,156,190,199,171,36,165,
136,77,41,11,78,183,65,12,97,96,246,52,178,192,165,25,191,1,80,67,120,149,
164,240,42,193,234,133,31,63,126,227,213,68,208,128,15,159,63,17,109,8,
246,64,36,193,16,156,6,192,12,249,248,11,191,33,140,176,132,164,99,209,
185,236,231,239,191,145,232,10,254,103,121,49,72,241,11,48,240,179,177,
194,197,62,223,123,118,255,64,129,169,18,138,11,174,156,40,143,98,103,101,
94,142,205,150,103,31,63,192,93,130,172,25,195,11,132,12,121,117,243,33,
138,102,12,3,240,25,194,241,236,237,253,147,165,86,74,232,226,88,3,17,221,
16,142,103,111,239,95,169,117,198,208,204,192,192,192,192,240,255,255,127,
156,88,219,188,99,153,118,211,158,123,248,212,48,82,154,157,1,167,234,139,
75,70,228,147,104,0,0,0,0,73,69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,4,3,0,0,
0,237,221,226,82,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,
0,0,128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,
0,0,39,80,76,84,69,255,255,255,60,70,152,63,143,202,43,55,136,54,138,197,
43,130,188,60,71,152,76,177,228,52,63,147,36,50,133,61,171,223,35,156,207,
255,255,255,239,14,33,221,0,0,0,6,116,82,78,83,0,166,222,166,222,222,244,
111,149,157,0,0,0,1,98,75,71,68,0,136,5,29,72,0,0,0,80,73,68,65,84,8,215,
99,96,64,0,70,6,6,5,48,131,77,128,169,0,194,72,84,135,50,210,202,33,12,
14,24,131,179,13,198,152,1,99,204,92,14,102,88,206,156,185,171,188,8,200,
96,158,57,115,247,114,5,136,208,238,45,96,53,204,51,119,7,64,44,179,220,
10,181,149,57,0,201,9,12,0,9,242,19,245,132,197,211,90,0,0,0,0,73,69,78,
68,174,66,96,130};
static size_t xml_res_size_3 = 603;
static size_t xml_res_size_3 = 410;
static unsigned char xml_res_file_3[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,2,18,73,
68,65,84,56,141,165,147,77,104,19,81,16,199,255,187,228,163,49,194,150,
170,16,79,122,201,77,34,180,224,23,77,61,109,55,193,82,132,160,65,65,16,
60,180,5,81,2,146,222,2,158,212,94,114,10,137,224,65,122,104,72,21,177,
185,36,49,7,107,171,208,75,132,228,26,20,15,85,104,80,247,189,26,55,221,
216,221,241,80,243,236,54,185,136,3,15,30,243,102,126,51,243,102,70,34,
34,252,143,184,14,42,194,145,199,42,8,9,72,136,58,30,8,37,72,72,175,151,
103,170,78,61,145,56,225,72,46,27,139,47,82,33,95,39,166,27,212,19,166,
27,84,200,215,41,22,95,164,11,106,118,105,191,143,184,156,58,251,112,233,
202,181,167,196,116,131,218,166,69,169,213,22,77,173,108,210,212,202,38,
165,86,91,212,54,45,98,186,65,55,110,230,105,124,50,151,237,249,73,68,132,
177,137,5,245,144,199,245,234,73,38,134,19,39,3,120,176,177,141,247,188,
235,200,116,84,241,224,254,197,99,224,172,131,91,179,207,177,197,140,201,
245,242,76,85,6,0,211,180,19,241,233,16,20,101,8,76,103,120,221,250,1,0,
208,2,62,104,1,31,0,8,160,50,236,195,213,203,167,1,66,2,0,246,0,187,118,
84,213,130,34,218,114,216,143,103,218,81,220,62,51,50,240,231,181,72,16,
189,79,22,93,80,148,33,135,17,211,25,174,191,235,192,239,118,139,18,132,
237,176,79,220,229,129,33,254,200,231,109,142,174,101,97,84,241,32,121,
254,200,64,27,1,224,124,167,239,209,178,9,159,152,142,212,248,8,252,158,
191,177,56,235,56,1,94,151,92,170,86,154,125,128,183,151,142,227,77,52,
128,175,223,190,195,178,44,161,175,148,155,123,131,37,0,94,57,93,40,54,
250,178,200,212,116,100,106,58,200,182,5,132,179,14,150,95,214,1,9,105,
1,168,173,37,171,252,103,55,119,247,94,113,96,41,0,64,182,141,15,31,191,
96,238,206,11,108,233,70,174,55,210,210,254,101,10,157,123,148,85,14,187,
103,227,211,33,168,90,80,116,134,243,29,84,43,77,20,138,13,240,246,175,
92,99,99,126,174,231,35,29,220,198,177,137,5,213,52,237,132,185,107,59,
150,201,235,146,75,94,175,156,174,173,37,29,203,212,7,248,87,249,13,137,
45,22,202,33,129,14,207,0,0,0,0,73,69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
0,40,45,15,83,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,0,0,
128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,0,0,
117,80,76,84,69,255,255,255,60,71,152,60,70,152,61,72,152,58,69,151,44,
55,136,60,70,152,50,61,137,43,54,135,45,56,135,45,55,136,60,71,152,83,87,
162,169,167,209,240,239,246,255,255,255,85,89,160,244,249,253,126,192,234,
76,177,228,93,96,167,60,67,141,216,216,224,247,248,248,147,145,187,231,
231,232,61,170,221,147,201,237,36,50,133,65,172,223,38,158,208,70,174,225,
35,156,207,252,252,252,232,233,234,124,180,215,71,76,146,217,218,226,89,
93,164,2,59,116,56,0,0,0,11,116,82,78,83,0,69,182,151,166,166,151,69,182,
151,151,66,218,177,212,0,0,0,1,98,75,71,68,0,136,5,29,72,0,0,0,144,73,68,
65,84,24,211,109,143,203,18,130,48,12,69,1,149,86,160,137,180,182,52,130,
40,162,254,255,39,154,0,29,55,220,221,57,51,55,143,44,219,75,94,212,156,
34,79,124,104,12,32,130,105,142,43,159,46,208,90,231,108,11,215,82,88,249,
208,49,179,65,104,164,165,35,209,205,245,189,115,136,166,96,49,4,34,234,
112,17,80,139,32,201,93,42,136,127,49,62,108,155,132,84,232,57,78,184,85,
100,168,228,53,109,67,121,45,227,60,179,89,215,102,231,119,88,4,125,190,
229,122,106,229,35,171,16,125,149,158,81,122,224,104,181,251,249,15,87,
133,12,237,158,220,204,208,0,0,0,0,73,69,78,68,174,66,96,130};
static size_t xml_res_size_4 = 338;
static size_t xml_res_size_4 = 270;
static unsigned char xml_res_file_4[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,1,9,73,68,
65,84,56,141,165,147,49,75,195,64,24,134,159,196,75,69,28,90,218,169,209,
193,197,73,112,233,90,218,201,69,209,31,226,111,115,106,233,148,169,32,
56,5,68,237,80,186,148,150,246,16,20,18,36,216,26,225,28,74,98,175,189,
52,132,190,211,113,223,247,62,223,123,199,157,165,148,98,31,9,128,214,195,
88,149,75,78,97,115,247,238,196,178,1,230,97,64,248,19,231,26,34,207,39,
242,124,109,207,78,22,121,144,229,96,12,64,60,146,26,196,94,111,202,130,
68,158,207,119,255,13,0,231,188,110,78,144,5,137,60,159,120,36,211,233,
194,173,113,124,213,72,235,194,20,119,30,6,80,174,32,250,47,169,57,153,
126,120,113,182,59,65,162,233,211,51,95,175,19,205,188,62,57,23,32,228,
39,129,123,196,98,17,103,154,119,2,24,190,3,240,209,56,229,183,125,153,
217,102,188,3,0,117,127,13,192,1,255,119,98,122,108,41,224,241,166,190,
85,220,84,181,86,165,228,172,32,183,157,153,14,104,246,164,217,165,73,226,
110,36,41,148,160,217,147,91,199,41,152,96,165,4,2,96,237,251,157,255,0,
108,203,106,70,24,166,53,75,0,0,0,0,73,69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,4,3,0,0,
0,237,221,226,82,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,
0,0,128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,
0,0,42,80,76,84,69,255,255,255,61,171,223,76,177,228,35,156,207,65,108,
177,69,134,196,60,71,152,32,114,175,52,63,147,36,89,156,36,50,133,231,231,
232,249,250,250,255,255,255,211,24,189,215,0,0,0,1,116,82,78,83,0,64,230,
216,102,0,0,0,1,98,75,71,68,0,136,5,29,72,0,0,0,89,73,68,65,84,8,215,99,
96,128,1,70,37,48,80,96,96,22,2,82,42,78,64,134,33,144,17,146,2,100,24,
11,41,169,164,184,128,24,134,74,110,105,65,32,134,177,72,90,138,18,152,
81,145,230,4,97,204,108,81,130,48,86,22,66,25,198,64,141,64,198,110,32,
216,115,23,42,98,44,4,21,217,108,8,19,49,22,128,187,2,0,56,166,25,186,168,
189,129,152,0,0,0,0,73,69,78,68,174,66,96,130};
static size_t xml_res_size_5 = 637;
static size_t xml_res_size_5 = 820;
static unsigned char xml_res_file_5[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,2,68,73,68,65,84,120,156,149,147,75,72,148,81,24,134,
159,243,95,231,154,151,209,201,17,221,72,228,140,154,118,177,104,92,152,
210,194,112,83,102,180,146,160,77,171,130,144,32,23,17,4,182,107,23,65,
4,17,8,109,50,9,90,20,17,65,4,42,212,128,162,86,84,16,133,78,58,227,48,
94,152,25,103,230,159,255,255,91,140,129,215,168,23,190,205,225,125,191,
195,247,156,243,193,127,200,121,145,219,114,43,242,198,51,101,55,179,116,
0,73,56,168,182,12,84,108,230,165,18,202,60,157,92,207,85,97,175,70,184,
241,199,39,182,6,229,83,132,245,70,174,104,53,116,107,1,74,204,28,228,127,
97,96,48,235,106,160,78,117,99,46,61,163,43,253,128,55,155,26,136,163,84,
170,45,220,211,235,57,39,123,17,138,11,228,245,82,156,96,172,130,101,128,
94,1,100,152,143,223,231,96,246,57,241,226,60,237,28,83,143,240,86,241,
115,220,90,38,97,46,16,41,204,51,105,38,152,195,192,173,250,240,104,21,
160,184,193,54,65,11,224,85,43,105,206,206,242,88,208,70,151,168,230,142,
200,240,196,154,99,132,41,62,109,28,73,236,71,120,123,24,241,245,210,163,
184,192,204,129,164,131,86,14,241,33,6,20,50,24,118,132,22,251,7,214,142,
52,45,132,99,31,109,80,188,189,176,72,62,247,147,137,124,148,177,181,105,
190,108,131,184,77,205,180,236,233,230,86,33,198,88,238,43,99,118,146,136,
245,153,236,206,175,16,196,41,74,105,85,106,9,171,123,105,91,27,229,166,
61,193,212,223,250,43,218,105,206,184,154,56,161,86,19,206,44,112,72,42,
69,83,60,96,198,137,145,102,102,183,160,220,132,68,57,29,138,231,48,245,
129,75,92,205,39,65,124,132,181,104,209,96,68,25,69,199,222,26,84,59,104,
112,135,233,117,7,57,191,242,142,126,33,135,16,254,1,94,122,90,233,202,
37,32,245,173,8,75,82,193,74,18,179,243,76,75,10,41,217,77,153,230,39,228,
10,225,55,151,137,198,30,114,54,253,136,247,2,64,237,196,95,117,141,73,
225,33,144,75,64,62,9,178,190,225,35,185,65,118,130,164,96,167,62,48,188,
244,148,203,249,215,44,110,130,232,236,227,164,175,143,87,133,12,114,122,
134,239,182,76,173,22,64,213,125,96,167,89,41,44,240,34,53,206,221,236,
48,227,187,18,245,246,51,88,57,68,65,110,39,32,130,56,68,35,117,82,51,53,
82,112,251,206,236,40,41,132,236,184,192,224,63,153,215,245,27,31,165,188,
247,209,205,117,196,0,0,0,0,73,69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,3,0,0,
0,40,45,15,83,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,0,0,
128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,0,1,
134,80,76,84,69,0,0,0,9,97,0,3,52,0,2,45,0,3,53,0,1,48,0,1,47,0,3,62,0,
21,162,0,14,121,0,3,72,0,10,115,0,16,143,0,13,135,0,13,130,0,28,183,0,11,
102,0,1,53,0,6,100,0,13,139,0,30,182,0,8,78,0,0,62,0,5,108,0,9,116,0,9,
110,0,10,111,0,13,121,0,19,146,0,27,166,0,5,54,0,0,58,0,1,84,0,2,74,0,0,
46,0,1,38,0,14,119,0,20,136,0,0,48,0,0,32,0,1,36,0,22,155,0,30,184,0,23,
153,0,17,126,0,8,81,0,0,46,0,14,120,0,10,97,0,3,59,0,2,41,0,0,40,0,1,56,
0,5,85,0,10,108,0,1,49,0,6,79,0,16,123,0,21,149,0,11,125,0,14,131,0,1,38,
0,3,44,0,3,62,0,18,129,0,9,104,0,1,45,0,5,64,0,16,121,0,27,161,0,12,99,
0,3,41,0,25,161,0,17,140,0,16,134,0,18,138,0,21,149,0,27,171,0,34,196,0,
11,97,0,5,65,0,29,181,0,35,206,0,23,153,0,6,69,0,9,92,0,28,184,0,12,133,
0,24,166,0,20,142,0,8,85,0,13,114,0,1,40,0,1,43,0,2,46,0,2,40,0,2,41,0,
8,94,0,22,168,0,19,161,0,23,172,0,16,152,0,20,162,0,26,182,0,30,191,0,25,
177,0,30,192,0,9,126,0,29,187,0,33,202,0,32,198,0,36,212,0,37,212,0,34,
205,0,42,230,0,36,209,0,13,141,0,17,153,0,43,231,0,37,213,0,22,170,0,13,
143,0,30,193,0,18,156,0,19,158,0,23,173,0,17,155,0,24,174,0,18,158,0,255,
255,255,172,150,185,38,0,0,0,98,116,82,78,83,0,133,3,2,28,33,8,25,252,132,
57,166,240,250,221,252,67,21,170,254,230,22,54,229,234,192,175,187,232,
184,1,71,211,125,42,1,174,119,66,2,2,232,249,200,142,80,47,176,118,60,8,
9,61,118,176,46,80,143,200,249,232,2,2,66,119,173,1,42,125,211,69,1,184,
232,187,175,192,233,228,54,22,230,254,169,21,67,252,250,240,166,57,132,
8,34,28,1,3,132,30,101,51,22,0,0,0,1,98,75,71,68,129,18,186,174,254,0,0,
0,194,73,68,65,84,24,211,99,96,64,0,70,38,4,155,153,133,149,141,157,131,
19,198,229,226,230,73,74,230,229,75,225,23,0,115,5,133,132,83,211,82,210,
51,50,83,178,68,68,129,124,49,241,108,9,73,41,105,153,156,220,188,172,124,
89,57,6,121,5,69,37,144,58,101,149,220,130,194,252,34,85,6,53,117,136,57,
26,154,185,197,90,218,58,186,112,123,244,244,13,12,141,160,108,99,19,83,
51,115,184,140,133,165,149,117,73,169,141,45,132,103,103,207,224,80,86,
94,81,89,234,232,4,226,58,187,184,186,49,184,123,148,87,85,151,214,120,
122,121,251,248,22,248,249,3,133,3,2,171,106,235,128,14,171,202,13,10,14,
1,235,11,13,171,231,11,111,200,140,136,140,130,153,27,205,193,30,19,27,
23,143,240,106,66,34,82,24,0,0,19,80,39,165,74,58,8,149,0,0,0,0,73,69,78,
68,174,66,96,130};
static size_t xml_res_size_6 = 293;
static size_t xml_res_size_6 = 257;
static unsigned char xml_res_file_6[] = {
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,8,6,0,0,
0,31,243,255,97,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,136,0,0,0,220,73,
68,65,84,56,141,99,252,255,255,63,3,37,128,9,159,164,85,226,170,123,222,
27,159,46,35,203,0,171,196,85,247,152,159,191,87,100,98,100,136,196,103,
8,86,3,96,154,225,138,240,24,130,97,128,81,204,18,20,205,132,12,65,49,64,
53,100,206,189,207,215,31,41,254,248,241,27,187,115,177,24,2,55,64,53,100,
206,61,134,251,175,20,25,24,24,24,62,124,254,196,64,172,33,140,216,162,
81,213,184,237,63,3,3,3,131,0,47,31,131,68,81,32,92,124,179,159,52,35,94,
47,160,131,15,159,63,49,124,252,133,221,37,68,25,192,192,192,192,240,236,
227,7,188,134,16,52,128,144,33,68,25,0,51,132,116,3,20,197,238,243,50,51,
46,199,167,132,5,159,230,219,107,82,148,24,24,24,24,12,23,92,100,248,252,
247,127,36,86,117,255,255,255,199,192,42,193,179,239,161,139,25,204,191,
176,12,155,90,172,233,128,20,0,0,51,248,137,124,211,129,183,253,0,0,0,0,
73,69,78,68,174,66,96,130};
137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,16,0,0,0,16,4,3,0,0,
0,237,221,226,82,0,0,0,32,99,72,82,77,0,0,122,38,0,0,128,132,0,0,250,0,
0,0,128,232,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,112,156,186,81,60,0,
0,0,39,80,76,84,69,255,255,255,57,96,169,74,176,228,49,91,163,36,83,155,
48,159,208,60,71,152,76,177,228,36,50,133,52,63,147,61,171,223,35,156,207,
255,255,255,199,102,97,142,0,0,0,6,116,82,78,83,0,222,166,222,222,166,151,
122,118,6,0,0,0,1,98,75,71,68,0,136,5,29,72,0,0,0,74,73,68,65,84,8,215,
99,96,64,2,140,10,80,134,88,17,84,32,173,28,34,100,150,86,14,22,98,233,
76,43,7,11,121,116,76,43,135,8,113,116,150,23,128,213,112,116,44,135,49,
118,193,24,187,23,192,24,27,32,140,150,104,40,195,129,21,194,96,97,96,8,
64,114,2,0,66,223,19,155,231,115,150,187,0,0,0,0,73,69,78,68,174,66,96,
130};
static size_t xml_res_size_7 = 1224;
static size_t xml_res_size_7 = 1206;
static unsigned char xml_res_file_7[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
46,48,46,49,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,97,100,100,
49,54,34,62,71,68,67,111,114,101,68,105,97,108,111,103,115,95,100,105,97,
108,111,103,115,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,
46,46,95,46,46,95,46,46,95,66,105,110,97,114,105,101,115,95,79,117,116,
112,117,116,95,82,101,108,101,97,115,101,95,87,105,110,100,111,119,115,
95,114,101,115,95,105,99,111,110,115,95,100,101,102,97,117,108,116,95,97,
100,100,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,
111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,
97,112,34,32,110,97,109,101,61,34,100,101,108,101,116,101,49,54,34,62,71,
68,67,111,114,101,68,105,97,108,111,103,115,95,100,105,97,108,111,103,115,
95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,46,46,95,46,46,95,
46,46,95,66,105,110,97,114,105,101,115,95,79,117,116,112,117,116,95,82,
101,108,101,97,115,101,95,87,105,110,100,111,119,115,95,114,101,115,95,
105,99,111,110,115,95,100,101,102,97,117,108,116,95,100,101,108,101,116,
101,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
112,34,32,110,97,109,101,61,34,100,111,119,110,49,54,34,62,71,68,67,111,
114,101,68,105,97,108,111,103,115,95,100,105,97,108,111,103,115,95,98,105,
116,109,97,112,115,46,99,112,112,36,46,46,95,46,46,95,46,46,95,46,46,95,
66,105,110,97,114,105,101,115,95,79,117,116,112,117,116,95,82,101,108,101,
97,115,101,95,87,105,110,100,111,119,115,95,114,101,115,95,105,99,111,110,
115,95,100,101,102,97,117,108,116,95,100,111,119,110,49,54,46,112,110,103,
60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,
108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,
61,34,104,101,108,112,49,54,34,62,71,68,67,111,114,101,68,105,97,108,111,
103,115,95,100,105,97,108,111,103,115,95,98,105,116,109,97,112,115,46,99,
112,112,36,46,46,95,46,46,95,46,46,95,46,46,95,66,105,110,97,114,105,101,
115,95,79,117,116,112,117,116,95,82,101,108,101,97,115,101,95,87,105,110,
100,111,119,115,95,114,101,115,95,105,99,111,110,115,95,100,101,102,97,
117,108,116,95,104,101,108,112,49,54,46,112,110,103,60,47,111,98,106,101,
99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,
119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,112,114,111,112,
101,114,116,105,101,115,49,54,34,62,71,68,67,111,114,101,68,105,97,108,
111,103,115,95,100,105,97,108,111,103,115,95,98,105,116,109,97,112,115,
46,99,112,112,36,46,46,95,46,46,95,46,46,95,46,46,95,66,105,110,97,114,
105,101,115,95,79,117,116,112,117,116,95,82,101,108,101,97,115,101,95,87,
105,110,100,111,119,115,95,114,101,115,95,105,99,111,110,115,95,100,101,
102,97,117,108,116,95,112,114,111,112,101,114,116,105,101,115,49,54,46,
112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,
116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,
97,109,101,61,34,114,101,102,114,101,115,104,105,99,111,110,34,62,71,68,
47,47,119,119,119,46,119,120,119,105,100,103,101,116,115,46,111,114,103,
47,119,120,120,114,99,34,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
34,97,100,100,49,54,34,62,71,68,67,111,114,101,68,105,97,108,111,103,115,
95,100,105,97,108,111,103,115,95,98,105,116,109,97,112,115,46,99,112,112,
36,46,46,95,46,46,95,46,46,95,46,46,95,66,105,110,97,114,105,101,115,95,
79,117,116,112,117,116,95,82,101,108,101,97,115,101,95,87,105,110,100,111,
119,115,95,114,101,115,95,105,99,111,110,115,95,100,101,102,97,117,108,
116,95,97,100,100,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,
32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,
116,109,97,112,34,32,110,97,109,101,61,34,100,101,108,101,116,101,49,54,
34,62,71,68,67,111,114,101,68,105,97,108,111,103,115,95,100,105,97,108,
111,103,115,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,46,46,
95,46,46,95,46,46,95,66,105,110,97,114,105,101,115,95,79,117,116,112,117,
116,95,82,101,108,101,97,115,101,95,87,105,110,100,111,119,115,95,114,101,
115,95,105,99,111,110,115,95,100,101,102,97,117,108,116,95,100,101,108,
101,116,101,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,
60,111,98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,
109,97,112,34,32,110,97,109,101,61,34,100,111,119,110,49,54,34,62,71,68,
67,111,114,101,68,105,97,108,111,103,115,95,100,105,97,108,111,103,115,
95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,46,46,95,46,46,95,
46,46,95,66,105,110,97,114,105,101,115,95,79,117,116,112,117,116,95,82,
101,108,101,97,115,101,95,87,105,110,100,111,119,115,95,114,101,115,95,
114,101,102,114,101,115,104,105,99,111,110,46,112,110,103,60,47,111,98,
106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,115,115,
61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,117,112,
49,54,34,62,71,68,67,111,114,101,68,105,97,108,111,103,115,95,100,105,97,
108,111,103,115,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,
46,46,95,46,46,95,46,46,95,66,105,110,97,114,105,101,115,95,79,117,116,
112,117,116,95,82,101,108,101,97,115,101,95,87,105,110,100,111,119,115,
95,114,101,115,95,105,99,111,110,115,95,100,101,102,97,117,108,116,95,117,
112,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,114,101,
115,111,117,114,99,101,62,10};
105,99,111,110,115,95,100,101,102,97,117,108,116,95,100,111,119,110,49,
54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,
101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,112,34,
32,110,97,109,101,61,34,104,101,108,112,49,54,34,62,71,68,67,111,114,101,
68,105,97,108,111,103,115,95,100,105,97,108,111,103,115,95,98,105,116,109,
97,112,115,46,99,112,112,36,46,46,95,46,46,95,46,46,95,46,46,95,66,105,
110,97,114,105,101,115,95,79,117,116,112,117,116,95,82,101,108,101,97,115,
101,95,87,105,110,100,111,119,115,95,114,101,115,95,105,99,111,110,115,
95,100,101,102,97,117,108,116,95,104,101,108,112,49,54,46,112,110,103,60,
47,111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,
97,115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,
34,112,114,111,112,101,114,116,105,101,115,49,54,34,62,71,68,67,111,114,
101,68,105,97,108,111,103,115,95,100,105,97,108,111,103,115,95,98,105,116,
109,97,112,115,46,99,112,112,36,46,46,95,46,46,95,46,46,95,46,46,95,66,
105,110,97,114,105,101,115,95,79,117,116,112,117,116,95,82,101,108,101,
97,115,101,95,87,105,110,100,111,119,115,95,114,101,115,95,105,99,111,110,
115,95,100,101,102,97,117,108,116,95,112,114,111,112,101,114,116,105,101,
115,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,32,32,60,111,
98,106,101,99,116,32,99,108,97,115,115,61,34,119,120,66,105,116,109,97,
112,34,32,110,97,109,101,61,34,114,101,102,114,101,115,104,105,99,111,110,
34,62,71,68,67,111,114,101,68,105,97,108,111,103,115,95,100,105,97,108,
111,103,115,95,98,105,116,109,97,112,115,46,99,112,112,36,46,46,95,46,46,
95,46,46,95,46,46,95,66,105,110,97,114,105,101,115,95,79,117,116,112,117,
116,95,82,101,108,101,97,115,101,95,87,105,110,100,111,119,115,95,114,101,
115,95,114,101,102,114,101,115,104,105,99,111,110,46,112,110,103,60,47,
111,98,106,101,99,116,62,10,32,32,60,111,98,106,101,99,116,32,99,108,97,
115,115,61,34,119,120,66,105,116,109,97,112,34,32,110,97,109,101,61,34,
117,112,49,54,34,62,71,68,67,111,114,101,68,105,97,108,111,103,115,95,100,
105,97,108,111,103,115,95,98,105,116,109,97,112,115,46,99,112,112,36,46,
46,95,46,46,95,46,46,95,46,46,95,66,105,110,97,114,105,101,115,95,79,117,
116,112,117,116,95,82,101,108,101,97,115,101,95,87,105,110,100,111,119,
115,95,114,101,115,95,105,99,111,110,115,95,100,101,102,97,117,108,116,
95,117,112,49,54,46,112,110,103,60,47,111,98,106,101,99,116,62,10,60,47,
114,101,115,111,117,114,99,101,62,10};
void wxC629BInitBitmapResources()
{
@@ -290,6 +256,6 @@ void wxC629BInitBitmapResources()
XRC_ADD_FILE(wxT("XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$.._.._.._.._Binaries_Output_Release_Windows_res_icons_default_properties16.png"), xml_res_file_4, xml_res_size_4, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$.._.._.._.._Binaries_Output_Release_Windows_res_refreshicon.png"), xml_res_file_5, xml_res_size_5, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$.._.._.._.._Binaries_Output_Release_Windows_res_icons_default_up16.png"), xml_res_file_6, xml_res_size_6, wxT("image/png"));
XRC_ADD_FILE(wxT("XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$D__Florian_Programmation_GameDevelop3_Core_GDCore_IDE_Dialogs_GDCoreDialogs_dialogs_bitmaps.xrc"), xml_res_file_7, xml_res_size_7, wxT("text/xml"));
wxXmlResource::Get()->Load(wxT("memory:XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$D__Florian_Programmation_GameDevelop3_Core_GDCore_IDE_Dialogs_GDCoreDialogs_dialogs_bitmaps.xrc"));
XRC_ADD_FILE(wxT("XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$_Users_florian_Projects_F_GD_Core_GDCore_IDE_Dialogs_GDCoreDialogs_dialogs_bitmaps.xrc"), xml_res_file_7, xml_res_size_7, wxT("text/xml"));
wxXmlResource::Get()->Load(wxT("memory:XRC_resource/GDCoreDialogs_dialogs_bitmaps.cpp$_Users_florian_Projects_F_GD_Core_GDCore_IDE_Dialogs_GDCoreDialogs_dialogs_bitmaps.xrc"));
}

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<object class="wxBitmap" name="add16">..\..\..\..\Binaries\Output\Release_Windows\res\icons_default\add16.png</object>
<object class="wxBitmap" name="delete16">..\..\..\..\Binaries\Output\Release_Windows\res\icons_default\delete16.png</object>
<object class="wxBitmap" name="down16">..\..\..\..\Binaries\Output\Release_Windows\res\icons_default\down16.png</object>
<object class="wxBitmap" name="help16">..\..\..\..\Binaries\Output\Release_Windows\res\icons_default\help16.png</object>
<object class="wxBitmap" name="properties16">..\..\..\..\Binaries\Output\Release_Windows\res\icons_default\properties16.png</object>
<object class="wxBitmap" name="refreshicon">..\..\..\..\Binaries\Output\Release_Windows\res\refreshicon.png</object>
<object class="wxBitmap" name="up16">..\..\..\..\Binaries\Output\Release_Windows\res\icons_default\up16.png</object>
<resource xmlns="http://www.wxwidgets.org/wxxrc">
<object class="wxBitmap" name="add16">../../../../Binaries/Output/Release_Windows/res/icons_default/add16.png</object>
<object class="wxBitmap" name="delete16">../../../../Binaries/Output/Release_Windows/res/icons_default/delete16.png</object>
<object class="wxBitmap" name="down16">../../../../Binaries/Output/Release_Windows/res/icons_default/down16.png</object>
<object class="wxBitmap" name="help16">../../../../Binaries/Output/Release_Windows/res/icons_default/help16.png</object>
<object class="wxBitmap" name="properties16">../../../../Binaries/Output/Release_Windows/res/icons_default/properties16.png</object>
<object class="wxBitmap" name="refreshicon">../../../../Binaries/Output/Release_Windows/res/refreshicon.png</object>
<object class="wxBitmap" name="up16">../../../../Binaries/Output/Release_Windows/res/icons_default/up16.png</object>
</resource>

View File

@@ -60,6 +60,7 @@ namespace gd
Project::Project() :
#if defined(GD_IDE_ONLY)
name(_("Project")),
packageName("com.example.gamename"),
#endif
windowWidth(800),
windowHeight(600),
@@ -530,6 +531,7 @@ void Project::UnserializeFrom(const SerializerElement & element)
SetVerticalSyncActivatedByDefault(propElement.GetChild("verticalSync").GetValue().GetInt());
#if defined(GD_IDE_ONLY)
SetAuthor(propElement.GetChild("author", 0, "Auteur").GetValue().GetString());
SetPackageName(propElement.GetStringAttribute("packageName"));
SetLastCompilationDirectory(propElement.GetChild("latestCompilationDirectory", 0, "LatestCompilationDirectory").GetValue().GetString());
winExecutableFilename = propElement.GetStringAttribute("winExecutableFilename");
winExecutableIconFile = propElement.GetStringAttribute("winExecutableIconFile");
@@ -882,6 +884,7 @@ void Project::SerializeTo(SerializerElement & element) const
propElement.AddChild("maxFPS").SetValue(GetMaximumFPS());
propElement.AddChild("minFPS").SetValue(GetMinimumFPS());
propElement.AddChild("verticalSync").SetValue(IsVerticalSynchronizationEnabledByDefault());
propElement.SetAttribute("packageName", packageName);
propElement.SetAttribute("winExecutableFilename", winExecutableFilename);
propElement.SetAttribute("winExecutableIconFile", winExecutableIconFile);
propElement.SetAttribute("linuxExecutableFilename", linuxExecutableFilename);
@@ -1090,6 +1093,7 @@ void Project::PopulatePropertyGrid(wxPropertyGrid * grid)
{
grid->Append( new wxPropertyCategory(_("Properties")) );
grid->Append( new wxStringProperty(_("Name of the project"), wxPG_LABEL, GetName()) );
grid->Append( new wxStringProperty(_("Package name"), wxPG_LABEL, GetPackageName()) );
grid->Append( new wxStringProperty(_("Author"), wxPG_LABEL, GetAuthor()) );
grid->Append( new wxStringProperty(_("Globals variables"), wxPG_LABEL, _("Click to edit...")) );
grid->Append( new wxStringProperty(_("Extensions"), wxPG_LABEL, _("Click to edit...")) );
@@ -1130,6 +1134,8 @@ void Project::UpdateFromPropertyGrid(wxPropertyGrid * grid)
SetName(grid->GetProperty(_("Name of the project"))->GetValueAsString());
if ( grid->GetProperty(_("Author")) != NULL)
SetAuthor(grid->GetProperty(_("Author"))->GetValueAsString());
if ( grid->GetProperty(_("Package name")) != NULL)
SetPackageName(grid->GetProperty(_("Package name"))->GetValueAsString());
if ( grid->GetProperty(_("Width")) != NULL)
SetDefaultWidth(grid->GetProperty(_("Width"))->GetValue().GetInteger());
if ( grid->GetProperty(_("Height")) != NULL)
@@ -1208,6 +1214,7 @@ void Project::Init(const gd::Project & game)
#if defined(GD_IDE_ONLY)
author = game.author;
packageName = game.packageName;
latestCompilationDirectory = game.latestCompilationDirectory;
objectGroups = game.objectGroups;

View File

@@ -54,25 +54,35 @@ public:
///@{
/**
* Change project name
* \brief Change project name
*/
void SetName(const gd::String & name_) { name = name_; };
/**
* Get project name
* \brief Get project name
*/
const gd::String & GetName() const {return name;}
const gd::String & GetName() const { return name; }
#if defined(GD_IDE_ONLY)
/**
* Must change the name of the project with the name passed as parameter.
* \brief Change the author of the project.
*/
void SetAuthor(const gd::String & author_) { author = author_; };
/**
* Return the name of the project.
* \brief Get project author name.
*/
const gd::String & GetAuthor() const {return author;}
const gd::String & GetAuthor() const { return author; }
/**
* \brief Change project package name.
*/
void SetPackageName(const gd::String & packageName_) { packageName = packageName_; };
/**
* \brief Get project package name.
*/
const gd::String & GetPackageName() const { return packageName; }
/**
* Called when project file has changed.
@@ -748,6 +758,7 @@ private:
std::vector < std::shared_ptr<gd::SourceFile> > externalSourceFiles; ///< List of external source files used.
std::vector<ObjectGroup> objectGroups; ///< Global objects groups
gd::String author; ///< Game author name
gd::String packageName; ///< Game package name
gd::String gameFile; ///< File of the game
gd::String latestCompilationDirectory; ///< File of the game
gd::Platform* currentPlatform; ///< The platform being used to edit the project.

View File

@@ -21,7 +21,7 @@ MouseExtension::MouseExtension()
SetExtensionInformation("BuiltinMouse",
_("Mouse features"),
_("Built-in extensions allowing to use the mouse"),
_("Built-in extension allowing to use the mouse"),
"Florian Rival",
"Open source (MIT License)");

View File

@@ -4,22 +4,22 @@
* This project is released under the MIT License.
*/
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#include "IntelXDKPackageDialog.h"
#include "CordovaPackageDialog.h"
#include "GDCore/Tools/Localization.h"
IntelXDKPackageDialog::IntelXDKPackageDialog(wxWindow* parent, wxString packageLocation)
: BaseIntelXDKPackageDialog(parent)
CordovaPackageDialog::CordovaPackageDialog(wxWindow* parent, wxString packageLocation)
: BaseCordovaPackageDialog(parent)
{
ID_HYPERLINKCTRL117->SetURL(_("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials/howtouseintelxdk"));
packageLocationEdit->SetValue(packageLocation);
}
IntelXDKPackageDialog::~IntelXDKPackageDialog()
CordovaPackageDialog::~CordovaPackageDialog()
{
}
void IntelXDKPackageDialog::OnCloseClicked(wxCommandEvent& event)
void CordovaPackageDialog::OnCloseClicked(wxCommandEvent& event)
{
EndModal(0);
}
#endif
#endif

View File

@@ -4,17 +4,17 @@
* This project is released under the MIT License.
*/
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#ifndef INTELXDKPACKAGEDIALOG_H
#define INTELXDKPACKAGEDIALOG_H
#ifndef CORDOVAPACKAGEDIALOG_H
#define CORDOVAPACKAGEDIALOG_H
#include "GDJSDialogs.h"
class IntelXDKPackageDialog : public BaseIntelXDKPackageDialog
class CordovaPackageDialog : public BaseCordovaPackageDialog
{
public:
IntelXDKPackageDialog(wxWindow* parent, wxString packageLocation);
virtual ~IntelXDKPackageDialog();
CordovaPackageDialog(wxWindow* parent, wxString packageLocation);
virtual ~CordovaPackageDialog();
protected:
virtual void OnCloseClicked(wxCommandEvent& event);
};
#endif // INTELXDKPACKAGEDIALOG_H
#endif
#endif // CORDOVAPACKAGEDIALOG_H
#endif

View File

@@ -22,245 +22,268 @@ BaseProjectExportDialog::BaseProjectExportDialog(wxWindow* parent, wxWindowID id
wxCB65InitBitmapResources();
bBitmapLoaded = true;
}
wxFlexGridSizer* flexGridSizer33 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer33->SetFlexibleDirection( wxBOTH );
flexGridSizer33->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer33->AddGrowableCol(0);
flexGridSizer33->AddGrowableRow(0);
this->SetSizer(flexGridSizer33);
m_staticText59 = new wxStaticText(this, wxID_ANY, _("Choose where do you want to export the game:"), wxDefaultPosition, wxSize(-1,-1), 0);
m_staticText59 = new wxStaticText(this, wxID_ANY, _("Choose how to export the game:"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer33->Add(m_staticText59, 0, wxALL, 5);
exportChoice = new wxChoicebook(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxBK_DEFAULT);
exportChoice->SetName(wxT("exportChoice"));
flexGridSizer33->Add(exportChoice, 0, wxALL, 5);
m_panel61 = new wxPanel(exportChoice, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
exportChoice->AddPage(m_panel61, _("Export to a website"), false);
wxFlexGridSizer* flexGridSizer34 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer34->SetFlexibleDirection( wxBOTH );
flexGridSizer34->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer34->AddGrowableCol(0);
m_panel61->SetSizer(flexGridSizer34);
wxFlexGridSizer* flexGridSizer35 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer35->SetFlexibleDirection( wxBOTH );
flexGridSizer35->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer35->AddGrowableCol(0);
flexGridSizer35->AddGrowableRow(0);
flexGridSizer34->Add(flexGridSizer35, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
wxFlexGridSizer* flexGridSizer36 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer36->SetFlexibleDirection( wxBOTH );
flexGridSizer36->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer36->AddGrowableCol(1);
flexGridSizer35->Add(flexGridSizer36, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
ID_STATICTEXT4 = new wxStaticText(m_panel61, wxID_ANY, _("Export folder:"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer36->Add(ID_STATICTEXT4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
wxFlexGridSizer* flexGridSizer38 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer38->SetFlexibleDirection( wxBOTH );
flexGridSizer38->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer38->AddGrowableCol(0);
flexGridSizer38->AddGrowableRow(0);
flexGridSizer36->Add(flexGridSizer38, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
exportFolderEdit = new wxTextCtrl(m_panel61, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
#if wxVERSION_NUMBER >= 3000
exportFolderEdit->SetHint(wxT(""));
#endif
flexGridSizer38->Add(exportFolderEdit, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
browseBt = new wxButton(m_panel61, wxID_ANY, _("..."), wxDefaultPosition, wxSize(30,-1), 0);
flexGridSizer38->Add(browseBt, 1, wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
flexGridSizer36->Add(4, 9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
wxFlexGridSizer* flexGridSizer152 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer152->SetFlexibleDirection( wxBOTH );
flexGridSizer152->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer36->Add(flexGridSizer152, 1, wxALL|wxEXPAND, 5);
minifyCheck = new wxCheckBox(m_panel61, wxID_ANY, _("Minify and optimize"), wxDefaultPosition, wxSize(-1,-1), 0);
minifyCheck->SetValue(true);
flexGridSizer152->Add(minifyCheck, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
nodejsLink = new wxHyperlinkCtrl(m_panel61, wxID_ANY, _("(Node.js is required)"), wxT("http://nodejs.org/"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
nodejsLink->SetNormalColour(wxColour(wxT("#0000FF")));
nodejsLink->SetHoverColour(wxColour(wxT("#0000FF")));
nodejsLink->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer152->Add(nodejsLink, 0, wxALL, 5);
ID_STATICTEXT2 = new wxStaticText(m_panel61, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer34->Add(ID_STATICTEXT2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
ID_STATICTEXT1 = new wxStaticText(m_panel61, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer34->Add(ID_STATICTEXT1, 1, wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
wxStaticBoxSizer* staticBoxSizer45 = new wxStaticBoxSizer( new wxStaticBox(m_panel61, wxID_ANY, _("Note")), wxVERTICAL);
flexGridSizer34->Add(staticBoxSizer45, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
wxFlexGridSizer* flexGridSizer46 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer46->SetFlexibleDirection( wxBOTH );
flexGridSizer46->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
staticBoxSizer45->Add(flexGridSizer46, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
ID_STATICTEXT3 = new wxStaticText(m_panel61, wxID_ANY, _("When the exportation is done, send the files to your website\n(you need a web hosting) and just go to the website to start\nthe game."), wxDefaultPosition, wxSize(-1,-1), 0);
ID_STATICTEXT3 = new wxStaticText(m_panel61, wxID_ANY, _("When the exportation is done, send the files to your website (you need a web hosting) and just go to the website to start the game."), wxDefaultPosition, wxSize(-1,-1), 0);
ID_STATICTEXT3->Wrap(450);
flexGridSizer46->Add(ID_STATICTEXT3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ID_HYPERLINKCTRL2 = new wxHyperlinkCtrl(m_panel61, wxID_ANY, _("Click here to learn more about how to export your project"), wxT("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials/howtodistribute"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
ID_HYPERLINKCTRL2->SetNormalColour(wxColour(wxT("#0000FF")));
ID_HYPERLINKCTRL2->SetHoverColour(wxColour(wxT("#0000FF")));
ID_HYPERLINKCTRL2->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer46->Add(ID_HYPERLINKCTRL2, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
m_panel118 = new wxPanel(exportChoice, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
exportChoice->AddPage(m_panel118, _("Export to iOS or Android (with Intel XDK)"), false);
exportChoice->AddPage(m_panel118, _("Export to iOS or Android with Cordova (Intel XDK)"), false);
wxFlexGridSizer* flexGridSizer5511 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer5511->SetFlexibleDirection( wxBOTH );
flexGridSizer5511->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer5511->AddGrowableCol(0);
flexGridSizer5511->AddGrowableRow(1);
m_panel118->SetSizer(flexGridSizer5511);
cocoonjslogoPanel22 = new wxPanel(m_panel118, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL|wxBORDER_SIMPLE);
cocoonjslogoPanel22->SetBackgroundColour(wxColour(wxT("rgb(51,16,69)")));
flexGridSizer5511->Add(cocoonjslogoPanel22, 0, wxALL|wxALIGN_CENTER, 0);
wxFlexGridSizer* flexGridSizer6333 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer6333->SetFlexibleDirection( wxBOTH );
flexGridSizer6333->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
cocoonjslogoPanel22->SetSizer(flexGridSizer6333);
m_staticBitmap5744 = new wxStaticBitmap(cocoonjslogoPanel22, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("intelxdklogo")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer6333->Add(m_staticBitmap5744, 0, wxALL, 0);
m_staticText6555 = new wxStaticText(m_panel118, wxID_ANY, _("Intel XDK is a technology that helps HTML5 developers\npublish their web-based games and apps for iOS,\nAndroid and other devices and web stores."), wxDefaultPosition, wxSize(-1,-1), wxALIGN_CENTRE);
m_staticText6555 = new wxStaticText(m_panel118, wxID_ANY, _("Cordova is a technology that enables HTML5 games to\nbe packaged for iOS, Android and more. Third-party tools\nlike Intel XDK allow game developers to bundle their games\nusing Cordova."), wxDefaultPosition, wxSize(-1,-1), wxALIGN_CENTRE);
flexGridSizer5511->Add(m_staticText6555, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_TOP, 10);
wxStaticBoxSizer* staticBoxSizer1126 = new wxStaticBoxSizer( new wxStaticBox(m_panel118, wxID_ANY, _("Note")), wxVERTICAL);
flexGridSizer5511->Add(staticBoxSizer1126, 1, wxALL|wxEXPAND, 5);
wxFlexGridSizer* flexGridSizer1147 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer1147->SetFlexibleDirection( wxBOTH );
flexGridSizer1147->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer1147->AddGrowableCol(0);
staticBoxSizer1126->Add(flexGridSizer1147, 1, wxALL|wxEXPAND, 0);
m_staticText6768 = new wxStaticText(m_panel118, wxID_ANY, _("Just click on the \"Export\" button and GDevelop will\npackage your game.\nYou'll then be able to import the project into Intel XDK,\nwhich will allows you to compile the game into an\niOS and Android application."), wxDefaultPosition, wxSize(-1,-1), wxALIGN_LEFT);
m_staticText6768 = new wxStaticText(m_panel118, wxID_ANY, _("Just click on the \"Export\" button and GDevelop will package your game.\nYou'll then be able to import the project into Intel XDK (or any other Cordova compatible tool), which will allow you to compile the game into an iOS and Android application."), wxDefaultPosition, wxSize(-1,-1), wxALIGN_LEFT);
m_staticText6768->Wrap(450);
flexGridSizer1147->Add(m_staticText6768, 0, wxALL|wxEXPAND|wxALIGN_CENTER|wxALIGN_LEFT, 5);
m_panel71 = new wxPanel(exportChoice, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL);
exportChoice->AddPage(m_panel71, _("Mobile and web stores using CocoonJS (Experimental)"), false);
wxFlexGridSizer* flexGridSizer551 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer551->SetFlexibleDirection( wxBOTH );
flexGridSizer551->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer551->AddGrowableCol(0);
flexGridSizer551->AddGrowableRow(1);
m_panel71->SetSizer(flexGridSizer551);
cocoonjslogoPanel2 = new wxPanel(m_panel71, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL|wxBORDER_SIMPLE);
cocoonjslogoPanel2->SetBackgroundColour(wxColour(wxT("rgb(51,16,69)")));
flexGridSizer551->Add(cocoonjslogoPanel2, 0, wxALL|wxALIGN_CENTER, 0);
wxFlexGridSizer* flexGridSizer633 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer633->SetFlexibleDirection( wxBOTH );
flexGridSizer633->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
cocoonjslogoPanel2->SetSizer(flexGridSizer633);
m_staticBitmap574 = new wxStaticBitmap(cocoonjslogoPanel2, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("cocoonjslogo")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer633->Add(m_staticBitmap574, 0, wxALL, 0);
m_staticText655 = new wxStaticText(m_panel71, wxID_ANY, _("CocoonJS is a technology that helps HTML5 developers\npublish their web-based games and apps in the most\nimportant mobile and web stores."), wxDefaultPosition, wxSize(-1,-1), wxALIGN_CENTRE);
flexGridSizer551->Add(m_staticText655, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_TOP, 10);
wxStaticBoxSizer* staticBoxSizer112 = new wxStaticBoxSizer( new wxStaticBox(m_panel71, wxID_ANY, _("Note")), wxVERTICAL);
flexGridSizer551->Add(staticBoxSizer112, 1, wxALL|wxEXPAND, 5);
wxFlexGridSizer* flexGridSizer114 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer114->SetFlexibleDirection( wxBOTH );
flexGridSizer114->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer114->AddGrowableCol(0);
staticBoxSizer112->Add(flexGridSizer114, 1, wxALL|wxEXPAND, 0);
m_staticText676 = new wxStaticText(m_panel71, wxID_ANY, _("Just click on the \"Export\" button and GDevelop will\npackage your game in a single zip file.\nYou'll then be able to upload this file on the cloud compiler\nat cloud.ludei.com, which will allows you to compile\nthe game into an iOS/Android app."), wxDefaultPosition, wxSize(-1,-1), wxALIGN_LEFT);
flexGridSizer114->Add(m_staticText676, 0, wxALL|wxEXPAND|wxALIGN_CENTER|wxALIGN_LEFT, 5);
wxFlexGridSizer* flexGridSizer50 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer50->SetFlexibleDirection( wxBOTH );
flexGridSizer50->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer50->AddGrowableCol(0);
flexGridSizer33->Add(flexGridSizer50, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
wxFlexGridSizer* flexGridSizer51 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer51->SetFlexibleDirection( wxBOTH );
flexGridSizer51->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer51->AddGrowableRow(0);
flexGridSizer50->Add(flexGridSizer51, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
ID_STATICBITMAP2 = new wxStaticBitmap(this, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("helpicon")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer51->Add(ID_STATICBITMAP2, 1, wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ID_HYPERLINKCTRL1 = new wxHyperlinkCtrl(this, wxID_ANY, _("Help"), wxT("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials/howtodistribute"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
ID_HYPERLINKCTRL1->SetToolTip(_("Display help about this window"));
ID_HYPERLINKCTRL1->SetNormalColour(wxColour(wxT("#0000FF")));
ID_HYPERLINKCTRL1->SetHoverColour(wxColour(wxT("#0000FF")));
ID_HYPERLINKCTRL1->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer51->Add(ID_HYPERLINKCTRL1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
closeBt = new wxButton(this, wxID_ANY, _("Close"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer50->Add(closeBt, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
exportBt = new wxButton(this, wxID_ANY, _("Export"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer50->Add(exportBt, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(exportChoice)){
wxPersistenceManager::Get().RegisterAndRestore(exportChoice);
} else {
wxPersistenceManager::Get().Restore(exportChoice);
}
#endif
SetName(wxT("BaseProjectExportDialog"));
SetSizeHints(-1,-1);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(this)) {
wxPersistenceManager::Get().RegisterAndRestore(this);
} else {
wxPersistenceManager::Get().Restore(this);
}
#endif
// Connect events
browseBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseProjectExportDialog::OnBrowseBtClick), NULL, this);
closeBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseProjectExportDialog::OnCloseBtClicked), NULL, this);
exportBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseProjectExportDialog::OnExportBtClicked), NULL, this);
}
BaseProjectExportDialog::~BaseProjectExportDialog()
@@ -268,7 +291,7 @@ BaseProjectExportDialog::~BaseProjectExportDialog()
browseBt->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseProjectExportDialog::OnBrowseBtClick), NULL, this);
closeBt->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseProjectExportDialog::OnCloseBtClicked), NULL, this);
exportBt->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseProjectExportDialog::OnExportBtClicked), NULL, this);
}
BaseCocoonJSUploadDialog::BaseCocoonJSUploadDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
@@ -280,83 +303,94 @@ BaseCocoonJSUploadDialog::BaseCocoonJSUploadDialog(wxWindow* parent, wxWindowID
wxCB65InitBitmapResources();
bBitmapLoaded = true;
}
wxFlexGridSizer* flexGridSizer87 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer87->SetFlexibleDirection( wxBOTH );
flexGridSizer87->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer87->AddGrowableCol(0);
flexGridSizer87->AddGrowableRow(0);
this->SetSizer(flexGridSizer87);
cocoonjslogoPanel27 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL|wxBORDER_SIMPLE);
cocoonjslogoPanel27->SetBackgroundColour(wxColour(wxT("rgb(51,16,69)")));
flexGridSizer87->Add(cocoonjslogoPanel27, 0, wxALL|wxALIGN_CENTER, 5);
wxFlexGridSizer* flexGridSizer6338 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer6338->SetFlexibleDirection( wxBOTH );
flexGridSizer6338->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
cocoonjslogoPanel27->SetSizer(flexGridSizer6338);
m_staticBitmap5749 = new wxStaticBitmap(cocoonjslogoPanel27, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("cocoonjslogo")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer6338->Add(m_staticBitmap5749, 0, wxALL, 0);
m_staticText101 = new wxStaticText(this, wxID_ANY, _("You can now go on the Ludei's cloud compiler:"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer87->Add(m_staticText101, 0, wxALL, 5);
m_hyperLink104 = new wxHyperlinkCtrl(this, wxID_ANY, _("cloud.ludei.com"), wxT("https://cloud.ludei.com"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
m_hyperLink104->SetNormalColour(wxColour(wxT("#0000FF")));
m_hyperLink104->SetHoverColour(wxColour(wxT("#0000FF")));
m_hyperLink104->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer87->Add(m_hyperLink104, 0, wxALL|wxALIGN_CENTER, 5);
wxFlexGridSizer* flexGridSizer1910 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer1910->SetFlexibleDirection( wxBOTH );
flexGridSizer1910->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer1910->AddGrowableCol(0);
flexGridSizer1910->AddGrowableRow(0);
flexGridSizer87->Add(flexGridSizer1910, 1, wxALL|wxEXPAND, 0);
m_staticText15111 = new wxStaticText(this, wxID_ANY, _("The file to be uploaded was saved at this location on your computer:"), wxDefaultPosition, wxSize(-1,-1), 0);
m_staticText15111->Wrap(700);
flexGridSizer1910->Add(m_staticText15111, 0, wxALL, 5);
packageLocationEdit = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_READONLY);
#if wxVERSION_NUMBER >= 3000
packageLocationEdit->SetHint(wxT(""));
#endif
flexGridSizer1910->Add(packageLocationEdit, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND, 5);
m_staticText106 = new wxStaticText(this, wxID_ANY, _("On the cloud compiler, create a new project, add some required assets (splash\nscreens...) and upload this file. You'll then be able to compile the game for\nmost popular mobile phones and web stores."), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer87->Add(m_staticText106, 0, wxALL, 5);
m_button108 = new wxButton(this, wxID_ANY, _("Close"), wxDefaultPosition, wxSize(-1,-1), 0);
m_button108->SetDefault();
m_button108->SetToolTip(_("Close this dialog"));
flexGridSizer87->Add(m_button108, 0, wxALL|wxALIGN_RIGHT, 5);
SetName(wxT("BaseCocoonJSUploadDialog"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(this)) {
wxPersistenceManager::Get().RegisterAndRestore(this);
} else {
wxPersistenceManager::Get().Restore(this);
}
#endif
// Connect events
m_button108->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseCocoonJSUploadDialog::OnCloseBtClicked), NULL, this);
}
BaseCocoonJSUploadDialog::~BaseCocoonJSUploadDialog()
{
m_button108->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseCocoonJSUploadDialog::OnCloseBtClicked), NULL, this);
}
BaseIntelXDKPackageDialog::BaseIntelXDKPackageDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
BaseCordovaPackageDialog::BaseCordovaPackageDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
: wxDialog(parent, id, title, pos, size, style)
{
if ( !bBitmapLoaded ) {
@@ -365,107 +399,118 @@ BaseIntelXDKPackageDialog::BaseIntelXDKPackageDialog(wxWindow* parent, wxWindowI
wxCB65InitBitmapResources();
bBitmapLoaded = true;
}
wxFlexGridSizer* flexGridSizer873 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer873->SetFlexibleDirection( wxBOTH );
flexGridSizer873->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer873->AddGrowableCol(0);
flexGridSizer873->AddGrowableRow(0);
this->SetSizer(flexGridSizer873);
cocoonjslogoPanel274 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL|wxBORDER_SIMPLE);
cocoonjslogoPanel274->SetBackgroundColour(wxColour(wxT("rgb(51,16,69)")));
flexGridSizer873->Add(cocoonjslogoPanel274, 0, wxALL|wxALIGN_CENTER, 5);
wxFlexGridSizer* flexGridSizer63385 = new wxFlexGridSizer(0, 2, 0, 0);
flexGridSizer63385->SetFlexibleDirection( wxBOTH );
flexGridSizer63385->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
cocoonjslogoPanel274->SetSizer(flexGridSizer63385);
m_staticBitmap57496 = new wxStaticBitmap(cocoonjslogoPanel274, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("intelxdklogo")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer63385->Add(m_staticBitmap57496, 0, wxALL, 0);
m_staticText1017 = new wxStaticText(this, wxID_ANY, _("You can now open Intel XDK. Download it here if it is not installed yet:"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer873->Add(m_staticText1017, 0, wxALL, 5);
m_hyperLink1048 = new wxHyperlinkCtrl(this, wxID_ANY, _("xdk-software.intel.com"), wxT("http://xdk-software.intel.com"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
m_hyperLink1048->SetNormalColour(wxColour(wxT("#0000FF")));
m_hyperLink1048->SetHoverColour(wxColour(wxT("#0000FF")));
m_hyperLink1048->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer873->Add(m_hyperLink1048, 0, wxALL|wxALIGN_CENTER, 5);
wxFlexGridSizer* flexGridSizer19109 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer19109->SetFlexibleDirection( wxBOTH );
flexGridSizer19109->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer19109->AddGrowableCol(0);
flexGridSizer19109->AddGrowableRow(0);
flexGridSizer873->Add(flexGridSizer19109, 1, wxALL|wxEXPAND, 0);
m_staticText1511110 = new wxStaticText(this, wxID_ANY, _("Then, open the project which was saved at this location on your computer:"), wxDefaultPosition, wxSize(-1,-1), 0);
m_staticText1511110 = new wxStaticText(this, wxID_ANY, _("Then, import the project which was saved at this location on your computer:"), wxDefaultPosition, wxSize(-1,-1), 0);
m_staticText1511110->Wrap(480);
flexGridSizer19109->Add(m_staticText1511110, 0, wxALL, 5);
packageLocationEdit = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), wxTE_READONLY);
#if wxVERSION_NUMBER >= 3000
packageLocationEdit->SetHint(wxT(""));
#endif
flexGridSizer19109->Add(packageLocationEdit, 0, wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND, 5);
m_staticText10611 = new wxStaticText(this, wxID_ANY, _("In the \"Build\" tab, select \"Android\" or \"Crosswalk for Android\".\nFill in all the fields and XDK will be able to package your game into a native Android or iOS application."), wxDefaultPosition, wxSize(-1,-1), 0);
m_staticText10611 = new wxStaticText(this, wxID_ANY, _("Activate any Cordova plugin that may be required by the objects\nyou use in the project.\nIn the \"Build\" tab, select \"Crosswalk for Android\" or \"iOS\".\nXDK will be able to package your game into a native Android or iOS application."), wxDefaultPosition, wxSize(-1,-1), 0);
m_staticText10611->Wrap(480);
flexGridSizer873->Add(m_staticText10611, 0, wxALL, 5);
wxFlexGridSizer* flexGridSizer5014 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer5014->SetFlexibleDirection( wxBOTH );
flexGridSizer5014->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer5014->AddGrowableCol(0);
flexGridSizer873->Add(flexGridSizer5014, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
wxFlexGridSizer* flexGridSizer5115 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer5115->SetFlexibleDirection( wxBOTH );
flexGridSizer5115->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer5115->AddGrowableRow(0);
flexGridSizer5014->Add(flexGridSizer5115, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
ID_STATICBITMAP216 = new wxStaticBitmap(this, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("helpicon")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer5115->Add(ID_STATICBITMAP216, 1, wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
ID_HYPERLINKCTRL117 = new wxHyperlinkCtrl(this, wxID_ANY, _("Detailed explanation available on the wiki"), wxT("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials/howtouseintelxdk"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
ID_HYPERLINKCTRL117->SetToolTip(_("Display help about this window"));
ID_HYPERLINKCTRL117->SetNormalColour(wxColour(wxT("#0000FF")));
ID_HYPERLINKCTRL117->SetHoverColour(wxColour(wxT("#0000FF")));
ID_HYPERLINKCTRL117->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer5115->Add(ID_HYPERLINKCTRL117, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
m_button10812 = new wxButton(this, wxID_ANY, _("Close"), wxDefaultPosition, wxSize(-1,-1), 0);
m_button10812->SetDefault();
m_button10812->SetToolTip(_("Close this dialog"));
flexGridSizer5014->Add(m_button10812, 0, wxALL|wxALIGN_RIGHT, 5);
SetName(wxT("BaseCordovaPackageDialog"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(this)) {
wxPersistenceManager::Get().RegisterAndRestore(this);
} else {
wxPersistenceManager::Get().Restore(this);
}
#endif
// Connect events
m_button10812->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseIntelXDKPackageDialog::OnCloseClicked), NULL, this);
m_button10812->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseCordovaPackageDialog::OnCloseClicked), NULL, this);
}
BaseIntelXDKPackageDialog::~BaseIntelXDKPackageDialog()
BaseCordovaPackageDialog::~BaseCordovaPackageDialog()
{
m_button10812->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseIntelXDKPackageDialog::OnCloseClicked), NULL, this);
m_button10812->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseCordovaPackageDialog::OnCloseClicked), NULL, this);
}
BaseJsCodeEventDialog::BaseJsCodeEventDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
@@ -477,22 +522,22 @@ BaseJsCodeEventDialog::BaseJsCodeEventDialog(wxWindow* parent, wxWindowID id, co
wxCB65InitBitmapResources();
bBitmapLoaded = true;
}
wxFlexGridSizer* flexGridSizer160 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer160->SetFlexibleDirection( wxBOTH );
flexGridSizer160->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer160->AddGrowableCol(0);
flexGridSizer160->AddGrowableRow(0);
this->SetSizer(flexGridSizer160);
wxFlexGridSizer* flexGridSizer162 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer162->SetFlexibleDirection( wxBOTH );
flexGridSizer162->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer162->AddGrowableCol(0);
flexGridSizer162->AddGrowableRow(0);
flexGridSizer160->Add(flexGridSizer162, 1, wxALL|wxEXPAND, 0);
codeEdit = new wxStyledTextCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), 0);
codeEdit->SetFocus();
// Configure the fold margin
@@ -500,7 +545,7 @@ BaseJsCodeEventDialog::BaseJsCodeEventDialog(wxWindow* parent, wxWindowID id, co
codeEdit->SetMarginMask (4, wxSTC_MASK_FOLDERS);
codeEdit->SetMarginSensitive(4, true);
codeEdit->SetMarginWidth (4, 16);
codeEdit->SetProperty(wxT("fold"),wxT("1"));
codeEdit->MarkerDefine(wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_ARROWDOWN);
codeEdit->MarkerDefine(wxSTC_MARKNUM_FOLDER, wxSTC_MARK_ARROW);
@@ -511,18 +556,18 @@ BaseJsCodeEventDialog::BaseJsCodeEventDialog(wxWindow* parent, wxWindowID id, co
codeEdit->MarkerDefine(wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_BACKGROUND);
// Configure the tracker margin
codeEdit->SetMarginWidth(1, 0);
// Configure the symbol margin
codeEdit->SetMarginType (2, wxSTC_MARGIN_SYMBOL);
codeEdit->SetMarginMask (2, ~(wxSTC_MASK_FOLDERS));
codeEdit->SetMarginWidth(2, 0);
codeEdit->SetMarginSensitive(2, true);
// Configure the line numbers margin
int codeEdit_PixelWidth = 4 + 5 *codeEdit->TextWidth(wxSTC_STYLE_LINENUMBER, wxT("9"));
codeEdit->SetMarginType(0, wxSTC_MARGIN_NUMBER);
codeEdit->SetMarginWidth(0,codeEdit_PixelWidth);
// Configure the line symbol margin
codeEdit->SetMarginType(3, wxSTC_MARGIN_FORE);
codeEdit->SetMarginMask(3, 0);
@@ -538,76 +583,87 @@ BaseJsCodeEventDialog::BaseJsCodeEventDialog(wxWindow* parent, wxWindowID id, co
codeEdit->SetKeyWords(2, wxT(""));
codeEdit->SetKeyWords(3, wxT(""));
codeEdit->SetKeyWords(4, wxT(""));
flexGridSizer162->Add(codeEdit, 0, wxALL|wxEXPAND, 5);
wxFlexGridSizer* flexGridSizer178 = new wxFlexGridSizer(0, 1, 0, 0);
flexGridSizer178->SetFlexibleDirection( wxBOTH );
flexGridSizer178->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer178->AddGrowableCol(0);
flexGridSizer162->Add(flexGridSizer178, 1, wxALL|wxEXPAND, 0);
m_staticText180 = new wxStaticText(this, wxID_ANY, _("The scene can be accessed using 'runtimeScene' variable."), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer178->Add(m_staticText180, 0, wxALL, 5);
wxFlexGridSizer* flexGridSizer182 = new wxFlexGridSizer(0, 3, 0, 0);
flexGridSizer182->SetFlexibleDirection( wxBOTH );
flexGridSizer182->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer182->AddGrowableCol(1);
flexGridSizer178->Add(flexGridSizer182, 1, wxALL|wxEXPAND, 0);
m_staticText184 = new wxStaticText(this, wxID_ANY, _("Pick these objects into 'objects' variable:"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer182->Add(m_staticText184, 0, wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
objectsEdit = new wxTextCtrl(this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0);
#if wxVERSION_NUMBER >= 3000
objectsEdit->SetHint(wxT(""));
#endif
flexGridSizer182->Add(objectsEdit, 0, wxALL|wxEXPAND, 5);
m_bmpButton188 = new wxBitmapButton(this, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("object16")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW);
flexGridSizer182->Add(m_bmpButton188, 0, wxALL, 5);
wxFlexGridSizer* flexGridSizer164 = new wxFlexGridSizer(1, 4, 0, 0);
flexGridSizer164->SetFlexibleDirection( wxBOTH );
flexGridSizer164->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
flexGridSizer164->AddGrowableCol(1);
flexGridSizer160->Add(flexGridSizer164, 1, wxALL|wxEXPAND, 0);
m_staticBitmap190 = new wxStaticBitmap(this, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("help16")), wxDefaultPosition, wxSize(-1,-1), 0 );
flexGridSizer164->Add(m_staticBitmap190, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
m_hyperLink170 = new wxHyperlinkCtrl(this, wxID_ANY, _("Help"), wxT("http://wiki.compilgames.net/doku.php/en/game_develop/tutorials/usingjsevents"), wxDefaultPosition, wxSize(-1,-1), wxHL_DEFAULT_STYLE);
m_hyperLink170->SetNormalColour(wxColour(wxT("#0000FF")));
m_hyperLink170->SetHoverColour(wxColour(wxT("#0000FF")));
m_hyperLink170->SetVisitedColour(wxColour(wxT("#FF0000")));
flexGridSizer164->Add(m_hyperLink170, 0, wxRIGHT|wxTOP|wxBOTTOM, 5);
cancelBt = new wxButton(this, wxID_ANY, _("Cancel"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer164->Add(cancelBt, 0, wxALL, 5);
okBt = new wxButton(this, wxID_ANY, _("Ok"), wxDefaultPosition, wxSize(-1,-1), 0);
flexGridSizer164->Add(okBt, 0, wxALL, 5);
SetName(wxT("BaseJsCodeEventDialog"));
SetSizeHints(500,300);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
#if wxVERSION_NUMBER >= 2900
if(!wxPersistenceManager::Get().Find(this)) {
wxPersistenceManager::Get().RegisterAndRestore(this);
} else {
wxPersistenceManager::Get().Restore(this);
}
#endif
// Connect events
m_bmpButton188->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseJsCodeEventDialog::onObjectsButtonClick), NULL, this);
m_hyperLink170->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseJsCodeEventDialog::onHelpBtClick), NULL, this);
cancelBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseJsCodeEventDialog::onCancelBtClick), NULL, this);
okBt->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseJsCodeEventDialog::onOkBtClick), NULL, this);
}
BaseJsCodeEventDialog::~BaseJsCodeEventDialog()
@@ -616,5 +672,5 @@ BaseJsCodeEventDialog::~BaseJsCodeEventDialog()
m_hyperLink170->Disconnect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseJsCodeEventDialog::onHelpBtClick), NULL, this);
cancelBt->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseJsCodeEventDialog::onCancelBtClick), NULL, this);
okBt->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BaseJsCodeEventDialog::onOkBtClick), NULL, this);
}

View File

@@ -4,8 +4,8 @@
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
#ifndef GDJS_BASE_CLASSES_H
#define GDJS_BASE_CLASSES_H
#ifndef GDJS_WXSMITH_GDJS_BASE_CLASSES_H
#define GDJS_WXSMITH_GDJS_BASE_CLASSES_H
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
@@ -26,6 +26,12 @@
#include <wx/statbmp.h>
#include <wx/stc/stc.h>
#include <wx/bmpbuttn.h>
#if wxVERSION_NUMBER >= 2900
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/persist/bookctrl.h>
#include <wx/persist/treebook.h>
#endif
class BaseProjectExportDialog : public wxDialog
{
@@ -63,6 +69,32 @@ protected:
virtual void OnExportBtClicked(wxCommandEvent& event) { event.Skip(); }
public:
wxStaticText* GetStaticText59() { return m_staticText59; }
wxStaticText* GetID_STATICTEXT4() { return ID_STATICTEXT4; }
wxTextCtrl* GetExportFolderEdit() { return exportFolderEdit; }
wxButton* GetBrowseBt() { return browseBt; }
wxCheckBox* GetMinifyCheck() { return minifyCheck; }
wxHyperlinkCtrl* GetNodejsLink() { return nodejsLink; }
wxStaticText* GetID_STATICTEXT2() { return ID_STATICTEXT2; }
wxStaticText* GetID_STATICTEXT1() { return ID_STATICTEXT1; }
wxStaticText* GetID_STATICTEXT3() { return ID_STATICTEXT3; }
wxHyperlinkCtrl* GetID_HYPERLINKCTRL2() { return ID_HYPERLINKCTRL2; }
wxPanel* GetPanel61() { return m_panel61; }
wxStaticBitmap* GetStaticBitmap5744() { return m_staticBitmap5744; }
wxPanel* GetCocoonjslogoPanel22() { return cocoonjslogoPanel22; }
wxStaticText* GetStaticText6555() { return m_staticText6555; }
wxStaticText* GetStaticText6768() { return m_staticText6768; }
wxPanel* GetPanel118() { return m_panel118; }
wxStaticBitmap* GetStaticBitmap574() { return m_staticBitmap574; }
wxPanel* GetCocoonjslogoPanel2() { return cocoonjslogoPanel2; }
wxStaticText* GetStaticText655() { return m_staticText655; }
wxStaticText* GetStaticText676() { return m_staticText676; }
wxPanel* GetPanel71() { return m_panel71; }
wxChoicebook* GetExportChoice() { return exportChoice; }
wxStaticBitmap* GetID_STATICBITMAP2() { return ID_STATICBITMAP2; }
wxHyperlinkCtrl* GetID_HYPERLINKCTRL1() { return ID_HYPERLINKCTRL1; }
wxButton* GetCloseBt() { return closeBt; }
wxButton* GetExportBt() { return exportBt; }
BaseProjectExportDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Export the project"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(-1,-1), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~BaseProjectExportDialog();
};
@@ -84,12 +116,20 @@ protected:
virtual void OnCloseBtClicked(wxCommandEvent& event) { event.Skip(); }
public:
wxStaticBitmap* GetStaticBitmap5749() { return m_staticBitmap5749; }
wxPanel* GetCocoonjslogoPanel27() { return cocoonjslogoPanel27; }
wxStaticText* GetStaticText101() { return m_staticText101; }
wxHyperlinkCtrl* GetHyperLink104() { return m_hyperLink104; }
wxStaticText* GetStaticText15111() { return m_staticText15111; }
wxTextCtrl* GetPackageLocationEdit() { return packageLocationEdit; }
wxStaticText* GetStaticText106() { return m_staticText106; }
wxButton* GetButton108() { return m_button108; }
BaseCocoonJSUploadDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Upload the packaged game to CocoonJS cloud compiler"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~BaseCocoonJSUploadDialog();
};
class BaseIntelXDKPackageDialog : public wxDialog
class BaseCordovaPackageDialog : public wxDialog
{
protected:
wxPanel* cocoonjslogoPanel274;
@@ -107,8 +147,18 @@ protected:
virtual void OnCloseClicked(wxCommandEvent& event) { event.Skip(); }
public:
BaseIntelXDKPackageDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Package the game with Intel XDK"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~BaseIntelXDKPackageDialog();
wxStaticBitmap* GetStaticBitmap57496() { return m_staticBitmap57496; }
wxPanel* GetCocoonjslogoPanel274() { return cocoonjslogoPanel274; }
wxStaticText* GetStaticText1017() { return m_staticText1017; }
wxHyperlinkCtrl* GetHyperLink1048() { return m_hyperLink1048; }
wxStaticText* GetStaticText1511110() { return m_staticText1511110; }
wxTextCtrl* GetPackageLocationEdit() { return packageLocationEdit; }
wxStaticText* GetStaticText10611() { return m_staticText10611; }
wxStaticBitmap* GetID_STATICBITMAP216() { return ID_STATICBITMAP216; }
wxHyperlinkCtrl* GetID_HYPERLINKCTRL117() { return ID_HYPERLINKCTRL117; }
wxButton* GetButton10812() { return m_button10812; }
BaseCordovaPackageDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Package the game for Cordova (Intel XDK)"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxDEFAULT_DIALOG_STYLE);
virtual ~BaseCordovaPackageDialog();
};
@@ -132,6 +182,15 @@ protected:
virtual void onOkBtClick(wxCommandEvent& event) { event.Skip(); }
public:
wxStyledTextCtrl* GetCodeEdit() { return codeEdit; }
wxStaticText* GetStaticText180() { return m_staticText180; }
wxStaticText* GetStaticText184() { return m_staticText184; }
wxTextCtrl* GetObjectsEdit() { return objectsEdit; }
wxBitmapButton* GetBmpButton188() { return m_bmpButton188; }
wxStaticBitmap* GetStaticBitmap190() { return m_staticBitmap190; }
wxHyperlinkCtrl* GetHyperLink170() { return m_hyperLink170; }
wxButton* GetCancelBt() { return cancelBt; }
wxButton* GetOkBt() { return okBt; }
BaseJsCodeEventDialog(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Edit the Javascript code"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500,300), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxMAXIMIZE_BOX);
virtual ~BaseJsCodeEventDialog();
};

File diff suppressed because it is too large Load Diff

View File

@@ -57,7 +57,7 @@ ProjectExportDialog::ExportType ProjectExportDialog::GetExportType()
switch(exportChoice->GetSelection())
{
case 1:
return IntelXDK;
return Cordova;
case 2:
return CocoonJS;
default:

View File

@@ -29,7 +29,7 @@ public:
enum ExportType
{
Normal,
IntelXDK,
Cordova,
CocoonJS
};

View File

@@ -35,7 +35,7 @@
#include "GDJS/EventsCodeGenerator.h"
#include "GDJS/Dialogs/ProjectExportDialog.h"
#include "GDJS/Dialogs/CocoonJSUploadDialog.h"
#include "GDJS/Dialogs/IntelXDKPackageDialog.h"
#include "GDJS/Dialogs/CordovaPackageDialog.h"
#undef CopyFile //Disable an annoying macro
namespace gdjs
@@ -80,7 +80,6 @@ bool Exporter::ExportLayoutForPreview(gd::Project & project, gd::Layout & layout
gd::Project exportedProject = project;
//Export resources (*before* generating events as some resources filenames may be updated)
ExportResources(fs, exportedProject, exportDir);
//Generate events code
@@ -107,7 +106,8 @@ bool Exporter::ExportLayoutForPreview(gd::Project & project, gd::Layout & layout
ExportIncludesAndLibs(includesFiles, exportDir, false);
//Create the index file
if ( !ExportStandardIndexFile(exportedProject, exportDir, includesFiles) ) return false;
if (!ExportIndexFile("./JsPlatform/Runtime/index.html", exportDir, includesFiles))
return false;
return true;
}
@@ -130,10 +130,9 @@ gd::String Exporter::ExportToJSON(gd::AbstractFileSystem &fs, const gd::Project
return "";
}
bool Exporter::ExportStandardIndexFile(gd::Project & project, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec)
bool Exporter::ExportIndexFile(gd::String source, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec)
{
//Open the index.html template
gd::String str = fs.ReadFile("./JsPlatform/Runtime/index.html");
gd::String str = fs.ReadFile(source);
//Generate custom declarations for font resources
gd::String customCss;
@@ -141,11 +140,11 @@ bool Exporter::ExportStandardIndexFile(gd::Project & project, gd::String exportD
GenerateFontsDeclaration(fs, exportDir, customCss, customHtml);
//Generate the file
if ( !CompleteIndexFile(str, customCss, customHtml, exportDir, includesFiles, additionalSpec) )
if (!CompleteIndexFile(str, customCss, customHtml, exportDir, includesFiles, additionalSpec))
return false;
//Write the index.html file
if ( !fs.WriteToFile(exportDir+"/index.html", str) )
if (!fs.WriteToFile(exportDir + "/index.html", str))
{
lastError = "Unable to write index file.";
return false;
@@ -154,72 +153,37 @@ bool Exporter::ExportStandardIndexFile(gd::Project & project, gd::String exportD
return true;
}
bool Exporter::ExportIntelXDKIndexFile(gd::Project & project, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec)
bool Exporter::ExportCordovaConfigFile(const gd::Project & project, gd::String exportDir)
{
#if !defined(GD_NO_WX_GUI)
//Open the index.html template
gd::String str = fs.ReadFile("./JsPlatform/Runtime/Cordova/config.xml");
size_t pos = str.find("GDJS_PROJECTNAME");
if ( pos < str.length() )
str = str.replace(pos, 16, project.GetName());
else
{
//Open the index.html template
gd::String str = fs.ReadFile("./JsPlatform/Runtime/CordovaIndex.html");
//Generate custom declarations for font resources
gd::String customCss;
gd::String customHtml;
GenerateFontsDeclaration(fs, exportDir, customCss, customHtml);
//Generate the file
if ( !CompleteIndexFile(str, customCss, customHtml, exportDir, includesFiles, additionalSpec) )
return false;
//Write the index.html file
if ( !fs.WriteToFile(exportDir+"/index.html", str) )
{
lastError = "Unable to write index file.";
return false;
}
std::cout << "Unable to find GDJS_PROJECTNAME in config.xml file." << std::endl;
lastError = "Unable to find GDJS_PROJECTNAME in config.xml file.";
return false;
}
pos = str.find("GDJS_PACKAGENAME");
if ( pos < str.length() )
str = str.replace(pos, 16, project.GetPackageName());
else
{
//Open the XDK project file template
gd::String str = fs.ReadFile("./JsPlatform/Runtime/XDKProject.xdk");
//Complete the project file
gd::String nowTimeStamp = gd::String::From(wxDateTime::Now().GetTicks()) +
"000"; //Beware, timestamp is in ms.
size_t pos = str.find("\"GDJS_LAST_MODIFIED\"");
if ( pos < str.length() )
str = str.replace(pos, 20, nowTimeStamp);
else
{
std::cout << "Unable to find \"GDJS_LAST_MODIFIED\" in the project file." << std::endl;
lastError = "Unable to find \"GDJS_LAST_MODIFIED\" in the project file.";
return false;
}
pos = str.find("\"GDJS_CREATION\"");
if ( pos < str.length() )
str = str.replace(pos, 15, nowTimeStamp);
else
{
std::cout << "Unable to find \"GDJS_CREATION\" in the project file." << std::endl;
lastError = "Unable to find \"GDJS_CREATION\" in the project file.";
return false;
}
//Write the file
if (!fs.WriteToFile(exportDir+"/XDKProject.xdk", str))
{
lastError = "Unable to write the intel XDK project file.";
return false;
}
std::cout << "Unable to find GDJS_PACKAGENAME in config.xml file." << std::endl;
lastError = "Unable to find GDJS_PACKAGENAME in config.xml file.";
return false;
}
//Write the index.html file
if (!fs.WriteToFile(exportDir + "/config.xml", str))
{
if ( !fs.CopyFile("./JsPlatform/Runtime/XDKProject.xdke", exportDir+"/XDKProject.xdke") )
{
lastError = "Unable to write the intel XDK second project file.";
return false;
}
lastError = "Unable to write configuration file.";
return false;
}
#else
std::cout << "BAD USE: ExportIntelXDKIndexFile is not available." << std::endl;
#endif
return true;
}
@@ -482,20 +446,20 @@ void Exporter::ShowProjectExportDialog(gd::Project & project)
if ( dialog.ShowModal() != 1 ) return;
bool exportForCocoonJS = dialog.GetExportType() == ProjectExportDialog::CocoonJS;
bool exportForIntelXDK = dialog.GetExportType() == ProjectExportDialog::IntelXDK;
bool exportForCordova = dialog.GetExportType() == ProjectExportDialog::Cordova;
ExportWholeProject(project, dialog.GetExportDir(), dialog.RequestMinify(),
exportForCocoonJS, exportForIntelXDK);
exportForCocoonJS, exportForCordova);
#else
gd::LogError("BAD USE: Exporter::ShowProjectExportDialog is not available.");
#endif
}
bool Exporter::ExportWholeProject(gd::Project & project, gd::String exportDir,
bool minify, bool exportForCocoonJS, bool exportForIntelXDK)
bool minify, bool exportForCocoonJS, bool exportForCordova)
{
bool exportToZipFile = exportForCocoonJS;
auto exportProject = [this, &project, &minify,
&exportForCocoonJS, &exportForCordova](gd::String exportDir)
{
#if !defined(GD_NO_WX_GUI)
wxProgressDialog progressDialog(_("Export in progress ( 1/2 )"), _("Exporting the project..."));
@@ -516,7 +480,7 @@ bool Exporter::ExportWholeProject(gd::Project & project, gd::String exportDir,
gd::Project exportedProject = project;
//Export the resources ( before generating events as some resources filenames may be updated )
//Export the resources (before generating events as some resources filenames may be updated)
#if !defined(GD_NO_WX_GUI)
ExportResources(fs, exportedProject, exportDir, &progressDialog);
#else
@@ -565,18 +529,19 @@ bool Exporter::ExportWholeProject(gd::Project & project, gd::String exportDir,
//Copy all dependencies and the index (or metadata) file.
gd::String additionalSpec = exportForCocoonJS ? "{forceFullscreen:true}" : "";
ExportIncludesAndLibs(includesFiles, exportDir, minify);
bool indexFile = false;
if (exportForIntelXDK) indexFile = ExportIntelXDKIndexFile(exportedProject, exportDir, includesFiles, additionalSpec);
else indexFile = ExportStandardIndexFile(exportedProject, exportDir, includesFiles, additionalSpec);
if ( !indexFile)
gd::String source = exportForCordova ?
"./JsPlatform/Runtime/Cordova/www/index.html" :
"./JsPlatform/Runtime/index.html";
if (!ExportIndexFile(source, exportDir, includesFiles, additionalSpec))
{
gd::LogError(_("Error during export:\n")+lastError);
gd::LogError(_("Error during export:\n") + lastError);
return false;
}
//Exporting for online upload requires to zip the whole game.
if ( exportToZipFile )
if (exportForCocoonJS)
{
#if !defined(GD_NO_WX_GUI)
progressDialog.Update(90, _("Creating the zip file..."));
@@ -614,6 +579,23 @@ bool Exporter::ExportWholeProject(gd::Project & project, gd::String exportDir,
gd::LogError("BAD USE: Trying to export to a zip file, but this feature is not available when wxWidgets support is disabled.");
#endif
}
return true;
};
if (exportForCordova)
{
//Prepare the export directory
fs.MkDir(exportDir);
fs.ClearDir(exportDir);
if (!ExportCordovaConfigFile(project, exportDir))
return false;
if (!exportProject(exportDir + "/www"))
return false;
} else {
if (!exportProject(exportDir))
return false;
}
//Finished!
@@ -623,9 +605,9 @@ bool Exporter::ExportWholeProject(gd::Project & project, gd::String exportDir,
CocoonJSUploadDialog uploadDialog(NULL, exportDir+wxString(wxFileName::GetPathSeparator())+"packaged_game.zip");
uploadDialog.ShowModal();
}
else if ( exportForIntelXDK )
else if ( exportForCordova )
{
IntelXDKPackageDialog packageDialog(NULL, exportDir);
CordovaPackageDialog packageDialog(NULL, exportDir);
packageDialog.ShowModal();
}
else

View File

@@ -53,7 +53,7 @@ public:
* Called by ShowProjectExportDialog if the user clicked on Ok.
*/
bool ExportWholeProject(gd::Project & project, gd::String exportDir,
bool minify, bool exportForCocoonJS, bool exportForIntelXDK);
bool minify, bool exportForCocoonJS, bool exportForCordova);
/**
* \brief Return the error that occurred during the last export.
@@ -122,11 +122,11 @@ private:
* \brief Copy the external source files used by the game into the export directory, and add them into files
* to be included.
*
* Files are named "ext-codeX.js", X being the number of the layout in the project.
* Files are named "ext-codeX.js", X being the index of the external source file in the project.
* \param project The project with resources to be exported.
* \param outputDir The directory where the events code must be generated.
* \param includesFiles A reference to a vector that will be filled with JS files to be exported along with the project.
* ( including "ext-codeX.js" files ).
* (including "ext-codeX.js" files).
*/
bool ExportExternalSourceFiles(gd::Project & project, gd::String outputDir, std::vector<gd::String> & includesFiles);
@@ -136,23 +136,12 @@ private:
* The includes files must be relative to the export directory.
*
* \param project The project with layouts to be exported.
* \param source The file to be used as a template for the final file.
* \param exportDir The directory where the preview must be created.
* \param includesFiles The JS files to be included in the HTML file. Order is important.
* \param additionalSpec JSON string that will be passed to the gdjs.RuntimeGame object.
*/
bool ExportStandardIndexFile(gd::Project & project, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec = "");
/**
* \brief Generate the standard index file for use with Intel XDK and save it to the export directory.
*
* The includes files must be relative to the export directory.
*
* \param project The project with layouts to be exported.
* \param exportDir The directory where the project must be generated.
* \param includesFiles The JS files to be included in the HTML file. Order is important.
* \param additionalSpec JSON string that will be passed to the gdjs.RuntimeGame object.
*/
bool ExportIntelXDKIndexFile(gd::Project & project, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec = "");
bool ExportIndexFile(gd::String source, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec = "");
/**
* \brief Replace the annotations in a index.html file by the specified content.
@@ -166,6 +155,14 @@ private:
*/
bool CompleteIndexFile(gd::String & indexFileContent, gd::String customCss, gd::String customHtml, gd::String exportDir, const std::vector<gd::String> & includesFiles, gd::String additionalSpec);
/**
* \brief Generate the Cordova configuration file and save it to the export directory.
*
* \param project The project to be used to generate the configuration file.
* \param exportDir The directory where the config.xml must be created.
*/
bool ExportCordovaConfigFile(const gd::Project & project, gd::String exportDir);
gd::AbstractFileSystem & fs; ///< The abstract file system to be used for exportation.
gd::String lastError; ///< The last error that occurred.
};

View File

@@ -0,0 +1,20 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="GDJS_PACKAGENAME" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>GDJS_PROJECTNAME</name>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" version="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>

View File

@@ -1,31 +0,0 @@
{
"project": {
"projectSettingsVersion": "1.0",
"creationData": {
"type": "Project generated with GDevelop",
"src": "blankProject",
"projectGuid": "dd064cd4-572e-4f60-a73f-3773451b24ad",
"lastModifiedDate": "GDJS_LAST_MODIFIED",
"creationDate": "GDJS_CREATION"
},
"projectFiles": {},
"projectDirectories": {},
"libraries": [
{
"name": "Cordova",
"version": "2.9.0",
"data": {
"default": true
}
},
{
"name": "intelXDK",
"version": "4.0.0",
"data": {
"default": true
}
}
],
"services": []
}
}

View File

@@ -1,6 +0,0 @@
{
"project": {
"projectFiles": {},
"projectDirectories": {}
}
}

View File

@@ -71,6 +71,10 @@
"type": "string",
"m_label": "Style:",
"m_value": ""
}, {
"type": "bool",
"m_label": "Enable Window Persistency:",
"m_value": true
}, {
"type": "string",
"m_label": "Title:",
@@ -127,6 +131,10 @@
"m_styles": [],
"m_sizerFlags": [],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer33"
@@ -227,7 +235,7 @@
}, {
"type": "multi-string",
"m_label": "Label:",
"m_value": "Choose where do you want to export the game:"
"m_value": "Choose how to export the game:"
}, {
"type": "string",
"m_label": "Wrap:",
@@ -388,6 +396,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer34"
@@ -430,6 +442,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer35"
@@ -472,6 +488,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer36"
@@ -589,6 +609,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer38"
@@ -690,6 +714,10 @@
"type": "string",
"m_label": "Value:",
"m_value": ""
}, {
"type": "string",
"m_label": "Text Hint",
"m_value": ""
}, {
"type": "string",
"m_label": "Max Length:",
@@ -781,6 +809,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -824,6 +857,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer152"
@@ -1181,6 +1218,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "staticBoxSizer45"
@@ -1208,6 +1249,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer46"
@@ -1308,11 +1353,11 @@
}, {
"type": "multi-string",
"m_label": "Label:",
"m_value": "When the exportation is done, send the files to your website\\n(you need a web hosting) and just go to the website to start\\nthe game."
"m_value": "When the exportation is done, send the files to your website (you need a web hosting) and just go to the website to start the game."
}, {
"type": "string",
"m_label": "Wrap:",
"m_value": "-1"
"m_value": "450"
}],
"m_events": [],
"m_children": []
@@ -1474,7 +1519,7 @@
}, {
"type": "string",
"m_label": "Label:",
"m_value": "Export to iOS or Android (with Intel XDK)"
"m_value": "Export to iOS or Android with Cordova (Intel XDK)"
}, {
"type": "bool",
"m_label": "Selected",
@@ -1494,6 +1539,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer5511"
@@ -1602,6 +1651,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer6333"
@@ -1775,7 +1828,7 @@
}, {
"type": "multi-string",
"m_label": "Label:",
"m_value": "Intel XDK is a technology that helps HTML5 developers\\npublish their web-based games and apps for iOS,\\nAndroid and other devices and web stores."
"m_value": "Cordova is a technology that enables HTML5 games to\\nbe packaged for iOS, Android and more. Third-party tools\\nlike Intel XDK allow game developers to bundle their games\\nusing Cordova."
}, {
"type": "string",
"m_label": "Wrap:",
@@ -1792,6 +1845,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "staticBoxSizer1126"
@@ -1819,6 +1876,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer1147"
@@ -1919,11 +1980,11 @@
}, {
"type": "multi-string",
"m_label": "Label:",
"m_value": "Just click on the \"Export\" button and GDevelop will\\npackage your game.\\nYou'll then be able to import the project into Intel XDK,\\nwhich will allows you to compile the game into an\\niOS and Android application."
"m_value": "Just click on the \"Export\" button and GDevelop will package your game.\\nYou'll then be able to import the project into Intel XDK (or any other Cordova compatible tool), which will allow you to compile the game into an iOS and Android application."
}, {
"type": "string",
"m_label": "Wrap:",
"m_value": "-1"
"m_value": "450"
}],
"m_events": [],
"m_children": []
@@ -2018,6 +2079,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer551"
@@ -2126,6 +2191,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer633"
@@ -2316,6 +2385,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "staticBoxSizer112"
@@ -2343,6 +2416,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer114"
@@ -2465,6 +2542,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer50"
@@ -2507,6 +2588,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_LEFT", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer51"
@@ -2775,6 +2860,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -2865,6 +2955,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -2942,6 +3037,10 @@
"type": "string",
"m_label": "Style:",
"m_value": ""
}, {
"type": "bool",
"m_label": "Enable Window Persistency:",
"m_value": true
}, {
"type": "string",
"m_label": "Title:",
@@ -2998,6 +3097,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer87"
@@ -3106,6 +3209,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer6338"
@@ -3383,6 +3490,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer1910"
@@ -3559,6 +3670,10 @@
"type": "string",
"m_label": "Value:",
"m_value": ""
}, {
"type": "string",
"m_label": "Text Hint",
"m_value": ""
}, {
"type": "string",
"m_label": "Max Length:",
@@ -3726,6 +3841,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -3761,7 +3881,7 @@
}, {
"type": "string",
"m_label": "Name:",
"m_value": "BaseIntelXDKPackageDialog"
"m_value": "BaseCordovaPackageDialog"
}, {
"type": "multi-string",
"m_label": "Tooltip:",
@@ -3802,10 +3922,14 @@
"type": "string",
"m_label": "Style:",
"m_value": ""
}, {
"type": "bool",
"m_label": "Enable Window Persistency:",
"m_value": true
}, {
"type": "string",
"m_label": "Title:",
"m_value": "Package the game with Intel XDK"
"m_value": "Package the game for Cordova (Intel XDK)"
}, {
"type": "virtualFolderPicker",
"m_label": "Virtual Folder:",
@@ -3818,11 +3942,11 @@
}, {
"type": "string",
"m_label": "Inherited Class",
"m_value": "IntelXDKPackageDialog"
"m_value": "CordovaPackageDialog"
}, {
"type": "string",
"m_label": "File:",
"m_value": "IntelXDKPackageDialog"
"m_value": "CordovaPackageDialog"
}, {
"type": "string",
"m_label": "Class Decorator",
@@ -3858,6 +3982,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer873"
@@ -3966,6 +4094,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer63385"
@@ -4243,6 +4375,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer19109"
@@ -4343,7 +4479,7 @@
}, {
"type": "multi-string",
"m_label": "Label:",
"m_value": "Then, open the project which was saved at this location on your computer:"
"m_value": "Then, import the project which was saved at this location on your computer:"
}, {
"type": "string",
"m_label": "Wrap:",
@@ -4419,6 +4555,10 @@
"type": "string",
"m_label": "Value:",
"m_value": ""
}, {
"type": "string",
"m_label": "Text Hint",
"m_value": ""
}, {
"type": "string",
"m_label": "Max Length:",
@@ -4502,7 +4642,7 @@
}, {
"type": "multi-string",
"m_label": "Label:",
"m_value": "In the \"Build\" tab, select \"Android\" or \"Crosswalk for Android\".\\nFill in all the fields and XDK will be able to package your game into a native Android or iOS application."
"m_value": "Activate any Cordova plugin that may be required by the objects\\nyou use in the project.\\nIn the \"Build\" tab, select \"Crosswalk for Android\" or \"iOS\".\\nXDK will be able to package your game into a native Android or iOS application."
}, {
"type": "string",
"m_label": "Wrap:",
@@ -4519,6 +4659,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer5014"
@@ -4561,6 +4705,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_LEFT", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer5115"
@@ -4829,6 +4977,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -4906,6 +5059,10 @@
"type": "string",
"m_label": "Style:",
"m_value": ""
}, {
"type": "bool",
"m_label": "Enable Window Persistency:",
"m_value": true
}, {
"type": "string",
"m_label": "Title:",
@@ -4962,6 +5119,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer160"
@@ -5004,6 +5165,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer162"
@@ -5165,6 +5330,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer178"
@@ -5282,6 +5451,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer182"
@@ -5458,6 +5631,10 @@
"type": "string",
"m_label": "Value:",
"m_value": ""
}, {
"type": "string",
"m_label": "Text Hint",
"m_value": ""
}, {
"type": "string",
"m_label": "Max Length:",
@@ -5567,6 +5744,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer164"
@@ -5841,6 +6022,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -5931,6 +6117,11 @@
"type": "bitmapPicker",
"m_label": "Bitmap File:",
"m_path": ""
}, {
"type": "choice",
"m_label": "Direction",
"m_selection": 0,
"m_options": ["wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"]
}, {
"type": "string",
"m_label": "Margins:",
@@ -5949,4 +6140,4 @@
}]
}]
}]
}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<resource xmlns="http://www.wxwidgets.org/wxxrc">
<object class="wxBitmap" name="cocoonjslogo">../../Binaries/Output/Release_Windows/res/cocoonjslogo.png</object>
<object class="wxBitmap" name="help16">../../Binaries/Output/Release_Windows/res/icons_default/help16.png</object>
<object class="wxBitmap" name="helpicon">../../Binaries/Output/Release_Windows/res/helpicon.png</object>

View File

@@ -107,6 +107,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer3"
@@ -149,6 +153,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "logoSizer"
@@ -338,6 +346,10 @@
"m_styles": [],
"m_sizerFlags": ["wxLEFT", "wxRIGHT", "wxTOP", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_CENTER_VERTICAL"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "centerSizer"
@@ -380,6 +392,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "gettingstartedSizer"
@@ -422,6 +438,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer82"
@@ -611,6 +631,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer21"
@@ -916,6 +940,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "latestProjectsSizer"
@@ -958,6 +986,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer85"
@@ -1147,6 +1179,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer21410"
@@ -1473,6 +1509,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "communitySizer"
@@ -1515,6 +1555,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer91"
@@ -1704,6 +1748,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer214"
@@ -2009,6 +2057,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "newsSizer"
@@ -2051,6 +2103,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer88"
@@ -2299,6 +2355,10 @@
"type": "string",
"m_label": "Value:",
"m_value": ""
}, {
"type": "string",
"m_label": "Text Hint",
"m_value": ""
}, {
"type": "string",
"m_label": "Max Length:",
@@ -2323,6 +2383,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxEXPAND"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "flexGridSizer77"
@@ -2542,6 +2606,10 @@
"m_styles": [],
"m_sizerFlags": ["wxALL", "wxLEFT", "wxRIGHT", "wxTOP", "wxBOTTOM", "wxALIGN_CENTER_HORIZONTAL", "wxALIGN_BOTTOM"],
"m_properties": [{
"type": "string",
"m_label": "Minimum Size:",
"m_value": "-1,-1"
}, {
"type": "string",
"m_label": "Name:",
"m_value": "bottomSizer"

View File

@@ -287,11 +287,12 @@ BaseStartHerePage::BaseStartHerePage(wxWindow* parent, wxWindowID id, const wxPo
bottomSizer->Add(m_hyperLink572, 0, wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5);
SetBackgroundColour(wxColour(wxT("rgb(255,255,255)")));
SetName(wxT("BaseStartHerePage"));
SetSizeHints(700,500);
if ( GetSizer() ) {
GetSizer()->Fit(this);
}
Centre(wxBOTH);
CentreOnParent(wxBOTH);
// Connect events
lastProject1Bt->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject1Click), NULL, this);
lastProject2Bt->Connect(wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler(BaseStartHerePage::OnLastProject2Click), NULL, this);

View File

@@ -4,8 +4,8 @@
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////
#ifndef GDIDE_BASE_CLASSES_H
#define GDIDE_BASE_CLASSES_H
#ifndef IDE_DIALOGS_GDIDE_BASE_CLASSES_H
#define IDE_DIALOGS_GDIDE_BASE_CLASSES_H
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
@@ -17,6 +17,12 @@
#include <wx/stattext.h>
#include <wx/hyperlink.h>
#include <wx/textctrl.h>
#if wxVERSION_NUMBER >= 2900
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/persist/bookctrl.h>
#include <wx/persist/treebook.h>
#endif
class BaseStartHerePage : public wxPanel
{
@@ -57,6 +63,35 @@ protected:
virtual void OnLastProject3Click(wxHyperlinkEvent& event) { event.Skip(); }
public:
wxStaticBitmap* GetLogoBmp() { return logoBmp; }
wxStaticText* GetStaticText9() { return m_staticText9; }
wxStaticBitmap* GetGettingStartedBmp() { return gettingStartedBmp; }
wxStaticText* GetGettingStartedTxt() { return gettingStartedTxt; }
wxHyperlinkCtrl* GetHyperLink17() { return m_hyperLink17; }
wxHyperlinkCtrl* GetHyperLink231() { return m_hyperLink231; }
wxHyperlinkCtrl* GetHyperLink23() { return m_hyperLink23; }
wxStaticBitmap* GetLatestProjectsBmp() { return latestProjectsBmp; }
wxStaticText* GetLatestProjectsTxt() { return latestProjectsTxt; }
wxHyperlinkCtrl* GetLastProject1Bt() { return lastProject1Bt; }
wxHyperlinkCtrl* GetLastProject2Bt() { return lastProject2Bt; }
wxHyperlinkCtrl* GetLastProject3Bt() { return lastProject3Bt; }
wxStaticBitmap* GetCommunityBmp() { return communityBmp; }
wxStaticText* GetCommunityTxt() { return communityTxt; }
wxHyperlinkCtrl* GetHyperLink175() { return m_hyperLink175; }
wxHyperlinkCtrl* GetHyperLink2316() { return m_hyperLink2316; }
wxHyperlinkCtrl* GetHyperLink237() { return m_hyperLink237; }
wxStaticBitmap* GetNewsBmp() { return newsBmp; }
wxStaticText* GetNewsTxt() { return newsTxt; }
wxTextCtrl* GetNewsEdit() { return newsEdit; }
wxHyperlinkCtrl* GetNewsLink1() { return newsLink1; }
wxHyperlinkCtrl* GetNewsLink2() { return newsLink2; }
wxStaticText* GetStaticText53() { return m_staticText53; }
wxStaticBitmap* GetDonateBmp() { return donateBmp; }
wxHyperlinkCtrl* GetDonateLinkBt() { return donateLinkBt; }
wxStaticBitmap* GetGithubBmp() { return githubBmp; }
wxHyperlinkCtrl* GetHyperLink57() { return m_hyperLink57; }
wxStaticBitmap* GetLocaleBmp() { return localeBmp; }
wxHyperlinkCtrl* GetHyperLink572() { return m_hyperLink572; }
BaseStartHerePage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(700,500), long style = wxTAB_TRAVERSAL);
virtual ~BaseStartHerePage();
};

View File

@@ -21,14 +21,13 @@
wxMemoryFSHandler::AddFile(name, data, size)
#endif
static size_t xml_res_size_0 = 108;
static size_t xml_res_size_0 = 90;
static unsigned char xml_res_file_0[] = {
60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,
110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,62,10,60,114,101,
115,111,117,114,99,101,32,120,109,108,110,115,61,34,104,116,116,112,58,
47,47,119,119,119,46,119,120,119,105,110,100,111,119,115,46,111,114,103,
47,119,120,120,114,99,34,32,118,101,114,115,105,111,110,61,34,50,46,51,
46,48,46,49,34,47,62,10};
47,47,119,119,119,46,119,120,119,105,100,103,101,116,115,46,111,114,103,
47,119,120,120,114,99,34,47,62,10};
void wxCraftergfm8VaInitBitmapResources()
{
@@ -43,6 +42,6 @@ void wxCraftergfm8VaInitBitmapResources()
else wxFileSystem::AddHandler(new wxMemoryFSHandlerBase);
}
XRC_ADD_FILE(wxT("XRC_resource/GDIDE_dialogs_bitmaps.cpp$D__Florian_Programmation_GameDevelop3_IDE_Dialogs_GDIDE_dialogs_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
wxXmlResource::Get()->Load(wxT("memory:XRC_resource/GDIDE_dialogs_bitmaps.cpp$D__Florian_Programmation_GameDevelop3_IDE_Dialogs_GDIDE_dialogs_bitmaps.xrc"));
XRC_ADD_FILE(wxT("XRC_resource/GDIDE_dialogs_bitmaps.cpp$_Users_florian_Projects_F_GD_IDE_Dialogs_GDIDE_dialogs_bitmaps.xrc"), xml_res_file_0, xml_res_size_0, wxT("text/xml"));
wxXmlResource::Get()->Load(wxT("memory:XRC_resource/GDIDE_dialogs_bitmaps.cpp$_Users_florian_Projects_F_GD_IDE_Dialogs_GDIDE_dialogs_bitmaps.xrc"));
}

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1"/>
<resource xmlns="http://www.wxwidgets.org/wxxrc"/>

View File

@@ -5489,7 +5489,7 @@ msgstr ""
#: ../GDJS/GDJS//BuiltinExtensions/MouseExtension.cpp:24
#: ../Core/GDCore/BuiltinExtensions/MouseExtension.cpp:17
msgid "Built-in extensions allowing to use the mouse"
msgid "Built-in extension allowing to use the mouse"
msgstr ""
#: ../GDJS/GDJS//BuiltinExtensions/NetworkExtension.cpp:21
@@ -16199,7 +16199,7 @@ msgid "Keyboard features"
msgstr ""
#: ../Core/GDCore/BuiltinExtensions/KeyboardExtension.cpp:17
msgid "Built-in extensions allowing to use keyboard"
msgid "Built-in extension allowing to use keyboard"
msgstr ""
#: ../Core/GDCore/BuiltinExtensions/KeyboardExtension.cpp:23