20 #ifndef EEDIT_PARTICLES_TOOLBOX_HEADER 21 #define EEDIT_PARTICLES_TOOLBOX_HEADER 30 #include <csutil/weakref.h> 31 #include <imesh/particles.h> 36 struct iParticleEmitter;
37 struct iParticleEffector;
38 struct iMeshObjectFactory;
39 struct ParticleParameterRow;
51 ParameterData (csString type,
float spinbox_min = 0,
float spinbox_max = 1,
float spinbox_step = .1) :
52 type (type), spinbox_min (spinbox_min), spinbox_max (spinbox_max), spinbox_step (spinbox_step)
69 void FillList(iEngine* engine);
70 void RefreshEditList();
71 void FillParmList(iMeshObjectFactory* fact);
72 void FillParmList(iParticleEmitter* emit);
73 void FillParmList(iParticleEffector* eff);
74 void RefreshParmList();
76 void CreateNewEmit (
const char*
string);
77 void CreateNewEffect (
const char*
string);
80 virtual void Update(
unsigned int elapsed);
81 virtual size_t GetType()
const;
82 virtual const char *
GetName()
const;
85 virtual bool PostSetup();
86 virtual bool OnButtonPressed(
int mouseButton,
int keyModifier,
pawsWidget* widget);
87 virtual bool OnButtonReleased(
int button,
int keyModifier,
pawsWidget* widget);
88 virtual void OnListAction(
pawsListBox* selected,
int status);
97 void ClearParmList ();
98 void UpdateParticleValue();
99 void SaveParticleSystem (
const csString& name);
100 void ReloadParticleSystem (
const csString& name);
102 csArray<iParticleEmitter*> emitters;
103 csArray<iParticleEffector*> effectors;
104 csRef<iEngine> engine;
106 int updatingParticleValue;
107 csWeakRef<iParticleSystemFactory> pfact;
108 csWeakRef<iMeshObjectFactory> objectFactory;
pawsCheckBox * valueBool3
A combination widget that has up and down arrows and a text label.
pawsCheckBox * valueBool2
ParameterData(csString type, float spinbox_min=0, float spinbox_max=1, float spinbox_step=.1)
pawsScrollBar * valueScroll2
A combination widget that has a check box and a text label.
csPDelArray< ParticleParameterRow > parameterRows
const char * GetName(int id)
pawsButton * reloadButton
pawsComboBox * valueChoices
pawsScrollBar * valueScroll1
pawsSpinBox * value3NumSpinBox
pawsButton * openPartButton
pawsSpinBox * valueNumSpinBox
This allows you to open/edit particle systems.
pawsButton * addParButton
A simple list box widget.
pawsScrollBar * valueScroll4
CREATE_PAWS_FACTORY(EEditParticleListToolbox)
pawsButton * refreshButton
A basic combo box widget.
pawsButton * addEffectorButton
pawsCheckBox * valueBool5
pawsButton * addEmitButton
pawsButton * delParButton
pawsScrollBar * valueScroll3
pawsCheckBox * valueBool4
pawsSpinBox * value2NumSpinBox