@@ -425,12 +425,16 @@ class Builder {
425425
426426 // ================= PASS =================
427427 // ввод пароля [результат - строка], подключаемая переменная - любой тип
428- bool Pass (size_t id, Text label = " " , AnyPtr value = nullptr ) {
429- _widget (Code::pass, id, label, value);
428+ bool Pass (size_t id, Text label = " " , AnyPtr value = nullptr , Text regex = Text(), Text format = Text()) {
429+ if (_beginWidget (Code::pass, id, label, value)) {
430+ if (regex) (*p)[Code::regex] = regex;
431+ if (format) (*p)[Code::format] = format;
432+ _endWidget ();
433+ }
430434 return _isSet (id, value);
431435 }
432- bool Pass (Text label = " " , AnyPtr value = nullptr ) {
433- return Pass (_next (), label, value);
436+ bool Pass (Text label = " " , AnyPtr value = nullptr , Text regex = Text(), Text format = Text() ) {
437+ return Pass (_next (), label, value, regex, format );
434438 }
435439
436440 // ================= COLOR =================
@@ -499,8 +503,8 @@ class Builder {
499503 // сипннер [результат - число], подключаемая переменная - любой тип
500504 bool Spinner (size_t id, Text label = " " , float min = 0 , float max = 100 , float step = 1 , AnyPtr value = nullptr ) {
501505 if (_beginWidget (Code::spinner, id, label, value)) {
502- (*p)[Code::min] = min;
503- (*p)[Code::max] = max;
506+ if (! isnan (min)) (*p)[Code::min] = min;
507+ if (! isnan (max)) (*p)[Code::max] = max;
504508 (*p)[Code::step] = step;
505509 _endWidget ();
506510 }
0 commit comments