mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 16:59:35 +01:00
Feature TextValidateField (#1230)
* Feature TextValidateField * Fix Mouse Click * Fix Mouse click on TextRegexProvider * UiCatalog fields with text alginment centered * Fix Mouse click on TextRegexProvider when right aligned * added newline to text.cs catalog * NetMaskedTextProvider - changing the mask, try to use current input. NetMaskedTextProvider - Left and Right Cursor dosen't wrap around. * Add Some TextValidateField Tests. * Add TextRegexProvider Tests * Remove unnecessary using * Tests namespace to Terminal.Gui.Views * Regex Parse exception handling * remove textmaskprovider in favor of .net maskedtextprovider * refactoring and cleaning
This commit is contained in:
committed by
GitHub
parent
b29240f362
commit
819dc291bc
@@ -1,6 +1,9 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using Terminal.Gui;
|
||||
using Terminal.Gui.TextValidateProviders;
|
||||
|
||||
|
||||
|
||||
namespace UICatalog {
|
||||
[ScenarioMetadata (Name: "Text Input Controls", Description: "Tests all text input controls")]
|
||||
@@ -101,6 +104,38 @@ namespace UICatalog {
|
||||
|
||||
_timeField.TimeChanged += TimeChanged;
|
||||
|
||||
// MaskedTextProvider
|
||||
var netProvider = new Label (".Net MaskedTextProvider [ 999 000 LLL >LLL| AAA aaa ]") {
|
||||
X = Pos.Left (dateField),
|
||||
Y = Pos.Bottom (dateField) + 1
|
||||
};
|
||||
Win.Add (netProvider);
|
||||
|
||||
var netProviderField = new TextValidateField<NetMaskedTextProvider> ("999 000 LLL >LLL| AAA aaa") {
|
||||
X = Pos.Right (netProvider) + 1,
|
||||
Y = Pos.Y (netProvider),
|
||||
Width = 40,
|
||||
TextAlignment = TextAlignment.Centered
|
||||
};
|
||||
Win.Add (netProviderField);
|
||||
|
||||
// TextRegexProvider
|
||||
var regexProvider = new Label ("Gui.cs TextRegexProvider [ ^([0-9]?[0-9]?[0-9]|1000)$ ]") {
|
||||
X = Pos.Left (netProvider),
|
||||
Y = Pos.Bottom (netProvider) + 1
|
||||
};
|
||||
Win.Add (regexProvider);
|
||||
|
||||
var regexProviderField = new TextValidateField<TextRegexProvider> ("^([0-9]?[0-9]?[0-9]|1000)$") {
|
||||
X = Pos.Right (regexProvider) + 1,
|
||||
Y = Pos.Y (regexProvider),
|
||||
Width = 40,
|
||||
TextAlignment = TextAlignment.Centered
|
||||
};
|
||||
// Access the inner Provider to configure.
|
||||
regexProviderField.Provider.ValidateOnInput = false;
|
||||
|
||||
Win.Add (regexProviderField);
|
||||
}
|
||||
|
||||
TimeField _timeField;
|
||||
@@ -109,7 +144,6 @@ namespace UICatalog {
|
||||
private void TimeChanged (DateTimeEventArgs<TimeSpan> e)
|
||||
{
|
||||
_labelMirroringTimeField.Text = _timeField.Text;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user