[NUI] Remove duplicate code for TextField, TextEditor
authorBowon Ryu <bowon.ryu@samsung.com>
Mon, 9 Aug 2021 10:11:56 +0000 (19:11 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 18 Aug 2021 03:10:44 +0000 (12:10 +0900)
Removed duplicate code for converting between struct and PropertyMap.
Added a function to replace this in TextUtils.

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
src/Tizen.NUI/src/public/BaseComponents/TextEditor.cs
src/Tizen.NUI/src/public/BaseComponents/TextField.cs
src/Tizen.NUI/src/public/BaseComponents/TextUtils.cs

index 86a1ce0..c521def 100755 (executable)
@@ -17,7 +17,6 @@
 
 extern alias TizenSystemSettings;
 using TizenSystemSettings.Tizen.System;
-using System.Text.RegularExpressions;
 
 using System;
 using System.Globalization;
@@ -1323,12 +1322,7 @@ namespace Tizen.NUI.BaseComponents
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void SetInputFilter(InputFilter inputFilter)
         {
-            var map = new PropertyMap();
-            var accepted = inputFilter.Accepted != null ? new PropertyValue(inputFilter.Accepted.ToString()) : new PropertyValue("");
-            var rejected = inputFilter.Rejected != null ? new PropertyValue(inputFilter.Rejected.ToString()) : new PropertyValue("");
-            map.Add(0, accepted);
-            map.Add(1, rejected);
-            SetProperty(TextEditor.Property.InputFilter, new PropertyValue(map));
+            SetProperty(TextEditor.Property.InputFilter, new PropertyValue(TextUtils.GetInputFilterMap(inputFilter)));
         }
 
         /// <summary>
@@ -1343,16 +1337,7 @@ namespace Tizen.NUI.BaseComponents
         {
             var map = new PropertyMap();
             GetProperty(TextEditor.Property.InputFilter).Get(map);
-            string accepted = "";
-            string rejected = "";
-            map.Find(0)?.Get(out accepted);
-            map.Find(1)?.Get(out rejected);
-
-            var inputFilter = new InputFilter();
-            inputFilter.Accepted = new Regex(accepted);
-            inputFilter.Rejected = new Regex(rejected);
-
-            return inputFilter;
+            return TextUtils.GetInputFilterStruct(map);
         }
 
         /// <summary>
index 7f07a89..1585611 100755 (executable)
@@ -16,7 +16,6 @@
  */
 extern alias TizenSystemSettings;
 using TizenSystemSettings.Tizen.System;
-using System.Text.RegularExpressions;
 
 using System;
 using System.Globalization;
@@ -1470,12 +1469,7 @@ namespace Tizen.NUI.BaseComponents
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void SetInputFilter(InputFilter inputFilter)
         {
-            var map = new PropertyMap();
-            var accepted = inputFilter.Accepted != null ? new PropertyValue(inputFilter.Accepted.ToString()) : new PropertyValue("");
-            var rejected = inputFilter.Rejected != null ? new PropertyValue(inputFilter.Rejected.ToString()) : new PropertyValue("");
-            map.Add(0, accepted);
-            map.Add(1, rejected);
-            SetProperty(TextField.Property.InputFilter, new PropertyValue(map));
+            SetProperty(TextField.Property.InputFilter, new PropertyValue(TextUtils.GetInputFilterMap(inputFilter)));
         }
 
         /// <summary>
@@ -1490,16 +1484,7 @@ namespace Tizen.NUI.BaseComponents
         {
             var map = new PropertyMap();
             GetProperty(TextField.Property.InputFilter).Get(map);
-            string accepted = "";
-            string rejected = "";
-            map.Find(0)?.Get(out accepted);
-            map.Find(1)?.Get(out rejected);
-
-            var inputFilter = new InputFilter();
-            inputFilter.Accepted = new Regex(accepted);
-            inputFilter.Rejected = new Regex(rejected);
-
-            return inputFilter;
+            return TextUtils.GetInputFilterStruct(map);
         }
 
         /// <summary>
index 1f78098..3c6ffdb 100755 (executable)
@@ -19,6 +19,7 @@ extern alias TizenSystemSettings;
 using TizenSystemSettings.Tizen.System;
 using System;
 using System.ComponentModel;
+using System.Text.RegularExpressions;
 using Tizen.NUI.Text;
 
 namespace Tizen.NUI.BaseComponents
@@ -1468,5 +1469,45 @@ namespace Tizen.NUI.BaseComponents
 
             return fontStyle;
         }
+
+        /// <summary>
+        /// This method converts a InputFilter struct to a PropertyMap and returns it.
+        /// The returned map can be used for set InputFilter PropertyMap in the SetInputFilter method.
+        /// <param name="inputFilter">The InputFilter struct value.</param>
+        /// <returns> A PropertyMap for InputFilter property. </returns>
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static PropertyMap GetInputFilterMap(InputFilter inputFilter)
+        {
+            var map = new PropertyMap();
+            var accepted = inputFilter.Accepted != null ? new PropertyValue(inputFilter.Accepted.ToString()) : new PropertyValue("");
+            var rejected = inputFilter.Rejected != null ? new PropertyValue(inputFilter.Rejected.ToString()) : new PropertyValue("");
+            map.Add(0, accepted);
+            map.Add(1, rejected);
+
+            return map;
+        }
+
+        /// <summary>
+        /// This method converts a InputFilter map to a struct and returns it.
+        /// The returned struct can be returned to the user as a InputFilter in the GetInputFilter method.
+        /// <param name="map">The InputFilter PropertyMap.</param>
+        /// <returns> A InputFilter struct. </returns>
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static InputFilter GetInputFilterStruct(PropertyMap map)
+        {
+            string accepted = "";
+            string rejected = "";
+            map.Find(0)?.Get(out accepted);
+            map.Find(1)?.Get(out rejected);
+
+            var inputFilter = new InputFilter();
+            inputFilter.Accepted = new Regex(accepted);
+            inputFilter.Rejected = new Regex(rejected);
+
+            return inputFilter;
+
+        }
     }
 }