@@ -259,12 +259,14 @@ Local<Value> CustomFormClass::addInput(const Arguments& args) {
259259 CHECK_ARG_TYPE (args[0 ], ValueKind::kString )
260260 if (args.size () >= 2 ) CHECK_ARG_TYPE (args[1 ], ValueKind::kString );
261261 if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kString );
262+ if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kString );
262263
263264 try {
264265 std::string placeholder = args.size () >= 2 ? args[1 ].asString ().toString () : " " ;
265266 std::string def = args.size () >= 3 ? args[2 ].asString ().toString () : " " ;
267+ std::string tooltip = args.size () >= 4 ? args[3 ].asString ().toString () : " " ;
266268
267- form.appendInput (" " , args[0 ].asString ().toString (), placeholder, def);
269+ form.appendInput (" " , args[0 ].asString ().toString (), placeholder, def, tooltip );
268270 return this ->getScriptObject ();
269271 }
270272 CATCH (" Fail in addInput!" )
@@ -279,12 +281,14 @@ Local<Value> CustomFormClass::addSwitch(const Arguments& args) {
279281 return Local<Value>();
280282 }
281283 }
284+ if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kString );
282285
283286 try {
284287 bool def =
285288 args.size () >= 2 ? args[1 ].isBoolean () ? args[1 ].asBoolean ().value () : args[1 ].asNumber ().toInt32 () : false ;
289+ std::string tooltip = args.size () >= 3 ? args[2 ].asString ().toString () : " " ;
286290
287- form.appendToggle (" " , args[0 ].asString ().toString (), def);
291+ form.appendToggle (" " , args[0 ].asString ().toString (), def, tooltip );
288292 return this ->getScriptObject ();
289293 }
290294 CATCH (" Fail in addSwitch!" )
@@ -295,6 +299,7 @@ Local<Value> CustomFormClass::addDropdown(const Arguments& args) {
295299 CHECK_ARG_TYPE (args[0 ], ValueKind::kString )
296300 CHECK_ARG_TYPE (args[1 ], ValueKind::kArray );
297301 if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kNumber );
302+ if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kString );
298303
299304 try {
300305 auto optionsArr = args[1 ].asArray ();
@@ -304,9 +309,10 @@ Local<Value> CustomFormClass::addDropdown(const Arguments& args) {
304309 options.emplace_back (optionsArr.get (i).asString ().toString ());
305310 }
306311
307- int def = args.size () >= 3 ? args[2 ].asNumber ().toInt32 () : 0 ;
312+ int def = args.size () >= 3 ? args[2 ].asNumber ().toInt32 () : 0 ;
313+ std::string tooltip = args.size () >= 4 ? args[3 ].asString ().toString () : " " ;
308314
309- form.appendDropdown (" " , args[0 ].asString ().toString (), options, def);
315+ form.appendDropdown (" " , args[0 ].asString ().toString (), options, def, tooltip );
310316 return this ->getScriptObject ();
311317 }
312318 CATCH (" Fail in addDropdown!" )
@@ -319,6 +325,7 @@ Local<Value> CustomFormClass::addSlider(const Arguments& args) {
319325 CHECK_ARG_TYPE (args[2 ], ValueKind::kNumber );
320326 if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kNumber );
321327 if (args.size () >= 5 ) CHECK_ARG_TYPE (args[4 ], ValueKind::kNumber );
328+ if (args.size () >= 6 ) CHECK_ARG_TYPE (args[5 ], ValueKind::kString );
322329
323330 try {
324331 int minValue = args[1 ].asNumber ().toInt32 ();
@@ -328,8 +335,9 @@ Local<Value> CustomFormClass::addSlider(const Arguments& args) {
328335 int step = args.size () >= 4 ? args[3 ].asNumber ().toInt32 () : 1 ;
329336 int defValue = args.size () >= 5 ? args[4 ].asNumber ().toInt32 () : minValue;
330337 if (defValue < minValue || defValue > maxValue) defValue = minValue;
338+ std::string tooltip = args.size () >= 6 ? args[5 ].asString ().toString () : " " ;
331339
332- form.appendSlider (" " , args[0 ].asString ().toString (), minValue, maxValue, step, defValue);
340+ form.appendSlider (" " , args[0 ].asString ().toString (), minValue, maxValue, step, defValue, tooltip );
333341 return this ->getScriptObject ();
334342 }
335343 CATCH (" Fail in addSlider!" )
@@ -340,16 +348,18 @@ Local<Value> CustomFormClass::addStepSlider(const Arguments& args) {
340348 CHECK_ARG_TYPE (args[0 ], ValueKind::kString )
341349 CHECK_ARG_TYPE (args[1 ], ValueKind::kArray );
342350 if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kNumber );
351+ if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kString );
343352
344353 try {
345354 auto stepsArr = args[1 ].asArray ();
346355 std::vector<std::string> steps;
347356 steps.reserve (stepsArr.size ());
348357 for (size_t i = 0 ; i < stepsArr.size (); ++i) steps.push_back (stepsArr.get (i).asString ().toString ());
349358
350- int defIndex = args.size () >= 3 ? args[2 ].asNumber ().toInt32 () : 0 ;
359+ int defIndex = args.size () >= 3 ? args[2 ].asNumber ().toInt32 () : 0 ;
360+ std::string tooltip = args.size () >= 4 ? args[3 ].asString ().toString () : " " ;
351361
352- form.appendStepSlider (" " , args[0 ].asString ().toString (), steps, defIndex);
362+ form.appendStepSlider (" " , args[0 ].asString ().toString (), steps, defIndex, tooltip );
353363 return this ->getScriptObject ();
354364 }
355365 CATCH (" Fail in addStepSlider!" )
0 commit comments