@@ -259,12 +259,14 @@ Local<Value> CustomFormClass::addInput(const Arguments& args) {
259
259
CHECK_ARG_TYPE (args[0 ], ValueKind::kString )
260
260
if (args.size () >= 2 ) CHECK_ARG_TYPE (args[1 ], ValueKind::kString );
261
261
if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kString );
262
+ if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kString );
262
263
263
264
try {
264
265
std::string placeholder = args.size () >= 2 ? args[1 ].asString ().toString () : " " ;
265
266
std::string def = args.size () >= 3 ? args[2 ].asString ().toString () : " " ;
267
+ std::string tooltip = args.size () >= 4 ? args[3 ].asString ().toString () : " " ;
266
268
267
- form.appendInput (" " , args[0 ].asString ().toString (), placeholder, def);
269
+ form.appendInput (" " , args[0 ].asString ().toString (), placeholder, def, tooltip );
268
270
return this ->getScriptObject ();
269
271
}
270
272
CATCH (" Fail in addInput!" )
@@ -279,12 +281,14 @@ Local<Value> CustomFormClass::addSwitch(const Arguments& args) {
279
281
return Local<Value>();
280
282
}
281
283
}
284
+ if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kString );
282
285
283
286
try {
284
287
bool def =
285
288
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 () : " " ;
286
290
287
- form.appendToggle (" " , args[0 ].asString ().toString (), def);
291
+ form.appendToggle (" " , args[0 ].asString ().toString (), def, tooltip );
288
292
return this ->getScriptObject ();
289
293
}
290
294
CATCH (" Fail in addSwitch!" )
@@ -295,6 +299,7 @@ Local<Value> CustomFormClass::addDropdown(const Arguments& args) {
295
299
CHECK_ARG_TYPE (args[0 ], ValueKind::kString )
296
300
CHECK_ARG_TYPE (args[1 ], ValueKind::kArray );
297
301
if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kNumber );
302
+ if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kString );
298
303
299
304
try {
300
305
auto optionsArr = args[1 ].asArray ();
@@ -304,9 +309,10 @@ Local<Value> CustomFormClass::addDropdown(const Arguments& args) {
304
309
options.emplace_back (optionsArr.get (i).asString ().toString ());
305
310
}
306
311
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 () : " " ;
308
314
309
- form.appendDropdown (" " , args[0 ].asString ().toString (), options, def);
315
+ form.appendDropdown (" " , args[0 ].asString ().toString (), options, def, tooltip );
310
316
return this ->getScriptObject ();
311
317
}
312
318
CATCH (" Fail in addDropdown!" )
@@ -319,6 +325,7 @@ Local<Value> CustomFormClass::addSlider(const Arguments& args) {
319
325
CHECK_ARG_TYPE (args[2 ], ValueKind::kNumber );
320
326
if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kNumber );
321
327
if (args.size () >= 5 ) CHECK_ARG_TYPE (args[4 ], ValueKind::kNumber );
328
+ if (args.size () >= 6 ) CHECK_ARG_TYPE (args[5 ], ValueKind::kString );
322
329
323
330
try {
324
331
int minValue = args[1 ].asNumber ().toInt32 ();
@@ -328,8 +335,9 @@ Local<Value> CustomFormClass::addSlider(const Arguments& args) {
328
335
int step = args.size () >= 4 ? args[3 ].asNumber ().toInt32 () : 1 ;
329
336
int defValue = args.size () >= 5 ? args[4 ].asNumber ().toInt32 () : minValue;
330
337
if (defValue < minValue || defValue > maxValue) defValue = minValue;
338
+ std::string tooltip = args.size () >= 6 ? args[5 ].asString ().toString () : " " ;
331
339
332
- form.appendSlider (" " , args[0 ].asString ().toString (), minValue, maxValue, step, defValue);
340
+ form.appendSlider (" " , args[0 ].asString ().toString (), minValue, maxValue, step, defValue, tooltip );
333
341
return this ->getScriptObject ();
334
342
}
335
343
CATCH (" Fail in addSlider!" )
@@ -340,16 +348,18 @@ Local<Value> CustomFormClass::addStepSlider(const Arguments& args) {
340
348
CHECK_ARG_TYPE (args[0 ], ValueKind::kString )
341
349
CHECK_ARG_TYPE (args[1 ], ValueKind::kArray );
342
350
if (args.size () >= 3 ) CHECK_ARG_TYPE (args[2 ], ValueKind::kNumber );
351
+ if (args.size () >= 4 ) CHECK_ARG_TYPE (args[3 ], ValueKind::kString );
343
352
344
353
try {
345
354
auto stepsArr = args[1 ].asArray ();
346
355
std::vector<std::string> steps;
347
356
steps.reserve (stepsArr.size ());
348
357
for (size_t i = 0 ; i < stepsArr.size (); ++i) steps.push_back (stepsArr.get (i).asString ().toString ());
349
358
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 () : " " ;
351
361
352
- form.appendStepSlider (" " , args[0 ].asString ().toString (), steps, defIndex);
362
+ form.appendStepSlider (" " , args[0 ].asString ().toString (), steps, defIndex, tooltip );
353
363
return this ->getScriptObject ();
354
364
}
355
365
CATCH (" Fail in addStepSlider!" )
0 commit comments