Add Entry.SelectAll() and Entry.SelectNone()
authorKangho Hur <kangho.hur@samsung.com>
Wed, 18 Jan 2017 04:57:40 +0000 (13:57 +0900)
committerKangho Hur <kangho.hur@samsung.com>
Wed, 18 Jan 2017 04:57:40 +0000 (13:57 +0900)
Change-Id: I3cc2ec2e7ee3c5b19d0c4fa0ee3e058c82d4a9e5

packaging/elm-sharp.spec
src/ElmSharp/ElmSharp/Entry.cs
src/ElmSharp/Interop/Interop.Elementary.Entry.cs
test/ElmSharp.Test/ElmSharp.Test.csproj
test/ElmSharp.Test/TC/EntryTest2.cs [new file with mode: 0644]

index fd90ac4..8e0f8ae 100644 (file)
@@ -1,4 +1,4 @@
-%define DEV_VERSION beta-007
+%define DEV_VERSION beta-008
 
 Name:       elm-sharp
 Summary:    C# Binding for Elementary
index a5ef7ca..1c59e0e 100644 (file)
@@ -293,6 +293,16 @@ namespace ElmSharp
             Interop.Elementary.elm_entry_input_panel_return_key_type_set(Handle, (Interop.Elementary.ReturnKeyType)keyType);
         }
 
+        public void SelectAll()
+        {
+            Interop.Elementary.elm_entry_select_all(Handle);
+        }
+
+        public void SelectNone()
+        {
+            Interop.Elementary.elm_entry_select_none(Handle);
+        }
+
         protected override IntPtr CreateHandle(EvasObject parent)
         {
             return Interop.Elementary.elm_entry_add(parent.Handle);
index 7040df7..22108af 100644 (file)
@@ -142,6 +142,11 @@ internal static partial class Interop
         [DllImport(Libraries.Elementary)]
         internal static extern InputPanelLayout elm_entry_input_panel_layout_get(IntPtr obj);
 
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_entry_select_all(IntPtr obj);
+
+        [DllImport(Libraries.Elementary)]
+        internal static extern void elm_entry_select_none(IntPtr obj);
 
         [DllImport(Libraries.Elementary)]
         internal static extern void elm_entry_text_style_user_pop(IntPtr obj);
index 4eeca22..69a6c69 100644 (file)
@@ -43,6 +43,7 @@
     <Compile Include="TC\BackgroundTest1.cs" />
     <Compile Include="TC\BackgroundTest2.cs" />
     <Compile Include="TC\BackgroundTest3.cs" />
+    <Compile Include="TC\EntryTest2.cs" />
     <Compile Include="TC\ScreenInformationTest.cs" />
     <Compile Include="TC\BoxLayoutTest1.cs" />
     <Compile Include="TC\BoxTest1.cs" />
       </FlavorProperties>
     </VisualStudio>
   </ProjectExtensions>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/test/ElmSharp.Test/TC/EntryTest2.cs b/test/ElmSharp.Test/TC/EntryTest2.cs
new file mode 100644 (file)
index 0000000..06c9f7c
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using ElmSharp;
+
+namespace ElmSharp.Test
+{
+    class EntryTest2 : TestCaseBase
+    {
+        public override string TestName => "EntryTest2";
+        public override string TestDescription => "To test basic operation of Entry";
+
+        public override void Run(Window window)
+        {
+            Background bg = new Background(window) {
+                AlignmentX = -1,
+                AlignmentY = -1,
+                WeightX = 1,
+                WeightY = 1,
+                Color = Color.Yellow
+            };
+            bg.Show();
+            window.AddResizeObject(bg);
+
+            Conformant conformant = new Conformant(window);
+            conformant.Show();
+            Box box = new Box(window);
+            conformant.SetContent(box);
+            box.Show();
+
+            Check check = new Check(window) {
+                AlignmentX = -1,
+                AlignmentY = 0.9,
+                WeightX = 1,
+                WeightY = 0.1,
+                Text = "Select All",
+            };
+            check.Show();
+
+            Entry entry = new Entry(window) {
+                AlignmentX = -1,
+                AlignmentY = 0.1,
+                WeightX = 1,
+                WeightY = 1,
+                IsSingleLine = true,
+                Text = "Hello, Tizen !!!"
+            };
+            entry.Show();
+
+            check.StateChanged += (object sender, CheckStateChangedEventArgs e) =>
+            {
+                if (e.NewState == true)
+                {
+                    entry.SelectAll();
+                }
+                else
+                {
+                    entry.SelectNone();
+                }
+            };
+
+            box.PackEnd(check);
+            box.PackEnd(entry);
+        }
+    }
+}