private EventHandler textFieldSelectionClearedEventHandler;
private SelectionClearedCallbackDelegate textFieldSelectionClearedCallbackDelegate;
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private EventHandler textFieldSelectionStartedEventHandler;
+ private SelectionStartedCallbackDelegate textFieldSelectionStartedCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void TextChangedCallbackDelegate(IntPtr textField);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void CursorPositionChangedCallbackDelegate(IntPtr textField, uint oldPosition);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void AnchorClickedCallbackDelegate(IntPtr textField, IntPtr href, uint hrefLength);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void SelectionChangedCallbackDelegate(IntPtr textField, uint oldStart, uint oldEnd);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void InputFilteredCallbackDelegate(IntPtr textField, InputFilterType type);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void SelectionClearedCallbackDelegate(IntPtr textField);
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ private delegate void SelectionStartedCallbackDelegate(IntPtr textField);
+
private bool invokeTextChanged = true;
/// <summary>
}
/// <summary>
+ /// The SelectionStarted event is emitted when the selection has been started.
+ /// </summary>
+ /// <since_tizen> 10 </since_tizen>
+ public event EventHandler SelectionStarted
+ {
+ add
+ {
+ if (textFieldSelectionStartedEventHandler == null)
+ {
+ textFieldSelectionStartedCallbackDelegate = (OnSelectionStarted);
+ SelectionStartedSignal().Connect(textFieldSelectionStartedCallbackDelegate);
+ }
+ textFieldSelectionStartedEventHandler += value;
+ }
+ remove
+ {
+ if (textFieldSelectionStartedEventHandler == null && SelectionStartedSignal().Empty() == false)
+ {
+ this.SelectionStartedSignal().Disconnect(textFieldSelectionStartedCallbackDelegate);
+ }
+ textFieldSelectionStartedEventHandler -= value;
+ }
+ }
+
+ /// <summary>
/// The SelectionCleared signal is emitted when selection is cleared.
/// </summary>
/// <since_tizen> 9 </since_tizen>
}
}
+ internal TextFieldSignal SelectionStartedSignal()
+ {
+ TextFieldSignal ret = new TextFieldSignal(Interop.TextField.SelectionStartedSignal(SwigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
internal TextFieldSignal SelectionClearedSignal()
{
TextFieldSignal ret = new TextFieldSignal(Interop.TextField.SelectionClearedSignal(SwigCPtr), false);
return ret;
}
+ private void OnSelectionStarted(IntPtr textField)
+ {
+ //no data to be sent to the user
+ textFieldSelectionStartedEventHandler?.Invoke(this, EventArgs.Empty);
+ }
+
private void OnSelectionCleared(IntPtr textField)
{
//no data to be sent to the user