2 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
\r
4 * Licensed under the Apache License, Version 2.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
19 using System.Runtime.InteropServices;
\r
21 using Tizen.NUI.UIComponents;
\r
22 using Tizen.NUI.BaseComponents;
\r
23 using Tizen.NUI.Constants;
\r
27 class Example : NUIApplication
\r
29 public Example() : base()
\r
33 public Example(string stylesheet) : base(stylesheet)
\r
37 public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
\r
41 protected override void OnCreate()
\r
47 private PushButton _button;
\r
48 private PushButton button2;
\r
49 private TextField _field;
\r
50 private TextEditor editor;
\r
53 public void Initialize()
\r
55 Window window = Window.Instance;
\r
56 window.BackgroundColor = Color.White;
\r
58 _field = new TextField();
\r
59 _field.Size2D = new Size2D(500, 300);
\r
60 _field.Position2D = new Position2D(530, 550);
\r
61 _field.BackgroundColor = Color.Cyan;
\r
62 _field.PlaceholderText = "TextField input someth...";
\r
63 _field.Focusable = true;
\r
64 _field.EnableSelection = true;
\r
67 PropertyMap propertyMap = new PropertyMap();
\r
68 propertyMap.Add("placeholderText", new PropertyValue("TextEditor Placeholder Text"));
\r
69 propertyMap.Add("placeholderColor", new PropertyValue(Color.Red));
\r
70 propertyMap.Add("placeholderPointSize", new PropertyValue(12.0f));
\r
72 PropertyMap fontStyleMap = new PropertyMap();
\r
73 fontStyleMap.Add("weight", new PropertyValue("bold"));
\r
74 fontStyleMap.Add("width", new PropertyValue("condensed"));
\r
75 fontStyleMap.Add("slant", new PropertyValue("italic"));
\r
76 propertyMap.Add("placeholderFontStyle", new PropertyValue(fontStyleMap));
\r
79 editor = new TextEditor();
\r
80 editor.Size2D = new Size2D(500, 300);
\r
81 editor.Position2D = new Position2D(10, 550);
\r
82 editor.BackgroundColor = Color.Magenta;
\r
83 editor.Focusable = true;
\r
84 editor.Placeholder = propertyMap;
\r
87 editor.TextChanged += (obj, e) => {
\r
88 Tizen.Log.Fatal("NUI", "editor line count: " + e.TextEditor.LineCount);
\r
91 editor.ScrollStateChanged += (obj, e) => {
\r
92 Tizen.Log.Fatal("NUI", "editor scroll state:" + e.ScrollState);
\r
95 Tizen.Log.Debug("NUI", "editor id: " + editor.ID);
\r
97 ImfManager imfManager = ImfManager.Get();
\r
98 // send privatecommand event
\r
99 ImfManager.ImfEventData imfevent = new ImfManager.ImfEventData(ImfManager.ImfEvent.PrivateCommand, "", 0, 0);
\r
100 imfManager.ImfManagerEventReceived += ImfManager_ImfManagerEventReceived;
\r
102 //imfmanager.imfManagerLanguageChanged += ImfManager_LanguageChanged;
\r
104 _button = new PushButton();
\r
105 _button.LabelText = "Button1";
\r
106 _button.Size2D = new Size2D(400, 200);
\r
107 _button.Position2D = new Position2D(10, -10);
\r
108 _button.ParentOrigin = ParentOrigin.BottomLeft;
\r
109 _button.PivotPoint = PivotPoint.BottomLeft;
\r
110 _button.PositionUsesPivotPoint = true;
\r
111 _button.Focusable = true;
\r
112 window.Add(_button);
\r
114 button2 = new PushButton();
\r
115 button2.LabelText = "Button2";
\r
116 button2.Size2D = new Size2D(400, 200);
\r
117 button2.ParentOrigin = ParentOrigin.BottomLeft;
\r
118 button2.PivotPoint = PivotPoint.BottomLeft;
\r
119 button2.Position2D = new Position2D(420, -10);
\r
120 button2.PositionUsesPivotPoint = true;
\r
121 button2.Focusable = true;
\r
122 window.Add(button2);
\r
124 _button.UpFocusableView = editor;
\r
125 FocusManager.Instance.PreFocusChange += OnPreFocusChange;
\r
128 private View OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
\r
130 if (!e.ProposedView && !e.CurrentView)
\r
132 e.ProposedView = _button;
\r
134 return e.ProposedView;
\r
137 public ImfManager.ImfCallbackData ImfManager_ImfManagerEventReceived(object sender, ImfManager.ImfManagerEventReceivedEventArgs e)
\r
139 Tizen.Log.Fatal("NUI", "ImfManager_ImfManagerEventReceived()!");
\r
141 Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.PredictiveString);
\r
142 Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.CursorOffset);
\r
143 Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.EventName);
\r
144 Tizen.Log.Fatal("NUI", "e.ImfEventData.PredictiveString= " + e?.ImfEventData?.NumberOfChars);
\r
146 //Be able to compare VD specific private command with ImfEventData.predictiveString
\r
147 if (e.ImfEventData.PredictiveString == "IME_F31")
\r
149 ImfManager.Get().Deactivate();
\r
150 ImfManager.Get().HideInputPanel();
\r
151 // Do Something the user wants
\r
152 Tizen.Log.Fatal("NUI", "ImfManager ImfEventData.PredictiveString: IME_F31!!!");
\r
154 ImfManager.ImfCallbackData callbackData = new ImfManager.ImfCallbackData(true, 0, e.ImfEventData.PredictiveString, false);
\r
155 Tizen.Log.Fatal("NUI", "ImfManager return callbackData!!!");
\r
156 return callbackData;
\r
159 //public void ImfManager_LanguageChanged(object sender, EventArgs args)
\r
161 // Tizen.Log.Fatal("NUI", "ImfManager LanguageChanged!!!");
\r
166 static void _Main(string[] args)
\r
168 Example example = new Example();
\r