From 92dd605e0456e4f4931ca87fd9d9bc904b827213 Mon Sep 17 00:00:00 2001 From: "minho.sun" Date: Mon, 14 Aug 2017 16:47:32 +0900 Subject: [PATCH] Revert "[Tizen]Update ImfManager and fix Resized&LanguageChanged event" This reverts commit f419245b112ffd855ed59b25be8a0264ea1e02bf. Change-Id: I59b5c809a880eb4bce90dd92db6271d005f9cbd3 --- .../NUISamples.TizenTV/examples/text-test2.cs | 394 +++++++++------------ src/Tizen.NUI/src/public/ImfManager.cs | 51 +-- 2 files changed, 189 insertions(+), 256 deletions(-) diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/examples/text-test2.cs b/NUISamples/NUISamples/NUISamples.TizenTV/examples/text-test2.cs index 75d43fe..0ba752c 100755 --- a/NUISamples/NUISamples/NUISamples.TizenTV/examples/text-test2.cs +++ b/NUISamples/NUISamples/NUISamples.TizenTV/examples/text-test2.cs @@ -1,222 +1,172 @@ -/* -* Copyright (c) 2017 Samsung Electronics Co., Ltd. -* -* 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 System.Runtime.InteropServices; -using Tizen.NUI; -using Tizen.NUI.UIComponents; -using Tizen.NUI.BaseComponents; -using Tizen.NUI.Constants; - -namespace TextTest2 -{ - class Example : NUIApplication - { - public Example() : base() - { - } - - public Example(string stylesheet) : base(stylesheet) - { - } - - public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode) - { - } - - protected override void OnCreate() - { - base.OnCreate(); - Initialize(); - } - - private PushButton button; - private TextEditor editor; - private ImfManager imfManager; - - - public void Initialize() - { - Window window = Window.Instance; - window.BackgroundColor = Color.White; - - PropertyMap propertyMap = new PropertyMap(); - propertyMap.Add("placeholderText", new PropertyValue("TextEditor Placeholder Text")); - propertyMap.Add("placeholderColor", new PropertyValue(Color.Red)); - propertyMap.Add("placeholderPointSize", new PropertyValue(12.0f)); - - PropertyMap fontStyleMap = new PropertyMap(); - fontStyleMap.Add("weight", new PropertyValue("bold")); - fontStyleMap.Add("width", new PropertyValue("condensed")); - fontStyleMap.Add("slant", new PropertyValue("italic")); - propertyMap.Add("placeholderFontStyle", new PropertyValue(fontStyleMap)); - - - editor = new TextEditor() - { - Size2D = new Size2D(500, 300), - Position2D = new Position2D(10, 550), - BackgroundColor = Color.Magenta, - Focusable = true, - Placeholder = propertyMap - }; - - window.Add(editor); - - editor.TextChanged += (obj, e) => { - Tizen.Log.Fatal("NUI", "editor line count: " + e.TextEditor.LineCount); - }; - - editor.ScrollStateChanged += (obj, e) => { - Tizen.Log.Fatal("NUI", "editor scroll state:" + e.ScrollState); - }; - - editor.KeyEvent += OnKeyEvent; - - - Tizen.Log.Debug("NUI", "editor id: " + editor.ID); - - imfManager = ImfManager.Get(); - imfManager.AutoEnableInputPanel(false); - imfManager.SetInputPanelUserData("layouttype = 1 & entrylimit = 255 & action = clearall_for_voice_commit & caller = org.volt.search - all"); - - - // send privatecommand event - ImfManager.ImfEventData imfevent = new ImfManager.ImfEventData(ImfManager.ImfEvent.PrivateCommand, "", 0, 0); - imfManager.EventReceived += ImfManager_ImfManagerEventReceived; - - imfManager.LanguageChanged += ImfManager_LanguageChanged; - - imfManager.Activated += (obj, e) => { - Tizen.Log.Debug("NUI", "ImfManager Activated !!!!!"); - }; - imfManager.StatusChanged += (obj, e) => { - Tizen.Log.Debug("NUI", "ImfManager StatusChanged: !!!!!" + e.StatusChanged); - }; - imfManager.Resized += (obj, e) => - { - Tizen.Log.Debug("NUI", "ImfManager Resized !!!!!"); - }; - imfManager.KeyboardTypeChanged += (obj, e) => { - Tizen.Log.Debug("NUI", "ImfManager KeyboardTypeChanged: !!!!!" + e.KeyboardType); - }; - - button = new PushButton() - { - LabelText = "Button", - Size2D = new Size2D(400, 200), - Position2D = new Position2D(10, -10), - ParentOrigin = ParentOrigin.BottomLeft, - PivotPoint = PivotPoint.BottomLeft, - PositionUsesPivotPoint = true, - Focusable = true - }; - - window.Add(button); - - button.UpFocusableView = editor; - editor.DownFocusableView = button; - - FocusManager.Instance.SetCurrentFocusView(button); - } - - private bool OnKeyEvent(object source, View.KeyEventArgs e) - { - Tizen.Log.Debug("NUI", "KeyEvent called !!!!!"); - if (e.Key.State != Key.StateType.Down || editor.Focusable == false) - { - Tizen.Log.Debug("NUI", "KeyEvent ignored !!!!!"); - return false; - } - switch (e.Key.KeyPressedName) - { - case "Return": - Tizen.Log.Debug("NUI", "KeyPressedName: Return !!!!!"); - ShowImf(); - return true; - case "Select": - Tizen.Log.Debug("NUI", "KeyPressedName: Select !!!!!"); - HideImf(); - return true; - case "Cancel": - Tizen.Log.Debug("NUI", "KeyPressedName: Cancel !!!!!"); - HideImf(); - return true; - case "Down": - Tizen.Log.Debug("NUI", "KeyPressedName: Down !!!!!"); - HideImf(); - return MoveFocusTo(button); - } - return false; - } - - private void ShowImf() - { - imfManager.Activate(); - imfManager.ShowInputPanel(); - Tizen.Log.Debug("NUI", "IME showed !!!!!"); - } - - private bool MoveFocusTo(View view) - { - if (view == null) return false; - return FocusManager.Instance.SetCurrentFocusView(view); - } - - private void HideImf() - { - imfManager.Deactivate(); - imfManager.HideInputPanel(); - Tizen.Log.Debug("NUI", "IME hided !!!!!"); - } - - public ImfManager.ImfCallbackData ImfManager_ImfManagerEventReceived(object sender, ImfManager.EventReceivedEventArgs e) - { - Tizen.Log.Debug("NUI", "ImfManager_ImfManagerEventReceived()!"); - - Tizen.Log.Debug("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.PredictiveString); - Tizen.Log.Debug("NUI", "e.ImfEventData.CursorOffset= " + e?.ImfEventData?.CursorOffset); - Tizen.Log.Debug("NUI", "e.ImfEventData.EventName= " + e?.ImfEventData?.EventName); - Tizen.Log.Debug("NUI", "e.ImfEventData.NumberOfChars= " + e?.ImfEventData?.NumberOfChars); - - //Be able to compare VD specific private command with ImfEventData.predictiveString - if (e.ImfEventData.PredictiveString == "IME_F31") - { - ImfManager.Get().Deactivate(); - ImfManager.Get().HideInputPanel(); - // Do Something the user wants - Tizen.Log.Debug("NUI", "ImfManager ImfEventData.PredictiveString: IME_F31!!!"); - } - ImfManager.ImfCallbackData callbackData = new ImfManager.ImfCallbackData(true, 0, e.ImfEventData.PredictiveString, false); - Tizen.Log.Debug("NUI", "ImfManager return callbackData!!!"); - return callbackData; - } - - public void ImfManager_LanguageChanged(object sender, EventArgs args) - { - Tizen.Log.Debug("NUI", "ImfManager LanguageChanged!!!"); - return; - } - - [STAThread] - static void _Main(string[] args) - { - Example example = new Example(); - example.Run(args); - } - } -} +/* +* Copyright (c) 2017 Samsung Electronics Co., Ltd. +* +* 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 System.Runtime.InteropServices; +using Tizen.NUI; +using Tizen.NUI.UIComponents; +using Tizen.NUI.BaseComponents; +using Tizen.NUI.Constants; + +namespace TextTest2 +{ + class Example : NUIApplication + { + public Example() : base() + { + } + + public Example(string stylesheet) : base(stylesheet) + { + } + + public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode) + { + } + + protected override void OnCreate() + { + base.OnCreate(); + Initialize(); + } + + private PushButton _button; + private PushButton button2; + private TextField _field; + private TextEditor editor; + + + public void Initialize() + { + Window window = Window.Instance; + window.BackgroundColor = Color.White; + + _field = new TextField(); + _field.Size2D = new Size2D(500, 300); + _field.Position2D = new Position2D(530, 550); + _field.BackgroundColor = Color.Cyan; + _field.PlaceholderText = "TextField input someth..."; + _field.Focusable = true; + _field.EnableSelection = true; + window.Add(_field); + + PropertyMap propertyMap = new PropertyMap(); + propertyMap.Add("placeholderText", new PropertyValue("TextEditor Placeholder Text")); + propertyMap.Add("placeholderColor", new PropertyValue(Color.Red)); + propertyMap.Add("placeholderPointSize", new PropertyValue(12.0f)); + + PropertyMap fontStyleMap = new PropertyMap(); + fontStyleMap.Add("weight", new PropertyValue("bold")); + fontStyleMap.Add("width", new PropertyValue("condensed")); + fontStyleMap.Add("slant", new PropertyValue("italic")); + propertyMap.Add("placeholderFontStyle", new PropertyValue(fontStyleMap)); + + + editor = new TextEditor(); + editor.Size2D = new Size2D(500, 300); + editor.Position2D = new Position2D(10, 550); + editor.BackgroundColor = Color.Magenta; + editor.Focusable = true; + editor.Placeholder = propertyMap; + + window.Add(editor); + editor.TextChanged += (obj, e) => { + Tizen.Log.Fatal("NUI", "editor line count: " + e.TextEditor.LineCount); + }; + + editor.ScrollStateChanged += (obj, e) => { + Tizen.Log.Fatal("NUI", "editor scroll state:" + e.ScrollState); + }; + + Tizen.Log.Debug("NUI", "editor id: " + editor.ID); + + ImfManager imfManager = ImfManager.Get(); + // send privatecommand event + ImfManager.ImfEventData imfevent = new ImfManager.ImfEventData(ImfManager.ImfEvent.PrivateCommand, "", 0, 0); + imfManager.ImfManagerEventReceived += ImfManager_ImfManagerEventReceived; + + //imfmanager.imfManagerLanguageChanged += ImfManager_LanguageChanged; + + _button = new PushButton(); + _button.LabelText = "Button1"; + _button.Size2D = new Size2D(400, 200); + _button.Position2D = new Position2D(10, -10); + _button.ParentOrigin = ParentOrigin.BottomLeft; + _button.PivotPoint = PivotPoint.BottomLeft; + _button.PositionUsesPivotPoint = true; + _button.Focusable = true; + window.Add(_button); + + button2 = new PushButton(); + button2.LabelText = "Button2"; + button2.Size2D = new Size2D(400, 200); + button2.ParentOrigin = ParentOrigin.BottomLeft; + button2.PivotPoint = PivotPoint.BottomLeft; + button2.Position2D = new Position2D(420, -10); + button2.PositionUsesPivotPoint = true; + button2.Focusable = true; + window.Add(button2); + + _button.UpFocusableView = editor; + FocusManager.Instance.PreFocusChange += OnPreFocusChange; + } + + private View OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e) + { + if (!e.ProposedView && !e.CurrentView) + { + e.ProposedView = _button; + } + return e.ProposedView; + } + + public ImfManager.ImfCallbackData ImfManager_ImfManagerEventReceived(object sender, ImfManager.ImfManagerEventReceivedEventArgs e) + { + Tizen.Log.Fatal("NUI", "ImfManager_ImfManagerEventReceived()!"); + + Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.PredictiveString); + Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.CursorOffset); + Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.EventName); + Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.NumberOfChars); + + //Be able to compare VD specific private command with ImfEventData.predictiveString + if (e.ImfEventData.PredictiveString == "IME_F31") + { + ImfManager.Get().Deactivate(); + ImfManager.Get().HideInputPanel(); + // Do Something the user wants + Tizen.Log.Fatal("NUI", "ImfManager ImfEventData.PredictiveString: IME_F31!!!"); + } + ImfManager.ImfCallbackData callbackData = new ImfManager.ImfCallbackData(true, 0, e.ImfEventData.PredictiveString, false); + Tizen.Log.Fatal("NUI", "ImfManager return callbackData!!!"); + return callbackData; + } + + //public void ImfManager_LanguageChanged(object sender, EventArgs args) + //{ + // Tizen.Log.Fatal("NUI", "ImfManager LanguageChanged!!!"); + // return; + //} + + [STAThread] + static void _Main(string[] args) + { + Example example = new Example(); + example.Run(args); + } + } +} diff --git a/src/Tizen.NUI/src/public/ImfManager.cs b/src/Tizen.NUI/src/public/ImfManager.cs index 16f5728..1706bab 100755 --- a/src/Tizen.NUI/src/public/ImfManager.cs +++ b/src/Tizen.NUI/src/public/ImfManager.cs @@ -860,6 +860,13 @@ namespace Tizen.NUI if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } + internal static ImfManager GetImfManagerFromPtr(IntPtr cPtr) + { + ImfManager ret = new ImfManager(cPtr, false); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + /// /// ImfManager activated event arguments. /// @@ -909,10 +916,7 @@ namespace Tizen.NUI { ImfManagerActivatedEventArgs e = new ImfManagerActivatedEventArgs(); - if (data != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager; - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(data); if (_imfManagerActivatedEventHandler != null) { @@ -967,10 +971,7 @@ namespace Tizen.NUI { ActivatedEventArgs e = new ActivatedEventArgs(); - if (data != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager; - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(data); if (_activatedEventHandler != null) { @@ -1037,10 +1038,7 @@ namespace Tizen.NUI { ImfManagerEventReceivedEventArgs e = new ImfManagerEventReceivedEventArgs(); - if (data != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager; - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(data); if (_imfManagerEventReceivedEventHandler != null) { @@ -1102,14 +1100,8 @@ namespace Tizen.NUI EventReceivedEventArgs e = new EventReceivedEventArgs(); - if (imfManager != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager; - } - if (imfEventData != null) - { - e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData); - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(imfManager); + e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData); if (_eventReceivedEventHandler != null) { @@ -1184,10 +1176,7 @@ namespace Tizen.NUI { ImfManagerStatusChangedEventArgs e = new ImfManagerStatusChangedEventArgs(); - if (data != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager; - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(data); if (_imfManagerStatusChangedEventHandler != null) { @@ -1308,10 +1297,7 @@ namespace Tizen.NUI { ImfManagerResizedEventArgs e = new ImfManagerResizedEventArgs(); - if (data != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager; - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(data); if (_imfManagerResizedEventHandler != null) { @@ -1363,7 +1349,7 @@ namespace Tizen.NUI [Obsolete("Please do not use! this will be internal")] public ImfVoidSignalType ResizedSignal() { - ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_ResizedSignal(swigCPtr), false); + ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_ResizedSignal(swigCPtr), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } @@ -1416,10 +1402,7 @@ namespace Tizen.NUI { ImfManagerLanguageChangedEventArgs e = new ImfManagerLanguageChangedEventArgs(); - if (data != null) - { - e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager; - } + e.ImfManager = ImfManager.GetImfManagerFromPtr(data); if (_imfManagerLanguageChangedEventHandler != null) { @@ -1471,7 +1454,7 @@ namespace Tizen.NUI [Obsolete("Please do not use! this will be internal")] public ImfVoidSignalType LanguageChangedSignal() { - ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_LanguageChangedSignal(swigCPtr), false); + ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_LanguageChangedSignal(swigCPtr), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } -- 2.7.4