@@ -66,10 +66,11 @@ void imguiParameters::createStringParameter(imguiParameters::imguiParameter* par
6666 if ((sparam != nullptr ) && (sparam->getFct != nullptr ))
6767 {
6868 std::string str = sparam->getFct ();
69- char value[1000 ];
69+ const unsigned int buf_size = 1000 ;
70+ char value[buf_size];
7071 strcpy (value, str.c_str ());
7172
72- ImGui::InputText (sparam->label .c_str (), value, str. length () , flags);
73+ ImGui::InputText (sparam->label .c_str (), value, buf_size , flags);
7374
7475 if (ImGui::IsItemDeactivatedAfterEdit ())
7576 {
@@ -187,6 +188,8 @@ void imguiParameters::createSubgroupParameters(const std::vector<std::pair<std::
187188 std::string helpText = param->description ;
188189 if (param->readOnly )
189190 helpText += " (read-only)" ;
191+ else if (param->name != " " )
192+ helpText += " \n\n key in scene file:\n " + param->name ;
190193
191194 ImGuiInputTextFlags flags = 0 ;
192195 if (param->readOnly )
@@ -304,9 +307,19 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
304307 if (group == " General" )
305308 subgroup = group;
306309
310+ if (group == " Export" )
311+ subgroup = " General" ;
312+
313+ if ((group == " Particle exporters" ) || (group == " Rigid body exporters" ))
314+ {
315+ subgroup = group;
316+ group = " Export" ;
317+ }
318+
307319 if (paramBase->getType () == RealParameterType)
308320 {
309321 imguiParameters::imguiNumericParameter<Real>* param = new imguiParameters::imguiNumericParameter<Real>();
322+ param->name = paramBase->getName ();
310323 param->description = paramBase->getDescription ();
311324 param->label = paramBase->getLabel ();
312325 param->readOnly = paramBase->getReadOnly ();
@@ -319,6 +332,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
319332 else if (paramBase->getType () == ParameterBase::UINT32)
320333 {
321334 imguiParameters::imguiNumericParameter<unsigned int >* param = new imguiParameters::imguiNumericParameter<unsigned int >();
335+ param->name = paramBase->getName ();
322336 param->description = paramBase->getDescription ();
323337 param->label = paramBase->getLabel ();
324338 param->readOnly = paramBase->getReadOnly ();
@@ -331,6 +345,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
331345 else if (paramBase->getType () == ParameterBase::UINT16)
332346 {
333347 imguiParameters::imguiNumericParameter<unsigned short >* param = new imguiParameters::imguiNumericParameter<unsigned short >();
348+ param->name = paramBase->getName ();
334349 param->description = paramBase->getDescription ();
335350 param->label = paramBase->getLabel ();
336351 param->readOnly = paramBase->getReadOnly ();
@@ -343,6 +358,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
343358 else if (paramBase->getType () == ParameterBase::UINT8)
344359 {
345360 imguiParameters::imguiNumericParameter<unsigned char >* param = new imguiParameters::imguiNumericParameter<unsigned char >();
361+ param->name = paramBase->getName ();
346362 param->description = paramBase->getDescription ();
347363 param->label = paramBase->getLabel ();
348364 param->readOnly = paramBase->getReadOnly ();
@@ -355,6 +371,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
355371 else if (paramBase->getType () == ParameterBase::INT32)
356372 {
357373 imguiParameters::imguiNumericParameter<int >* param = new imguiParameters::imguiNumericParameter<int >();
374+ param->name = paramBase->getName ();
358375 param->description = paramBase->getDescription ();
359376 param->label = paramBase->getLabel ();
360377 param->readOnly = paramBase->getReadOnly ();
@@ -367,6 +384,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
367384 else if (paramBase->getType () == ParameterBase::INT16)
368385 {
369386 imguiParameters::imguiNumericParameter<short >* param = new imguiParameters::imguiNumericParameter<short >();
387+ param->name = paramBase->getName ();
370388 param->description = paramBase->getDescription ();
371389 param->label = paramBase->getLabel ();
372390 param->readOnly = paramBase->getReadOnly ();
@@ -379,6 +397,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
379397 else if (paramBase->getType () == ParameterBase::INT8)
380398 {
381399 imguiParameters::imguiNumericParameter<char >* param = new imguiParameters::imguiNumericParameter<char >();
400+ param->name = paramBase->getName ();
382401 param->description = paramBase->getDescription ();
383402 param->label = paramBase->getLabel ();
384403 param->readOnly = paramBase->getReadOnly ();
@@ -391,6 +410,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
391410 else if (paramBase->getType () == ParameterBase::BOOL)
392411 {
393412 imguiParameters::imguiBoolParameter* param = new imguiParameters::imguiBoolParameter ();
413+ param->name = paramBase->getName ();
394414 param->description = paramBase->getDescription ();
395415 param->label = paramBase->getLabel ();
396416 param->readOnly = paramBase->getReadOnly ();
@@ -401,6 +421,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
401421 else if (paramBase->getType () == ParameterBase::ENUM)
402422 {
403423 imguiParameters::imguiEnumParameter* param = new imguiParameters::imguiEnumParameter ();
424+ param->name = paramBase->getName ();
404425 param->description = paramBase->getDescription ();
405426 param->label = paramBase->getLabel ();
406427 param->readOnly = paramBase->getReadOnly ();
@@ -414,6 +435,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
414435 else if (paramBase->getType () == ParameterBase::STRING)
415436 {
416437 imguiParameters::imguiStringParameter* param = new imguiParameters::imguiStringParameter ();
438+ param->name = paramBase->getName ();
417439 param->description = paramBase->getDescription ();
418440 param->label = paramBase->getLabel ();
419441 param->readOnly = paramBase->getReadOnly ();
@@ -424,6 +446,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
424446 else if ((paramBase->getType () == RealVectorParameterType) && (static_cast <RealVectorParameter*>(paramBase)->getDim () == 3 ))
425447 {
426448 imguiParameters::imguiVec3rParameter* param = new imguiParameters::imguiVec3rParameter ();
449+ param->name = paramBase->getName ();
427450 param->description = paramBase->getDescription ();
428451 param->label = paramBase->getLabel ();
429452 param->readOnly = paramBase->getReadOnly ();
@@ -434,6 +457,7 @@ void imguiParameters::createParameterObjectGUI(ParameterObject* paramObj)
434457 else if (paramBase->getType () == ParameterBase::FUNCTION)
435458 {
436459 imguiParameters::imguiFunctionParameter* param = new imguiParameters::imguiFunctionParameter ();
460+ param->name = paramBase->getName ();
437461 param->description = paramBase->getDescription ();
438462 param->label = paramBase->getLabel ();
439463 param->readOnly = false ;
0 commit comments