mirror of
https://github.com/Heretek-AI/GDevelop.git
synced 2026-07-24 11:55:28 -04:00
a8559bfbbc
* Update all CMakeLists of extensions to use clang-format * Run clang-format on all Extensions * Update GDCore CMakeLists.txt to add clang-format * Run clang-format on GDCore files * Update GDJS and GDCpp CMakeLists.txt to add clang-format * Run clang-format on GDCpp and GDJS files
2907 lines
117 KiB
C++
2907 lines
117 KiB
C++
/**
|
|
|
|
GDevelop - Particle System Extension
|
|
Copyright (c) 2010-2016 Florian Rival (Florian.Rival@gmail.com)
|
|
This project is released under the MIT License.
|
|
*/
|
|
|
|
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
|
|
|
|
#include "ParticleEmitterObjectEditor.h"
|
|
|
|
//(*InternalHeaders(ParticleEmitterObjectEditor)
|
|
#include <wx/bitmap.h>
|
|
#include <wx/image.h>
|
|
#include <wx/intl.h>
|
|
#include <wx/string.h>
|
|
//*)
|
|
#include <wx/colordlg.h>
|
|
#include <wx/filedlg.h>
|
|
#include <wx/msgdlg.h>
|
|
#include "GDCore/Tools/Log.h"
|
|
|
|
#include "GDCore/IDE/Dialogs/MainFrameWrapper.h"
|
|
#include "GDCore/IDE/Dialogs/ResourcesEditor.h"
|
|
#include "GDCore/Tools/Localization.h"
|
|
#include "GDCpp/Runtime/CommonTools.h"
|
|
#include "GDCpp/Runtime/Project/Project.h"
|
|
#include "ParticleEmitterObject.h"
|
|
|
|
using namespace std;
|
|
|
|
//(*IdInit(ParticleEmitterObjectEditor)
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT7 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT9 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL9 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT10 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL10 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT32 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL13 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_BITMAPBUTTON1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON22 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON23 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT29 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL11 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT30 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL12 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT31 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CHECKBOX1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT62 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL24 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT40 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_COLOURPICKERCTRL1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT41 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_COLOURPICKERCTRL2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON6 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON5 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON4 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT13 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_SPINCTRL1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT12 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON10 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON11 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON12 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT18 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT19 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON7 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON8 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON9 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT15 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM4 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT16 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM5 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_NOTEBOOK1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON13 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON14 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT42 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM12 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT61 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM17 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT17 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM6 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM7 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON26 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON27 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT44 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL28 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT58 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT59 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL27 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT60 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT20 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL17 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL29 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON25 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_RADIOBUTTON24 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT43 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM13 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT56 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT55 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM14 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT54 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT57 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT21 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM8 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CUSTOM9 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT4 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT5 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL6 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT6 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL7 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT33 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL14 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT48 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL22 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT49 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL5 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT34 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL20 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT36 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT38 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL15 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT11 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT39 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL16 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT14 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL4 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_NOTEBOOK2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT50 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL23 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT52 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL25 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT53 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT51 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL26 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL7 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL4 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL5 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICTEXT8 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_TEXTCTRL8 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL6 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_NOTEBOOK3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_CHECKBOX2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_STATICLINE1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_BUTTON3 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_BUTTON1 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_BUTTON2 = wxNewId();
|
|
const long ParticleEmitterObjectEditor::ID_PANEL1 = wxNewId();
|
|
//*)
|
|
|
|
BEGIN_EVENT_TABLE(ParticleEmitterObjectEditor, wxDialog)
|
|
//(*EventTable(ParticleEmitterObjectEditor)
|
|
//*)
|
|
END_EVENT_TABLE()
|
|
|
|
ParticleEmitterObjectEditor::ParticleEmitterObjectEditor(
|
|
wxWindow* parent,
|
|
gd::Project& game_,
|
|
ParticleEmitterObject& object_,
|
|
gd::MainFrameWrapper& mainFrameWrapper)
|
|
: game(game_), object(object_) {
|
|
//(*Initialize(ParticleEmitterObjectEditor)
|
|
wxStaticBoxSizer* StaticBoxSizer2;
|
|
wxFlexGridSizer* FlexGridSizer4;
|
|
wxFlexGridSizer* FlexGridSizer45;
|
|
wxFlexGridSizer* FlexGridSizer59;
|
|
wxFlexGridSizer* FlexGridSizer54;
|
|
wxFlexGridSizer* FlexGridSizer16;
|
|
wxFlexGridSizer* FlexGridSizer24;
|
|
wxFlexGridSizer* FlexGridSizer19;
|
|
wxStaticBoxSizer* StaticBoxSizer12;
|
|
wxFlexGridSizer* FlexGridSizer38;
|
|
wxFlexGridSizer* FlexGridSizer23;
|
|
wxStaticBoxSizer* StaticBoxSizer15;
|
|
wxFlexGridSizer* FlexGridSizer41;
|
|
wxFlexGridSizer* FlexGridSizer51;
|
|
wxStaticBoxSizer* StaticBoxSizer14;
|
|
wxStaticBoxSizer* StaticBoxSizer4;
|
|
wxFlexGridSizer* FlexGridSizer10;
|
|
wxFlexGridSizer* FlexGridSizer3;
|
|
wxFlexGridSizer* FlexGridSizer27;
|
|
wxFlexGridSizer* FlexGridSizer44;
|
|
wxFlexGridSizer* FlexGridSizer37;
|
|
wxFlexGridSizer* FlexGridSizer5;
|
|
wxFlexGridSizer* FlexGridSizer25;
|
|
wxFlexGridSizer* FlexGridSizer22;
|
|
wxFlexGridSizer* FlexGridSizer56;
|
|
wxFlexGridSizer* FlexGridSizer9;
|
|
wxFlexGridSizer* FlexGridSizer2;
|
|
wxBoxSizer* BoxSizer2;
|
|
wxFlexGridSizer* FlexGridSizer53;
|
|
wxFlexGridSizer* FlexGridSizer7;
|
|
wxStaticBoxSizer* StaticBoxSizer7;
|
|
wxFlexGridSizer* FlexGridSizer55;
|
|
wxStaticBoxSizer* StaticBoxSizer13;
|
|
wxFlexGridSizer* FlexGridSizer57;
|
|
wxFlexGridSizer* FlexGridSizer52;
|
|
wxFlexGridSizer* FlexGridSizer34;
|
|
wxFlexGridSizer* FlexGridSizer29;
|
|
wxStaticBoxSizer* StaticBoxSizer3;
|
|
wxGridSizer* GridSizer1;
|
|
wxFlexGridSizer* FlexGridSizer49;
|
|
wxStaticBoxSizer* StaticBoxSizer6;
|
|
wxFlexGridSizer* FlexGridSizer15;
|
|
wxFlexGridSizer* FlexGridSizer18;
|
|
wxFlexGridSizer* FlexGridSizer8;
|
|
wxFlexGridSizer* FlexGridSizer21;
|
|
wxFlexGridSizer* FlexGridSizer14;
|
|
wxStaticBoxSizer* StaticBoxSizer11;
|
|
wxFlexGridSizer* FlexGridSizer20;
|
|
wxBoxSizer* BoxSizer1;
|
|
wxFlexGridSizer* FlexGridSizer50;
|
|
wxFlexGridSizer* FlexGridSizer13;
|
|
wxFlexGridSizer* FlexGridSizer35;
|
|
wxFlexGridSizer* FlexGridSizer12;
|
|
wxFlexGridSizer* FlexGridSizer36;
|
|
wxFlexGridSizer* FlexGridSizer6;
|
|
wxStaticBoxSizer* StaticBoxSizer1;
|
|
wxFlexGridSizer* FlexGridSizer46;
|
|
wxFlexGridSizer* FlexGridSizer1;
|
|
wxFlexGridSizer* FlexGridSizer33;
|
|
wxFlexGridSizer* FlexGridSizer43;
|
|
wxFlexGridSizer* FlexGridSizer11;
|
|
wxBoxSizer* BoxSizer3;
|
|
wxFlexGridSizer* FlexGridSizer17;
|
|
wxStaticBoxSizer* StaticBoxSizer5;
|
|
wxFlexGridSizer* FlexGridSizer32;
|
|
wxFlexGridSizer* FlexGridSizer31;
|
|
wxFlexGridSizer* FlexGridSizer40;
|
|
wxFlexGridSizer* FlexGridSizer39;
|
|
wxFlexGridSizer* FlexGridSizer28;
|
|
wxFlexGridSizer* FlexGridSizer26;
|
|
wxFlexGridSizer* FlexGridSizer60;
|
|
wxFlexGridSizer* FlexGridSizer30;
|
|
|
|
Create(parent,
|
|
wxID_ANY,
|
|
_("Edit the particle emitter"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER,
|
|
_T("wxID_ANY"));
|
|
FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer1->AddGrowableCol(0);
|
|
FlexGridSizer1->AddGrowableRow(0);
|
|
Core = new wxPanel(this,
|
|
ID_PANEL1,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL1"));
|
|
FlexGridSizer2 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer2->AddGrowableCol(0);
|
|
FlexGridSizer2->AddGrowableRow(1);
|
|
FlexGridSizer6 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer6->AddGrowableCol(0);
|
|
StaticBoxSizer3 = new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Rendering"));
|
|
FlexGridSizer7 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer7->AddGrowableCol(0);
|
|
FlexGridSizer10 = new wxFlexGridSizer(0, 4, 0, 0);
|
|
StaticText7 = new wxStaticText(Core,
|
|
ID_STATICTEXT7,
|
|
_("Renderering mode :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT7"));
|
|
FlexGridSizer10->Add(
|
|
StaticText7,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
pointCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON2,
|
|
_("Points"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON2"));
|
|
FlexGridSizer10->Add(
|
|
pointCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
lineCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON1,
|
|
_("Line"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON1"));
|
|
FlexGridSizer10->Add(
|
|
lineCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
quadCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON3,
|
|
_("Quad"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON3"));
|
|
FlexGridSizer10->Add(
|
|
quadCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer7->Add(
|
|
FlexGridSizer10,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer9 = new wxFlexGridSizer(0, 10, 0, 0);
|
|
rendererParam1Txt = new wxStaticText(Core,
|
|
ID_STATICTEXT9,
|
|
_("rendererParam1 :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT9"));
|
|
FlexGridSizer9->Add(
|
|
rendererParam1Txt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
rendererParam1Edit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL9,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL9"));
|
|
FlexGridSizer9->Add(
|
|
rendererParam1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
rendererParam2Txt = new wxStaticText(Core,
|
|
ID_STATICTEXT10,
|
|
_("rendererParam2 :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT10"));
|
|
FlexGridSizer9->Add(
|
|
rendererParam2Txt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
rendererParam2Edit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL10,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(-1, -1),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL10"));
|
|
FlexGridSizer9->Add(
|
|
rendererParam2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
textureTxt = new wxStaticText(Core,
|
|
ID_STATICTEXT32,
|
|
_("Image :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT32"));
|
|
FlexGridSizer9->Add(
|
|
textureTxt, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
textureEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL13,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(179, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL13"));
|
|
FlexGridSizer9->Add(
|
|
textureEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
imageChooseBt =
|
|
new wxBitmapButton(Core,
|
|
ID_BITMAPBUTTON1,
|
|
wxBitmap(wxImage(_T("res/addfromimagebanque.png"))),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxBU_AUTODRAW,
|
|
wxDefaultValidator,
|
|
_T("ID_BITMAPBUTTON1"));
|
|
FlexGridSizer9->Add(
|
|
imageChooseBt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer7->Add(
|
|
FlexGridSizer9,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer22 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
alphaRenderingCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON22,
|
|
_("Standard rendering"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON22"));
|
|
FlexGridSizer22->Add(
|
|
alphaRenderingCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
additiveRenderingCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON23,
|
|
_("Additive rendering"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON23"));
|
|
additiveRenderingCheck->SetValue(true);
|
|
FlexGridSizer22->Add(
|
|
additiveRenderingCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer7->Add(
|
|
FlexGridSizer22,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer3->Add(
|
|
FlexGridSizer7,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer6->Add(
|
|
StaticBoxSizer3,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer2->Add(
|
|
FlexGridSizer6,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer33 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer33->AddGrowableCol(0);
|
|
StaticBoxSizer4 = new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Particles"));
|
|
FlexGridSizer31 = new wxFlexGridSizer(0, 2, 0, 0);
|
|
FlexGridSizer26 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer60 = new wxFlexGridSizer(0, 7, 0, 0);
|
|
StaticText27 = new wxStaticText(Core,
|
|
ID_STATICTEXT29,
|
|
_("Lifetime : Between"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT29"));
|
|
FlexGridSizer60->Add(
|
|
StaticText27,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
lifeTimeMinEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL11,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL11"));
|
|
lifeTimeMinEdit->SetToolTip(_("Minimum lifetime"));
|
|
FlexGridSizer60->Add(
|
|
lifeTimeMinEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText28 = new wxStaticText(Core,
|
|
ID_STATICTEXT30,
|
|
_("and"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT30"));
|
|
FlexGridSizer60->Add(
|
|
StaticText28,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
lifeTimeMaxEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL12,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL12"));
|
|
lifeTimeMaxEdit->SetToolTip(_("Maximum lifetime"));
|
|
FlexGridSizer60->Add(
|
|
lifeTimeMaxEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText29 = new wxStaticText(Core,
|
|
ID_STATICTEXT31,
|
|
_("seconds"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT31"));
|
|
FlexGridSizer60->Add(StaticText29,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxRIGHT | wxALIGN_CENTER_HORIZONTAL |
|
|
wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer26->Add(
|
|
FlexGridSizer60,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer39 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer39->AddGrowableCol(2);
|
|
infiniteTankCheck = new wxCheckBox(Core,
|
|
ID_CHECKBOX1,
|
|
_("Unlimited capacity"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_CHECKBOX1"));
|
|
infiniteTankCheck->SetValue(false);
|
|
infiniteTankCheck->SetToolTip(
|
|
_("If this box is checked, the emitter will keep emit particles."));
|
|
FlexGridSizer39->Add(
|
|
infiniteTankCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText3 = new wxStaticText(Core,
|
|
ID_STATICTEXT3,
|
|
_("Capacity :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT3"));
|
|
FlexGridSizer39->Add(
|
|
StaticText3,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
tankEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL1,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL1"));
|
|
tankEdit->SetToolTip(_("Available particles number."));
|
|
FlexGridSizer39->Add(
|
|
tankEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer26->Add(
|
|
FlexGridSizer39,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer37 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer37->AddGrowableCol(1);
|
|
StaticText1 = new wxStaticText(Core,
|
|
ID_STATICTEXT1,
|
|
_("Flow :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT1"));
|
|
FlexGridSizer37->Add(
|
|
StaticText1,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
flowEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL2,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL2"));
|
|
flowEdit->SetToolTip(
|
|
_("Number of particles emitted ( by seconds ). -1 to emit everything in "
|
|
"a single shot."));
|
|
FlexGridSizer37->Add(
|
|
flowEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer26->Add(
|
|
FlexGridSizer37,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer59 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer59->AddGrowableCol(1);
|
|
StaticText59 = new wxStaticText(Core,
|
|
ID_STATICTEXT62,
|
|
_("Maximum particles number:"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT62"));
|
|
FlexGridSizer59->Add(
|
|
StaticText59,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
maxParticleNbEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL24,
|
|
_("5000"),
|
|
wxDefaultPosition,
|
|
wxSize(37, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL24"));
|
|
FlexGridSizer59->Add(
|
|
maxParticleNbEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer26->Add(
|
|
FlexGridSizer59,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer31->Add(
|
|
FlexGridSizer26,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer24 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer24->AddGrowableCol(0);
|
|
FlexGridSizer24->AddGrowableRow(0);
|
|
particleNotebook = new wxNotebook(Core,
|
|
ID_NOTEBOOK1,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_NOTEBOOK1"));
|
|
Panel2 = new wxPanel(particleNotebook,
|
|
ID_PANEL3,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL3"));
|
|
FlexGridSizer40 = new wxFlexGridSizer(0, 2, 0, 0);
|
|
FlexGridSizer40->AddGrowableCol(0);
|
|
FlexGridSizer40->AddGrowableRow(0);
|
|
StaticBoxSizer12 = new wxStaticBoxSizer(wxHORIZONTAL, Panel2, _("Color"));
|
|
FlexGridSizer43 = new wxFlexGridSizer(0, 2, 0, 0);
|
|
StaticText37 = new wxStaticText(Panel2,
|
|
ID_STATICTEXT40,
|
|
_("Initial particles color :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT40"));
|
|
FlexGridSizer43->Add(
|
|
StaticText37,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
simpleColor1Bt = new wxColourPickerCtrl(Panel2,
|
|
ID_COLOURPICKERCTRL1,
|
|
wxColour(0, 0, 0),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_COLOURPICKERCTRL1"));
|
|
FlexGridSizer43->Add(
|
|
simpleColor1Bt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText38 = new wxStaticText(Panel2,
|
|
ID_STATICTEXT41,
|
|
_("Final particles color :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT41"));
|
|
FlexGridSizer43->Add(
|
|
StaticText38,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
simpleColor2Bt = new wxColourPickerCtrl(Panel2,
|
|
ID_COLOURPICKERCTRL2,
|
|
wxColour(0, 0, 0),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_COLOURPICKERCTRL2"));
|
|
FlexGridSizer43->Add(
|
|
simpleColor2Bt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticBoxSizer12->Add(
|
|
FlexGridSizer43,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer40->Add(
|
|
StaticBoxSizer12,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
Panel2->SetSizer(FlexGridSizer40);
|
|
FlexGridSizer40->Fit(Panel2);
|
|
FlexGridSizer40->SetSizeHints(Panel2);
|
|
Panel1 = new wxPanel(particleNotebook,
|
|
ID_PANEL2,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL2"));
|
|
FlexGridSizer12 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer12->AddGrowableCol(0);
|
|
FlexGridSizer12->AddGrowableRow(0);
|
|
GridSizer1 = new wxGridSizer(0, 3, 0, 0);
|
|
StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("Red"));
|
|
FlexGridSizer13 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer13->AddGrowableCol(0);
|
|
FlexGridSizer14 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
redFixedCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON6,
|
|
_("Fixed"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON6"));
|
|
redFixedCheck->SetValue(true);
|
|
FlexGridSizer14->Add(
|
|
redFixedCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
redRandomCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON5,
|
|
_("Random"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON5"));
|
|
FlexGridSizer14->Add(
|
|
redRandomCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer13->Add(
|
|
FlexGridSizer14,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
redMutableCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON4,
|
|
_("Changing over time"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON4"));
|
|
FlexGridSizer13->Add(
|
|
redMutableCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer15 = new wxFlexGridSizer(0, 5, 0, 0);
|
|
StaticText11 = new wxStaticText(Panel1,
|
|
ID_STATICTEXT13,
|
|
_("From"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT13"));
|
|
FlexGridSizer15->Add(
|
|
StaticText11,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
red1Edit = new wxSpinCtrlDouble(Panel1,
|
|
ID_SPINCTRL1,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
0.1,
|
|
_T("ID_SPINCTRL1"));
|
|
FlexGridSizer15->Add(
|
|
red1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText10 = new wxStaticText(Panel1,
|
|
ID_STATICTEXT12,
|
|
_("to"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT12"));
|
|
FlexGridSizer15->Add(
|
|
StaticText10,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
red2Edit = new wxSpinCtrlDouble(Panel1,
|
|
ID_CUSTOM1,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
0.1,
|
|
_T("ID_CUSTOM1"));
|
|
FlexGridSizer15->Add(
|
|
red2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer13->Add(
|
|
FlexGridSizer15,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer5->Add(
|
|
FlexGridSizer13,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
GridSizer1->Add(
|
|
StaticBoxSizer5,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticBoxSizer7 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("Green"));
|
|
FlexGridSizer18 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer18->AddGrowableCol(0);
|
|
FlexGridSizer19 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
greenFixedCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON10,
|
|
_("Fixed"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON10"));
|
|
greenFixedCheck->SetValue(true);
|
|
FlexGridSizer19->Add(
|
|
greenFixedCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
greenRandomCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON11,
|
|
_("Random"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON11"));
|
|
FlexGridSizer19->Add(
|
|
greenRandomCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer18->Add(
|
|
FlexGridSizer19,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
greenMutableCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON12,
|
|
_("Changing over time"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON12"));
|
|
FlexGridSizer18->Add(
|
|
greenMutableCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer20 = new wxFlexGridSizer(0, 5, 0, 0);
|
|
StaticText16 = new wxStaticText(Panel1,
|
|
ID_STATICTEXT18,
|
|
_("From"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT18"));
|
|
FlexGridSizer20->Add(
|
|
StaticText16,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
green1Edit = new wxSpinCtrlDouble(Panel1,
|
|
ID_CUSTOM2,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
0.1,
|
|
_T("ID_CUSTOM2"));
|
|
FlexGridSizer20->Add(
|
|
green1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText17 = new wxStaticText(Panel1,
|
|
ID_STATICTEXT19,
|
|
_("to"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT19"));
|
|
FlexGridSizer20->Add(
|
|
StaticText17,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
green2Edit = new wxSpinCtrlDouble(Panel1,
|
|
ID_CUSTOM3,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
0.1,
|
|
_T("ID_CUSTOM3"));
|
|
FlexGridSizer20->Add(
|
|
green2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer18->Add(
|
|
FlexGridSizer20,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer7->Add(
|
|
FlexGridSizer18,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
GridSizer1->Add(
|
|
StaticBoxSizer7,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticBoxSizer6 = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, _("Blue"));
|
|
FlexGridSizer16 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer16->AddGrowableCol(0);
|
|
FlexGridSizer17 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
blueFixedCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON7,
|
|
_("Fixed"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON7"));
|
|
blueFixedCheck->SetValue(true);
|
|
FlexGridSizer17->Add(
|
|
blueFixedCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
blueRandomCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON8,
|
|
_("Random"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON8"));
|
|
FlexGridSizer17->Add(
|
|
blueRandomCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer16->Add(
|
|
FlexGridSizer17,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
blueMutableCheck = new wxRadioButton(Panel1,
|
|
ID_RADIOBUTTON9,
|
|
_("Changing over time"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON9"));
|
|
FlexGridSizer16->Add(
|
|
blueMutableCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer21 = new wxFlexGridSizer(0, 5, 0, 0);
|
|
StaticText13 = new wxStaticText(Panel1,
|
|
ID_STATICTEXT15,
|
|
_("From"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT15"));
|
|
FlexGridSizer21->Add(
|
|
StaticText13,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
blue1Edit = new wxSpinCtrlDouble(Panel1,
|
|
ID_CUSTOM4,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
0.1,
|
|
_T("ID_CUSTOM4"));
|
|
FlexGridSizer21->Add(
|
|
blue1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText14 = new wxStaticText(Panel1,
|
|
ID_STATICTEXT16,
|
|
_("to"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT16"));
|
|
FlexGridSizer21->Add(
|
|
StaticText14,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
blue2Edit = new wxSpinCtrlDouble(Panel1,
|
|
ID_CUSTOM5,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
0.1,
|
|
_T("ID_CUSTOM5"));
|
|
FlexGridSizer21->Add(
|
|
blue2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer16->Add(
|
|
FlexGridSizer21,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer6->Add(
|
|
FlexGridSizer16,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
GridSizer1->Add(
|
|
StaticBoxSizer6,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer12->Add(
|
|
GridSizer1,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
Panel1->SetSizer(FlexGridSizer12);
|
|
FlexGridSizer12->Fit(Panel1);
|
|
FlexGridSizer12->SetSizeHints(Panel1);
|
|
particleNotebook->AddPage(Panel2, _("Colors"), false);
|
|
particleNotebook->AddPage(Panel1, _("Colors ( advanced )"), false);
|
|
FlexGridSizer24->Add(
|
|
particleNotebook,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer31->Add(
|
|
FlexGridSizer24,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer13 =
|
|
new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Transparency"));
|
|
FlexGridSizer55 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer27 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
alphaRandomCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON13,
|
|
_("Random value"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON13"));
|
|
FlexGridSizer27->Add(
|
|
alphaRandomCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
alphaMutableCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON14,
|
|
_("Changing over time"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON14"));
|
|
FlexGridSizer27->Add(
|
|
alphaMutableCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer55->Add(
|
|
FlexGridSizer27,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer23 = new wxFlexGridSizer(0, 4, 0, 0);
|
|
StaticText39 = new wxStaticText(Core,
|
|
ID_STATICTEXT42,
|
|
_("Between"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT42"));
|
|
FlexGridSizer23->Add(
|
|
StaticText39, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
alpha1Edit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM12,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM12"));
|
|
FlexGridSizer23->Add(
|
|
alpha1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText58 = new wxStaticText(Core,
|
|
ID_STATICTEXT61,
|
|
_("and"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT61"));
|
|
FlexGridSizer23->Add(
|
|
StaticText58,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
alpha2Edit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM17,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM17"));
|
|
FlexGridSizer23->Add(
|
|
alpha2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText15 = new wxStaticText(Core,
|
|
ID_STATICTEXT17,
|
|
_("Random variation\nbetween:"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT17"));
|
|
StaticText15->SetToolTip(
|
|
_("Ampltiude of the random variation of the initial transparency"));
|
|
FlexGridSizer23->Add(
|
|
StaticText15,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
alpha1RandomnessEdit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM6,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM6"));
|
|
FlexGridSizer23->Add(
|
|
alpha1RandomnessEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer23->Add(
|
|
5, 5, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
|
|
alpha2RandomnessEdit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM7,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
255,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM7"));
|
|
FlexGridSizer23->Add(
|
|
alpha2RandomnessEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer55->Add(
|
|
FlexGridSizer23,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer13->Add(
|
|
FlexGridSizer55,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer31->Add(
|
|
StaticBoxSizer13,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer25 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
StaticBoxSizer15 =
|
|
new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Display angle"));
|
|
FlexGridSizer56 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer28 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
angleRandomCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON26,
|
|
_("Random value"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON26"));
|
|
FlexGridSizer28->Add(
|
|
angleRandomCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
angleMutableCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON27,
|
|
_("Changing over time"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON27"));
|
|
FlexGridSizer28->Add(
|
|
angleMutableCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer56->Add(
|
|
FlexGridSizer28,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer57 = new wxFlexGridSizer(0, 6, 0, 0);
|
|
StaticText41 = new wxStaticText(Core,
|
|
ID_STATICTEXT44,
|
|
_("Between"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT44"));
|
|
FlexGridSizer57->Add(
|
|
StaticText41, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
angle1Edit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL28,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL28"));
|
|
FlexGridSizer57->Add(
|
|
angle1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText55 = new wxStaticText(Core,
|
|
ID_STATICTEXT58,
|
|
_("\302\260"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT58"));
|
|
FlexGridSizer57->Add(StaticText55,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxRIGHT | wxALIGN_CENTER_HORIZONTAL |
|
|
wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText56 = new wxStaticText(Core,
|
|
ID_STATICTEXT59,
|
|
_("and"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT59"));
|
|
FlexGridSizer57->Add(
|
|
StaticText56,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
angle2Edit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL27,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL27"));
|
|
FlexGridSizer57->Add(
|
|
angle2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText57 = new wxStaticText(Core,
|
|
ID_STATICTEXT60,
|
|
_("\302\260"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT60"));
|
|
FlexGridSizer57->Add(StaticText57,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxRIGHT | wxALIGN_CENTER_HORIZONTAL |
|
|
wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText18 = new wxStaticText(Core,
|
|
ID_STATICTEXT20,
|
|
_("Random variation\nbetween:"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT20"));
|
|
StaticText18->SetToolTip(
|
|
_("Ampltiude of the random variation of the initial transparency"));
|
|
FlexGridSizer57->Add(
|
|
StaticText18,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
angle1RandomnessEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL17,
|
|
_("0"),
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL17"));
|
|
angle1RandomnessEdit->SetToolTip(
|
|
_("Ampltiude of the random variation of the value."));
|
|
FlexGridSizer57->Add(
|
|
angle1RandomnessEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer57->Add(
|
|
5, 5, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0);
|
|
FlexGridSizer57->Add(
|
|
5, 5, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0);
|
|
angle2RandomnessEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL29,
|
|
_("0"),
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL29"));
|
|
angle2RandomnessEdit->SetToolTip(
|
|
_("Ampltiude of the random variation of the value."));
|
|
FlexGridSizer57->Add(
|
|
angle2RandomnessEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer57->Add(
|
|
5, 5, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0);
|
|
FlexGridSizer56->Add(
|
|
FlexGridSizer57,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer15->Add(
|
|
FlexGridSizer56,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer25->Add(
|
|
StaticBoxSizer15,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticBoxSizer14 = new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Size"));
|
|
FlexGridSizer54 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer29 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
sizeRandomCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON25,
|
|
_("Random value"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxRB_GROUP,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON25"));
|
|
FlexGridSizer29->Add(
|
|
sizeRandomCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
sizeMutableCheck = new wxRadioButton(Core,
|
|
ID_RADIOBUTTON24,
|
|
_("Changing over time"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_RADIOBUTTON24"));
|
|
FlexGridSizer29->Add(
|
|
sizeMutableCheck, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer54->Add(
|
|
FlexGridSizer29,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer44 = new wxFlexGridSizer(0, 7, 0, 0);
|
|
StaticText40 = new wxStaticText(Core,
|
|
ID_STATICTEXT43,
|
|
_("Between"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT43"));
|
|
FlexGridSizer44->Add(
|
|
StaticText40, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
size1Edit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM13,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
100,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM13"));
|
|
FlexGridSizer44->Add(
|
|
size1Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText53 = new wxStaticText(Core,
|
|
ID_STATICTEXT56,
|
|
_("%"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT56"));
|
|
FlexGridSizer44->Add(StaticText53,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxRIGHT | wxALIGN_CENTER_HORIZONTAL |
|
|
wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText52 = new wxStaticText(Core,
|
|
ID_STATICTEXT55,
|
|
_("and"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT55"));
|
|
FlexGridSizer44->Add(
|
|
StaticText52,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
size2Edit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM14,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
100,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM14"));
|
|
FlexGridSizer44->Add(
|
|
size2Edit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText51 = new wxStaticText(Core,
|
|
ID_STATICTEXT54,
|
|
_("%"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT54"));
|
|
FlexGridSizer44->Add(StaticText51,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxRIGHT | wxALIGN_CENTER_HORIZONTAL |
|
|
wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText54 = new wxStaticText(Core,
|
|
ID_STATICTEXT57,
|
|
_("of the initial size"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT57"));
|
|
FlexGridSizer44->Add(
|
|
StaticText54,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText19 = new wxStaticText(Core,
|
|
ID_STATICTEXT21,
|
|
_("Random variation\nbetween:"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT21"));
|
|
StaticText19->SetToolTip(
|
|
_("Ampltiude of the random variation of the initial transparency"));
|
|
FlexGridSizer44->Add(
|
|
StaticText19,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
size1RandomnessEdit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM8,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
100,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM8"));
|
|
FlexGridSizer44->Add(
|
|
size1RandomnessEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer44->Add(
|
|
5, 5, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0);
|
|
FlexGridSizer44->Add(
|
|
5, 5, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 0);
|
|
size2RandomnessEdit = new wxSpinCtrlDouble(Core,
|
|
ID_CUSTOM9,
|
|
"",
|
|
wxDefaultPosition,
|
|
wxSize(55, 21),
|
|
0,
|
|
0,
|
|
100,
|
|
0,
|
|
10,
|
|
_T("ID_CUSTOM9"));
|
|
FlexGridSizer44->Add(
|
|
size2RandomnessEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer54->Add(
|
|
FlexGridSizer44,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer14->Add(
|
|
FlexGridSizer54,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer25->Add(
|
|
StaticBoxSizer14,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer31->Add(
|
|
FlexGridSizer25,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticBoxSizer4->Add(
|
|
FlexGridSizer31,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer33->Add(
|
|
StaticBoxSizer4,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer5 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer5->AddGrowableRow(0);
|
|
StaticBoxSizer11 = new wxStaticBoxSizer(
|
|
wxHORIZONTAL, Core, _("Zone and direction of emission"));
|
|
FlexGridSizer45 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer45->AddGrowableCol(0);
|
|
FlexGridSizer38 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer38->AddGrowableCol(1);
|
|
StaticText4 = new wxStaticText(Core,
|
|
ID_STATICTEXT4,
|
|
_("Emission force :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT4"));
|
|
FlexGridSizer38->Add(
|
|
StaticText4,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
|
|
StaticText5 = new wxStaticText(Core,
|
|
ID_STATICTEXT5,
|
|
_("Between"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT5"));
|
|
BoxSizer2->Add(StaticText5,
|
|
0,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
emitterForceMinEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL6,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(66, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL6"));
|
|
BoxSizer2->Add(emitterForceMinEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText6 = new wxStaticText(Core,
|
|
ID_STATICTEXT6,
|
|
_("and"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT6"));
|
|
BoxSizer2->Add(StaticText6,
|
|
0,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
emitterForceMaxEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL7,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(66, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL7"));
|
|
BoxSizer2->Add(emitterForceMaxEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer38->Add(
|
|
BoxSizer2,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer45->Add(
|
|
FlexGridSizer38,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer11 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer11->AddGrowableCol(1);
|
|
StaticText30 = new wxStaticText(Core,
|
|
ID_STATICTEXT33,
|
|
_("Radius of the emission sphere :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT33"));
|
|
FlexGridSizer11->Add(
|
|
StaticText30,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
zoneRadiusEdit = new wxTextCtrl(Core,
|
|
ID_TEXTCTRL14,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(66, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL14"));
|
|
FlexGridSizer11->Add(
|
|
zoneRadiusEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer45->Add(
|
|
FlexGridSizer11,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
emissionNotebook = new wxNotebook(Core,
|
|
ID_NOTEBOOK2,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_NOTEBOOK2"));
|
|
Panel4 = new wxPanel(emissionNotebook,
|
|
ID_PANEL5,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL5"));
|
|
FlexGridSizer46 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer46->AddGrowableCol(0);
|
|
FlexGridSizer49 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer49->AddGrowableCol(1);
|
|
StaticText45 = new wxStaticText(Panel4,
|
|
ID_STATICTEXT48,
|
|
_("Angle of the spray cone :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT48"));
|
|
FlexGridSizer49->Add(
|
|
StaticText45,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
simpleConeAngleEdit = new wxTextCtrl(Panel4,
|
|
ID_TEXTCTRL22,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(66, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL22"));
|
|
FlexGridSizer49->Add(
|
|
simpleConeAngleEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText46 = new wxStaticText(Panel4,
|
|
ID_STATICTEXT49,
|
|
_("\302\260"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT49"));
|
|
FlexGridSizer49->Add(StaticText46,
|
|
1,
|
|
wxTOP | wxBOTTOM | wxRIGHT | wxALIGN_CENTER_HORIZONTAL |
|
|
wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer46->Add(
|
|
FlexGridSizer49,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
Panel4->SetSizer(FlexGridSizer46);
|
|
FlexGridSizer46->Fit(Panel4);
|
|
FlexGridSizer46->SetSizeHints(Panel4);
|
|
Panel3 = new wxPanel(emissionNotebook,
|
|
ID_PANEL4,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL4"));
|
|
FlexGridSizer34 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer34->AddGrowableCol(0);
|
|
FlexGridSizer35 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer35->AddGrowableCol(1);
|
|
StaticText31 = new wxStaticText(Panel3,
|
|
ID_STATICTEXT34,
|
|
_("Emission Z direction:"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT34"));
|
|
FlexGridSizer35->Add(
|
|
StaticText31,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
|
|
emitterDirZEdit = new wxTextCtrl(Panel3,
|
|
ID_TEXTCTRL20,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL20"));
|
|
emitterDirZEdit->SetToolTip(_("Emission X direction"));
|
|
BoxSizer1->Add(emitterDirZEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer35->Add(
|
|
BoxSizer1, 1, wxALL | wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 0);
|
|
FlexGridSizer34->Add(
|
|
FlexGridSizer35,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer41 = new wxFlexGridSizer(0, 4, 0, 0);
|
|
FlexGridSizer41->AddGrowableCol(2);
|
|
StaticText33 = new wxStaticText(Panel3,
|
|
ID_STATICTEXT36,
|
|
_("Angle of the emission zone :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT36"));
|
|
FlexGridSizer41->Add(
|
|
StaticText33,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText35 = new wxStaticText(Panel3,
|
|
ID_STATICTEXT38,
|
|
_("1st angle :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT38"));
|
|
FlexGridSizer41->Add(
|
|
StaticText35, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
emitterAngleAEdit = new wxTextCtrl(Panel3,
|
|
ID_TEXTCTRL15,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL15"));
|
|
FlexGridSizer41->Add(
|
|
emitterAngleAEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText9 = new wxStaticText(Panel3,
|
|
ID_STATICTEXT11,
|
|
_("\302\260"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT11"));
|
|
FlexGridSizer41->Add(
|
|
StaticText9,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer41->Add(
|
|
8, 9, 1, wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
|
|
StaticText36 = new wxStaticText(Panel3,
|
|
ID_STATICTEXT39,
|
|
_("2nd angle :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT39"));
|
|
FlexGridSizer41->Add(
|
|
StaticText36,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
emitterAngleBEdit = new wxTextCtrl(Panel3,
|
|
ID_TEXTCTRL16,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL16"));
|
|
FlexGridSizer41->Add(
|
|
emitterAngleBEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText12 = new wxStaticText(Panel3,
|
|
ID_STATICTEXT14,
|
|
_("\302\260"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT14"));
|
|
FlexGridSizer41->Add(
|
|
StaticText12,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer34->Add(
|
|
FlexGridSizer41,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
Panel3->SetSizer(FlexGridSizer34);
|
|
FlexGridSizer34->Fit(Panel3);
|
|
FlexGridSizer34->SetSizeHints(Panel3);
|
|
emissionNotebook->AddPage(Panel4, _("Simple setup"), false);
|
|
emissionNotebook->AddPage(Panel3, _("Advanced setup"), false);
|
|
FlexGridSizer45->Add(
|
|
emissionNotebook,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticBoxSizer11->Add(
|
|
FlexGridSizer45,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer5->Add(
|
|
StaticBoxSizer11,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer32 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer32->AddGrowableCol(0);
|
|
StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Gravity"));
|
|
gravityNotebook = new wxNotebook(Core,
|
|
ID_NOTEBOOK3,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_NOTEBOOK3"));
|
|
Panel6 = new wxPanel(gravityNotebook,
|
|
ID_PANEL7,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL7"));
|
|
FlexGridSizer50 = new wxFlexGridSizer(0, 1, 0, 0);
|
|
FlexGridSizer50->AddGrowableCol(0);
|
|
BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
|
|
FlexGridSizer52 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer52->AddGrowableCol(1);
|
|
StaticText47 = new wxStaticText(Panel6,
|
|
ID_STATICTEXT50,
|
|
_("Gravity :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT50"));
|
|
FlexGridSizer52->Add(
|
|
StaticText47,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
simpleGravityLengthEdit = new wxTextCtrl(Panel6,
|
|
ID_TEXTCTRL23,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL23"));
|
|
simpleGravityLengthEdit->SetToolTip(_("Gravity on X axis"));
|
|
FlexGridSizer52->Add(
|
|
simpleGravityLengthEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
BoxSizer3->Add(
|
|
FlexGridSizer52,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer51 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer51->AddGrowableCol(1);
|
|
StaticText49 = new wxStaticText(Panel6,
|
|
ID_STATICTEXT52,
|
|
_("Gravity angle :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT52"));
|
|
FlexGridSizer51->Add(
|
|
StaticText49,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
simpleGravityAngleEdit = new wxTextCtrl(Panel6,
|
|
ID_TEXTCTRL25,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL25"));
|
|
simpleGravityAngleEdit->SetToolTip(_("Gravity on Z axis ( depth )"));
|
|
FlexGridSizer51->Add(
|
|
simpleGravityAngleEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticText50 = new wxStaticText(Panel6,
|
|
ID_STATICTEXT53,
|
|
_("\302\260"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT53"));
|
|
FlexGridSizer51->Add(
|
|
StaticText50,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
BoxSizer3->Add(
|
|
FlexGridSizer51,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer50->Add(
|
|
BoxSizer3,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer53 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer53->AddGrowableCol(1);
|
|
StaticText48 = new wxStaticText(Panel6,
|
|
ID_STATICTEXT51,
|
|
_("Friction :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT51"));
|
|
FlexGridSizer53->Add(
|
|
StaticText48, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
simpleFrictionEdit = new wxTextCtrl(Panel6,
|
|
ID_TEXTCTRL26,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL26"));
|
|
FlexGridSizer53->Add(
|
|
simpleFrictionEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer50->Add(
|
|
FlexGridSizer53,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
Panel6->SetSizer(FlexGridSizer50);
|
|
FlexGridSizer50->Fit(Panel6);
|
|
FlexGridSizer50->SetSizeHints(Panel6);
|
|
Panel5 = new wxPanel(gravityNotebook,
|
|
ID_PANEL6,
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
wxTAB_TRAVERSAL,
|
|
_T("ID_PANEL6"));
|
|
FlexGridSizer3 = new wxFlexGridSizer(0, 2, 0, 0);
|
|
FlexGridSizer3->AddGrowableCol(1);
|
|
StaticText2 = new wxStaticText(Panel5,
|
|
ID_STATICTEXT2,
|
|
_("Gravity applied to particles :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT2"));
|
|
FlexGridSizer3->Add(
|
|
StaticText2,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer4 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
gravityXEdit = new wxTextCtrl(Panel5,
|
|
ID_TEXTCTRL3,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL3"));
|
|
gravityXEdit->SetToolTip(_("Gravity on X axis"));
|
|
FlexGridSizer4->Add(
|
|
gravityXEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
gravityYEdit = new wxTextCtrl(Panel5,
|
|
ID_TEXTCTRL4,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL4"));
|
|
gravityYEdit->SetToolTip(_("Gravity on Y axis"));
|
|
FlexGridSizer4->Add(
|
|
gravityYEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
gravityZEdit = new wxTextCtrl(Panel5,
|
|
ID_TEXTCTRL5,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL5"));
|
|
gravityZEdit->SetToolTip(_("Gravity on Z axis ( depth )"));
|
|
FlexGridSizer4->Add(
|
|
gravityZEdit,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer3->Add(
|
|
FlexGridSizer4,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticText8 = new wxStaticText(Panel5,
|
|
ID_STATICTEXT8,
|
|
_("Friction :"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
_T("ID_STATICTEXT8"));
|
|
FlexGridSizer3->Add(
|
|
StaticText8, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
FlexGridSizer8 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer8->AddGrowableCol(0);
|
|
frictionEdit = new wxTextCtrl(Panel5,
|
|
ID_TEXTCTRL8,
|
|
wxEmptyString,
|
|
wxDefaultPosition,
|
|
wxSize(62, 21),
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_TEXTCTRL8"));
|
|
FlexGridSizer8->Add(
|
|
frictionEdit,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer3->Add(
|
|
FlexGridSizer8,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
Panel5->SetSizer(FlexGridSizer3);
|
|
FlexGridSizer3->Fit(Panel5);
|
|
FlexGridSizer3->SetSizeHints(Panel5);
|
|
gravityNotebook->AddPage(Panel6, _("Simple setup"), false);
|
|
gravityNotebook->AddPage(Panel5, _("Advanced setup"), false);
|
|
StaticBoxSizer2->Add(
|
|
gravityNotebook,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer32->Add(
|
|
StaticBoxSizer2, 1, wxALL | wxALIGN_TOP | wxALIGN_CENTER_HORIZONTAL, 5);
|
|
StaticBoxSizer1 =
|
|
new wxStaticBoxSizer(wxHORIZONTAL, Core, _("Miscellaneous"));
|
|
FlexGridSizer30 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
destroyWhenNoParticlesCheck =
|
|
new wxCheckBox(Core,
|
|
ID_CHECKBOX2,
|
|
_("Destroy the object when no more particles are sprayed"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_CHECKBOX2"));
|
|
destroyWhenNoParticlesCheck->SetValue(false);
|
|
FlexGridSizer30->Add(
|
|
destroyWhenNoParticlesCheck,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
StaticBoxSizer1->Add(
|
|
FlexGridSizer30,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer32->Add(
|
|
StaticBoxSizer1,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_TOP | wxALIGN_CENTER_HORIZONTAL,
|
|
5);
|
|
FlexGridSizer5->Add(
|
|
FlexGridSizer32,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer33->Add(
|
|
FlexGridSizer5,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer2->Add(
|
|
FlexGridSizer33,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
StaticLine1 = new wxStaticLine(Core,
|
|
ID_STATICLINE1,
|
|
wxDefaultPosition,
|
|
wxSize(10, -1),
|
|
wxLI_HORIZONTAL,
|
|
_T("ID_STATICLINE1"));
|
|
FlexGridSizer2->Add(
|
|
StaticLine1,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
FlexGridSizer36 = new wxFlexGridSizer(0, 3, 0, 0);
|
|
FlexGridSizer36->AddGrowableCol(1);
|
|
imageBankBt = new wxButton(Core,
|
|
ID_BUTTON3,
|
|
_("Show the images bank"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_BUTTON3"));
|
|
FlexGridSizer36->Add(
|
|
imageBankBt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
okBt = new wxButton(Core,
|
|
ID_BUTTON1,
|
|
_("Ok"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_BUTTON1"));
|
|
FlexGridSizer36->Add(
|
|
okBt, 1, wxALL | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL, 5);
|
|
cancelBt = new wxButton(Core,
|
|
ID_BUTTON2,
|
|
_("Cancel"),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0,
|
|
wxDefaultValidator,
|
|
_T("ID_BUTTON2"));
|
|
FlexGridSizer36->Add(
|
|
cancelBt,
|
|
1,
|
|
wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
5);
|
|
FlexGridSizer2->Add(
|
|
FlexGridSizer36,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
Core->SetSizer(FlexGridSizer2);
|
|
FlexGridSizer2->Fit(Core);
|
|
FlexGridSizer2->SetSizeHints(Core);
|
|
FlexGridSizer1->Add(
|
|
Core,
|
|
1,
|
|
wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL,
|
|
0);
|
|
SetSizer(FlexGridSizer1);
|
|
FlexGridSizer1->Fit(this);
|
|
FlexGridSizer1->SetSizeHints(this);
|
|
Center();
|
|
|
|
Connect(
|
|
ID_RADIOBUTTON2,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::OnpointCheckSelect);
|
|
Connect(
|
|
ID_RADIOBUTTON1,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::OnLineCheckSelect);
|
|
Connect(
|
|
ID_RADIOBUTTON3,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::OnQuadCheckSelect);
|
|
Connect(ID_BITMAPBUTTON1,
|
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnimageChooseBtClick);
|
|
Connect(ID_CHECKBOX1,
|
|
wxEVT_COMMAND_CHECKBOX_CLICKED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OninfiniteTankCheckClick);
|
|
Connect(ID_COLOURPICKERCTRL1,
|
|
wxEVT_COMMAND_COLOURPICKER_CHANGED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsimpleColor1BtColourChanged);
|
|
Connect(ID_COLOURPICKERCTRL2,
|
|
wxEVT_COMMAND_COLOURPICKER_CHANGED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsimpleColor1BtColourChanged);
|
|
Connect(ID_RADIOBUTTON6,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnredFixedCheckSelect);
|
|
Connect(ID_RADIOBUTTON5,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnredRandomCheckSelect);
|
|
Connect(ID_RADIOBUTTON4,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnredRandomCheckSelect);
|
|
Connect(ID_RADIOBUTTON10,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OngreenFixedCheckSelect);
|
|
Connect(ID_RADIOBUTTON11,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OngreenRandomCheckSelect);
|
|
Connect(ID_RADIOBUTTON12,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OngreenRandomCheckSelect);
|
|
Connect(ID_RADIOBUTTON7,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnblueFixedCheckSelect);
|
|
Connect(ID_RADIOBUTTON8,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnblueRandomCheckSelect);
|
|
Connect(ID_RADIOBUTTON9,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnblueRandomCheckSelect);
|
|
Connect(ID_RADIOBUTTON13,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnalphaRandomCheckSelect1);
|
|
Connect(ID_RADIOBUTTON14,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnalphaMutableCheckSelect);
|
|
Connect(ID_RADIOBUTTON26,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnangleRandomCheckSelect1);
|
|
Connect(ID_RADIOBUTTON27,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnangleMutableCheckSelect);
|
|
Connect(ID_RADIOBUTTON25,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsizeRandomCheckSelect1);
|
|
Connect(ID_RADIOBUTTON24,
|
|
wxEVT_COMMAND_RADIOBUTTON_SELECTED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsizeMutableCheckSelect);
|
|
Connect(ID_TEXTCTRL22,
|
|
wxEVT_COMMAND_TEXT_UPDATED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsimpleConeAngleText);
|
|
Connect(ID_TEXTCTRL23,
|
|
wxEVT_COMMAND_TEXT_UPDATED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsimpleGravityAngleText);
|
|
Connect(ID_TEXTCTRL25,
|
|
wxEVT_COMMAND_TEXT_UPDATED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsimpleGravityAngleText);
|
|
Connect(ID_TEXTCTRL26,
|
|
wxEVT_COMMAND_TEXT_UPDATED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::
|
|
OnsimpleFrictionEditText);
|
|
Connect(
|
|
ID_BUTTON3,
|
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::OnimageBankBtClick);
|
|
Connect(ID_BUTTON1,
|
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::OnokBtClick);
|
|
Connect(ID_BUTTON2,
|
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
|
(wxObjectEventFunction)&ParticleEmitterObjectEditor::OncancelBtClick);
|
|
//*)
|
|
|
|
// Bind all parameters to controls.
|
|
if (object.GetTank() == -1) {
|
|
infiniteTankCheck->SetValue(true);
|
|
tankEdit->Enable(false);
|
|
} else
|
|
tankEdit->SetValue(gd::String::From(object.GetTank()));
|
|
|
|
rendererParam1Edit->SetValue(gd::String::From(object.GetRendererParam1()));
|
|
rendererParam2Edit->SetValue(gd::String::From(object.GetRendererParam2()));
|
|
textureEdit->SetValue(object.GetParticleTexture());
|
|
if (object.GetRendererType() == ParticleEmitterObject::Line) {
|
|
PrepareControlsForLineRenderer();
|
|
lineCheck->SetValue(true);
|
|
} else if (object.GetRendererType() == ParticleEmitterObject::Quad) {
|
|
PrepareControlsForQuadRenderer();
|
|
quadCheck->SetValue(true);
|
|
} else
|
|
PrepareControlsForPointRenderer();
|
|
|
|
if (!object.IsRenderingAdditive()) alphaRenderingCheck->SetValue(true);
|
|
|
|
flowEdit->SetValue(gd::String::From(object.GetFlow()));
|
|
emitterForceMinEdit->SetValue(gd::String::From(object.GetEmitterForceMin()));
|
|
emitterForceMaxEdit->SetValue(gd::String::From(object.GetEmitterForceMax()));
|
|
emitterDirZEdit->SetValue(gd::String::From(object.GetEmitterZDirection()));
|
|
emitterAngleAEdit->SetValue(gd::String::From(object.GetEmitterAngleA()));
|
|
emitterAngleBEdit->SetValue(gd::String::From(object.GetEmitterAngleB()));
|
|
gravityXEdit->SetValue(gd::String::From(object.GetParticleGravityX()));
|
|
gravityYEdit->SetValue(gd::String::From(object.GetParticleGravityY()));
|
|
gravityZEdit->SetValue(gd::String::From(object.GetParticleGravityZ()));
|
|
frictionEdit->SetValue(gd::String::From(object.GetFriction()));
|
|
lifeTimeMinEdit->SetValue(gd::String::From(object.GetParticleLifeTimeMin()));
|
|
lifeTimeMaxEdit->SetValue(gd::String::From(object.GetParticleLifeTimeMax()));
|
|
zoneRadiusEdit->SetValue(gd::String::From(object.GetZoneRadius()));
|
|
maxParticleNbEdit->SetValue(gd::String::From(object.GetMaxParticleNb()));
|
|
destroyWhenNoParticlesCheck->SetValue(object.GetDestroyWhenNoParticles());
|
|
|
|
red1Edit->SetValue(gd::String::From(object.GetParticleRed1()));
|
|
red2Edit->SetValue(gd::String::From(object.GetParticleRed2()));
|
|
green1Edit->SetValue(gd::String::From(object.GetParticleGreen1()));
|
|
green2Edit->SetValue(gd::String::From(object.GetParticleGreen2()));
|
|
blue1Edit->SetValue(gd::String::From(object.GetParticleBlue1()));
|
|
blue2Edit->SetValue(gd::String::From(object.GetParticleBlue2()));
|
|
alpha1Edit->SetValue(gd::String::From(object.GetParticleAlpha1()));
|
|
alpha2Edit->SetValue(gd::String::From(object.GetParticleAlpha2()));
|
|
alpha1RandomnessEdit->SetValue(
|
|
gd::String::From(object.GetParticleAlphaRandomness1()));
|
|
alpha2RandomnessEdit->SetValue(
|
|
gd::String::From(object.GetParticleAlphaRandomness2()));
|
|
|
|
size1Edit->SetValue(gd::String::From(object.GetParticleSize1()));
|
|
size2Edit->SetValue(gd::String::From(object.GetParticleSize2()));
|
|
angle1Edit->SetValue(gd::String::From(object.GetParticleAngle1()));
|
|
angle2Edit->SetValue(gd::String::From(object.GetParticleAngle2()));
|
|
size1RandomnessEdit->SetValue(
|
|
gd::String::From(object.GetParticleSizeRandomness1()));
|
|
size2RandomnessEdit->SetValue(
|
|
gd::String::From(object.GetParticleSizeRandomness2()));
|
|
angle1RandomnessEdit->SetValue(
|
|
gd::String::From(object.GetParticleAngleRandomness1()));
|
|
angle2RandomnessEdit->SetValue(
|
|
gd::String::From(object.GetParticleAngleRandomness2()));
|
|
red2Edit->Enable(false);
|
|
green2Edit->Enable(false);
|
|
blue2Edit->Enable(false);
|
|
if (object.GetRedParameterType() == ParticleEmitterObject::Random) {
|
|
redRandomCheck->SetValue(true);
|
|
red2Edit->Enable(true);
|
|
} else if (object.GetRedParameterType() == ParticleEmitterObject::Mutable) {
|
|
redMutableCheck->SetValue(true);
|
|
red2Edit->Enable(true);
|
|
}
|
|
if (object.GetGreenParameterType() == ParticleEmitterObject::Random) {
|
|
greenRandomCheck->SetValue(true);
|
|
green2Edit->Enable(true);
|
|
} else if (object.GetGreenParameterType() == ParticleEmitterObject::Mutable) {
|
|
greenMutableCheck->SetValue(true);
|
|
green2Edit->Enable(true);
|
|
}
|
|
if (object.GetBlueParameterType() == ParticleEmitterObject::Random) {
|
|
blueRandomCheck->SetValue(true);
|
|
blue2Edit->Enable(true);
|
|
} else if (object.GetBlueParameterType() == ParticleEmitterObject::Mutable) {
|
|
blueMutableCheck->SetValue(true);
|
|
blue2Edit->Enable(true);
|
|
}
|
|
if (object.GetAlphaParameterType() == ParticleEmitterObject::Random) {
|
|
alphaRandomCheck->SetValue(true);
|
|
alpha1RandomnessEdit->Enable(false);
|
|
alpha2RandomnessEdit->Enable(false);
|
|
} else if (object.GetAlphaParameterType() == ParticleEmitterObject::Mutable) {
|
|
alphaMutableCheck->SetValue(true);
|
|
}
|
|
if (object.GetSizeParameterType() == ParticleEmitterObject::Random) {
|
|
sizeRandomCheck->SetValue(true);
|
|
size1RandomnessEdit->Enable(false);
|
|
size2RandomnessEdit->Enable(false);
|
|
} else if (object.GetSizeParameterType() == ParticleEmitterObject::Mutable) {
|
|
sizeMutableCheck->SetValue(true);
|
|
}
|
|
if (object.GetAngleParameterType() == ParticleEmitterObject::Random) {
|
|
angleRandomCheck->SetValue(true);
|
|
angle1RandomnessEdit->Enable(false);
|
|
angle2RandomnessEdit->Enable(false);
|
|
} else if (object.GetAngleParameterType() == ParticleEmitterObject::Mutable) {
|
|
angleMutableCheck->SetValue(true);
|
|
}
|
|
|
|
// Bind all parameters to simple controls.
|
|
simpleColor1Bt->SetColour(wxColour(object.GetParticleRed1(),
|
|
object.GetParticleGreen1(),
|
|
object.GetParticleBlue1()));
|
|
simpleColor2Bt->SetColour(wxColour(object.GetParticleRed2(),
|
|
object.GetParticleGreen2(),
|
|
object.GetParticleBlue2()));
|
|
|
|
simpleConeAngleEdit->ChangeValue(emitterAngleBEdit->GetValue().mb_str());
|
|
|
|
simpleFrictionEdit->ChangeValue(frictionEdit->GetValue());
|
|
{
|
|
float x = gd::String(gravityXEdit->GetValue()).To<float>();
|
|
float y = gd::String(gravityYEdit->GetValue()).To<float>();
|
|
simpleGravityAngleEdit->ChangeValue(
|
|
gd::String::From(atan2(y, x) * 180.0f / 3.14159f));
|
|
simpleGravityLengthEdit->ChangeValue(gd::String::From(sqrt(x * x + y * y)));
|
|
}
|
|
|
|
// Set last used pages
|
|
if (!object.emissionEditionSimpleMode) emissionNotebook->SetSelection(1);
|
|
if (!object.gravityEditionSimpleMode) gravityNotebook->SetSelection(1);
|
|
if (!object.particleEditionSimpleMode) particleNotebook->SetSelection(1);
|
|
|
|
// Init the image bank editor
|
|
editorImagesPnl = new ResourcesEditor(this, game, mainFrameWrapper);
|
|
editorImagesPnl->Refresh();
|
|
|
|
// Init wxAuiManager with two pane : the editor and the image bank editor
|
|
m_mgr.SetManagedWindow(this);
|
|
m_mgr.AddPane(
|
|
Core, wxAuiPaneInfo().Name(wxT("Core")).Center().CaptionVisible(false));
|
|
m_mgr.AddPane(editorImagesPnl,
|
|
wxAuiPaneInfo()
|
|
.Name(wxT("EI"))
|
|
.Left()
|
|
.Caption(_("Images bank's editor"))
|
|
.MaximizeButton(true)
|
|
.MinimizeButton(false)
|
|
.Show(false)
|
|
.MinSize(150, 100));
|
|
m_mgr.SetFlags(wxAUI_MGR_ALLOW_FLOATING | wxAUI_MGR_ALLOW_ACTIVE_PANE |
|
|
wxAUI_MGR_TRANSPARENT_HINT | wxAUI_MGR_TRANSPARENT_DRAG |
|
|
wxAUI_MGR_HINT_FADE | wxAUI_MGR_NO_VENETIAN_BLINDS_FADE);
|
|
m_mgr.Update();
|
|
}
|
|
|
|
ParticleEmitterObjectEditor::~ParticleEmitterObjectEditor() {
|
|
//(*Destroy(ParticleEmitterObjectEditor)
|
|
//*)
|
|
m_mgr.UnInit(); // We're using a wxAuiManager that need to be uninitialized.
|
|
}
|
|
void ParticleEmitterObjectEditor::OnokBtClick(wxCommandEvent& event) {
|
|
std::size_t particleNb =
|
|
gd::String(maxParticleNbEdit->GetValue()).To<int>() > 0
|
|
? gd::String(maxParticleNbEdit->GetValue()).To<std::size_t>()
|
|
: 0;
|
|
if (particleNb > 30000) {
|
|
if (wxMessageBox(
|
|
_("The number of particles is huge. A number too important could "
|
|
"crash the game.\nAre you sure you wan to continue\?"),
|
|
_("Maximum Particles number"),
|
|
wxYES_NO | wxICON_EXCLAMATION,
|
|
this) == wxNO)
|
|
return;
|
|
}
|
|
|
|
if (infiniteTankCheck->GetValue())
|
|
object.SetTank(-1);
|
|
else
|
|
object.SetTank(gd::String(tankEdit->GetValue()).To<float>());
|
|
|
|
if (lineCheck->GetValue())
|
|
object.SetRendererType(ParticleEmitterObject::Line);
|
|
else if (quadCheck->GetValue())
|
|
object.SetRendererType(ParticleEmitterObject::Quad);
|
|
else
|
|
object.SetRendererType(ParticleEmitterObject::Point);
|
|
|
|
if (alphaRenderingCheck->GetValue())
|
|
object.SetRenderingAlpha();
|
|
else
|
|
object.SetRenderingAdditive();
|
|
|
|
object.SetFlow(gd::String(flowEdit->GetValue()).To<float>());
|
|
object.SetEmitterForceMin(
|
|
gd::String(emitterForceMinEdit->GetValue()).To<float>());
|
|
object.SetEmitterForceMax(
|
|
gd::String(emitterForceMaxEdit->GetValue()).To<float>());
|
|
object.SetEmitterZDirection(
|
|
gd::String(emitterDirZEdit->GetValue()).To<float>());
|
|
object.SetEmitterAngleA(
|
|
gd::String(emitterAngleAEdit->GetValue()).To<float>());
|
|
object.SetEmitterAngleB(
|
|
gd::String(emitterAngleBEdit->GetValue()).To<float>());
|
|
object.SetParticleGravityX(gd::String(gravityXEdit->GetValue()).To<float>());
|
|
object.SetParticleGravityY(gd::String(gravityYEdit->GetValue()).To<float>());
|
|
object.SetParticleGravityZ(gd::String(gravityZEdit->GetValue()).To<float>());
|
|
object.SetRendererParam1(
|
|
gd::String(rendererParam1Edit->GetValue()).To<float>());
|
|
object.SetRendererParam2(
|
|
gd::String(rendererParam2Edit->GetValue()).To<float>());
|
|
object.SetParticleLifeTimeMin(
|
|
gd::String(lifeTimeMinEdit->GetValue()).To<float>());
|
|
object.SetParticleLifeTimeMax(
|
|
gd::String(lifeTimeMaxEdit->GetValue()).To<float>());
|
|
object.SetZoneRadius(gd::String(zoneRadiusEdit->GetValue()).To<float>());
|
|
object.SetFriction(gd::String(frictionEdit->GetValue()).To<float>());
|
|
object.SetMaxParticleNb(particleNb);
|
|
object.SetDestroyWhenNoParticles(destroyWhenNoParticlesCheck->GetValue());
|
|
|
|
object.SetParticleRed1(red1Edit->GetValue());
|
|
object.SetParticleRed2(red2Edit->GetValue());
|
|
object.SetParticleGreen1(green1Edit->GetValue());
|
|
object.SetParticleGreen2(green2Edit->GetValue());
|
|
object.SetParticleBlue1(blue1Edit->GetValue());
|
|
object.SetParticleBlue2(blue2Edit->GetValue());
|
|
object.SetParticleAlpha1(alpha1Edit->GetValue());
|
|
object.SetParticleAlpha2(alpha2Edit->GetValue());
|
|
object.SetParticleSize1(size1Edit->GetValue());
|
|
object.SetParticleSize2(size2Edit->GetValue());
|
|
object.SetParticleAngle1(gd::String(angle1Edit->GetValue()).To<float>());
|
|
object.SetParticleAngle2(gd::String(angle2Edit->GetValue()).To<float>());
|
|
object.SetParticleAlphaRandomness1(alpha1RandomnessEdit->GetValue());
|
|
object.SetParticleAlphaRandomness2(alpha2RandomnessEdit->GetValue());
|
|
object.SetParticleSizeRandomness1(size1RandomnessEdit->GetValue());
|
|
object.SetParticleSizeRandomness2(size2RandomnessEdit->GetValue());
|
|
object.SetParticleAngleRandomness1(
|
|
gd::String(angle1RandomnessEdit->GetValue()).To<float>());
|
|
object.SetParticleAngleRandomness2(
|
|
gd::String(angle2RandomnessEdit->GetValue()).To<float>());
|
|
if (redRandomCheck->GetValue())
|
|
object.SetRedParameterType(ParticleEmitterObject::Random);
|
|
else if (redMutableCheck->GetValue())
|
|
object.SetRedParameterType(ParticleEmitterObject::Mutable);
|
|
else
|
|
object.SetRedParameterType(ParticleEmitterObject::Enabled);
|
|
if (greenRandomCheck->GetValue())
|
|
object.SetGreenParameterType(ParticleEmitterObject::Random);
|
|
else if (greenMutableCheck->GetValue())
|
|
object.SetGreenParameterType(ParticleEmitterObject::Mutable);
|
|
else
|
|
object.SetGreenParameterType(ParticleEmitterObject::Enabled);
|
|
if (blueRandomCheck->GetValue())
|
|
object.SetBlueParameterType(ParticleEmitterObject::Random);
|
|
else if (blueMutableCheck->GetValue())
|
|
object.SetBlueParameterType(ParticleEmitterObject::Mutable);
|
|
else
|
|
object.SetBlueParameterType(ParticleEmitterObject::Enabled);
|
|
if (alphaRandomCheck->GetValue())
|
|
object.SetAlphaParameterType(ParticleEmitterObject::Random);
|
|
else if (alphaMutableCheck->GetValue())
|
|
object.SetAlphaParameterType(ParticleEmitterObject::Mutable);
|
|
else
|
|
object.SetAlphaParameterType(ParticleEmitterObject::Enabled);
|
|
if (sizeRandomCheck->GetValue())
|
|
object.SetSizeParameterType(ParticleEmitterObject::Random);
|
|
else if (sizeMutableCheck->GetValue())
|
|
object.SetSizeParameterType(ParticleEmitterObject::Mutable);
|
|
else
|
|
object.SetSizeParameterType(ParticleEmitterObject::Nothing);
|
|
if (angleRandomCheck->GetValue())
|
|
object.SetAngleParameterType(ParticleEmitterObject::Random);
|
|
else if (angleMutableCheck->GetValue())
|
|
object.SetAngleParameterType(ParticleEmitterObject::Mutable);
|
|
else
|
|
object.SetAngleParameterType(ParticleEmitterObject::Nothing);
|
|
|
|
object.SetParticleTexture(textureEdit->GetValue());
|
|
|
|
// Save last used pages
|
|
object.emissionEditionSimpleMode = false;
|
|
object.gravityEditionSimpleMode = false;
|
|
object.particleEditionSimpleMode = false;
|
|
if (emissionNotebook->GetSelection() == 0)
|
|
object.emissionEditionSimpleMode = true;
|
|
if (gravityNotebook->GetSelection() == 0)
|
|
object.gravityEditionSimpleMode = true;
|
|
if (particleNotebook->GetSelection() == 0)
|
|
object.particleEditionSimpleMode = true;
|
|
|
|
EndModal(1);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OncancelBtClick(wxCommandEvent& event) {
|
|
EndModal(0);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::PrepareControlsForPointRenderer() {
|
|
rendererParam1Txt->Show();
|
|
rendererParam1Edit->Show();
|
|
rendererParam2Txt->Show(false);
|
|
rendererParam2Edit->Show(false);
|
|
textureTxt->Show(false);
|
|
textureEdit->Show(false);
|
|
imageChooseBt->Show(false);
|
|
|
|
rendererParam1Txt->SetLabel(_("Initial size :"));
|
|
Layout();
|
|
Refresh();
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::PrepareControlsForQuadRenderer() {
|
|
rendererParam1Txt->Show();
|
|
rendererParam1Edit->Show();
|
|
rendererParam2Txt->Show();
|
|
rendererParam2Edit->Show();
|
|
textureTxt->Show(true);
|
|
textureEdit->Show(true);
|
|
imageChooseBt->Show(true);
|
|
|
|
rendererParam1Txt->SetLabel(_("Inital width :"));
|
|
rendererParam2Txt->SetLabel(_("Initial height :"));
|
|
Layout();
|
|
Refresh();
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::PrepareControlsForLineRenderer() {
|
|
rendererParam1Txt->Show();
|
|
rendererParam1Edit->Show();
|
|
rendererParam2Txt->Show();
|
|
rendererParam2Edit->Show();
|
|
textureTxt->Show(false);
|
|
textureEdit->Show(false);
|
|
imageChooseBt->Show(false);
|
|
|
|
rendererParam1Txt->SetLabel(_("Length :"));
|
|
rendererParam2Txt->SetLabel(_("Width :"));
|
|
Layout();
|
|
Refresh();
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnpointCheckSelect(wxCommandEvent& event) {
|
|
PrepareControlsForPointRenderer();
|
|
}
|
|
void ParticleEmitterObjectEditor::OnLineCheckSelect(wxCommandEvent& event) {
|
|
PrepareControlsForLineRenderer();
|
|
}
|
|
void ParticleEmitterObjectEditor::OnQuadCheckSelect(wxCommandEvent& event) {
|
|
PrepareControlsForQuadRenderer();
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OninfiniteTankCheckClick(
|
|
wxCommandEvent& event) {
|
|
tankEdit->Enable(!infiniteTankCheck->GetValue());
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnredFixedCheckSelect(wxCommandEvent& event) {
|
|
red2Edit->Enable(false);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnredRandomCheckSelect(
|
|
wxCommandEvent& event) {
|
|
red2Edit->Enable(true);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OngreenFixedCheckSelect(
|
|
wxCommandEvent& event) {
|
|
green2Edit->Enable(false);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OngreenRandomCheckSelect(
|
|
wxCommandEvent& event) {
|
|
green2Edit->Enable(true);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnblueFixedCheckSelect(
|
|
wxCommandEvent& event) {
|
|
blue2Edit->Enable(false);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnblueRandomCheckSelect(
|
|
wxCommandEvent& event) {
|
|
blue2Edit->Enable(true);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnimageChooseBtClick(wxCommandEvent& event) {
|
|
if (!m_mgr.GetPane(editorImagesPnl).IsShown()) {
|
|
gd::LogMessage(
|
|
_("Please display the image bank's editor and select an image before "
|
|
"clicking on this button."));
|
|
return;
|
|
}
|
|
|
|
textureEdit->ChangeValue(editorImagesPnl->resourcesTree->GetItemText(
|
|
editorImagesPnl->m_itemSelected));
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnimageBankBtClick(wxCommandEvent& event) {
|
|
// Update the window size
|
|
if (!m_mgr.GetPane(editorImagesPnl).IsShown())
|
|
SetSize(GetSize().GetWidth() + 150, GetSize().GetHeight());
|
|
|
|
m_mgr.GetPane(editorImagesPnl).Show();
|
|
m_mgr.Update();
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnsimpleColor1BtColourChanged(
|
|
wxColourPickerEvent& event) {
|
|
redMutableCheck->SetValue(true);
|
|
blueMutableCheck->SetValue(true);
|
|
greenMutableCheck->SetValue(true);
|
|
red2Edit->Enable(true);
|
|
green2Edit->Enable(true);
|
|
blue2Edit->Enable(true);
|
|
|
|
red1Edit->SetValue(simpleColor1Bt->GetColour().Red());
|
|
red2Edit->SetValue(simpleColor2Bt->GetColour().Red());
|
|
green1Edit->SetValue(simpleColor1Bt->GetColour().Green());
|
|
green2Edit->SetValue(simpleColor2Bt->GetColour().Green());
|
|
blue1Edit->SetValue(simpleColor1Bt->GetColour().Blue());
|
|
blue2Edit->SetValue(simpleColor2Bt->GetColour().Blue());
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnsimpleConeAngleText(wxCommandEvent& event) {
|
|
emitterAngleBEdit->SetValue(simpleConeAngleEdit->GetValue().mb_str());
|
|
emitterAngleAEdit->SetValue("0");
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnsimpleGravityAngleText(
|
|
wxCommandEvent& event) {
|
|
float angle = gd::String(simpleGravityAngleEdit->GetValue()).To<float>() /
|
|
180.0f * 3.14159f;
|
|
float length = gd::String(simpleGravityLengthEdit->GetValue()).To<float>();
|
|
|
|
gravityXEdit->SetValue(gd::String::From(cos(angle) * length));
|
|
gravityYEdit->SetValue(gd::String::From(sin(angle) * length));
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnsimpleFrictionEditText(
|
|
wxCommandEvent& event) {
|
|
frictionEdit->SetValue(simpleFrictionEdit->GetValue());
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnalphaMutableCheckSelect(
|
|
wxCommandEvent& event) {
|
|
alpha1RandomnessEdit->Enable(true);
|
|
alpha2RandomnessEdit->Enable(true);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnalphaRandomCheckSelect1(
|
|
wxCommandEvent& event) {
|
|
alpha1RandomnessEdit->Enable(false);
|
|
alpha2RandomnessEdit->Enable(false);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnangleRandomCheckSelect1(
|
|
wxCommandEvent& event) {
|
|
angle1RandomnessEdit->Enable(false);
|
|
angle2RandomnessEdit->Enable(false);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnangleMutableCheckSelect(
|
|
wxCommandEvent& event) {
|
|
angle1RandomnessEdit->Enable(true);
|
|
angle2RandomnessEdit->Enable(true);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnsizeRandomCheckSelect1(
|
|
wxCommandEvent& event) {
|
|
size1RandomnessEdit->Enable(false);
|
|
size2RandomnessEdit->Enable(false);
|
|
}
|
|
|
|
void ParticleEmitterObjectEditor::OnsizeMutableCheckSelect(
|
|
wxCommandEvent& event) {
|
|
size1RandomnessEdit->Enable(true);
|
|
size2RandomnessEdit->Enable(true);
|
|
}
|
|
|
|
#endif
|