コード例 #1
0
 /// <summary>
 /// Adds a function for a signal emitted by the object item edje.
 /// </summary>
 /// <param name="emission">The signal's name.</param>
 /// <param name="source">The signal's source.</param>
 /// <param name="func">The function to be executed when the signal is emitted.</param>
 /// <since_tizen> preview </since_tizen>
 public void AddSignalHandler(string emission, string source, Func <string, string, bool> func)
 {
     if (emission != null && source != null && func != null)
     {
         var signalData = new SignalData(emission, source, func);
         if (!_signalDatas.ContainsKey(signalData))
         {
             var signalCallback = new Interop.Elementary.Elm_Object_Item_Signal_Cb((d, o, e, s) =>
             {
                 return(func(e, s));
             });
             Interop.Elementary.elm_object_item_signal_callback_add(Handle, emission, source, signalCallback, IntPtr.Zero);
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// Removes a signal-triggered function from the object item edje object.
        /// </summary>
        /// <param name="emission">The signal's name.</param>
        /// <param name="source">The signal's source.</param>
        /// <param name="func">The function to be executed when the signal is emitted.</param>
        /// <since_tizen> preview </since_tizen>
        public void RemoveSignalHandler(string emission, string source, Func <string, string, bool> func)
        {
            if (emission != null && source != null && func != null)
            {
                var signalData = new SignalData(emission, source, func);

                Interop.Elementary.Elm_Object_Item_Signal_Cb signalCallback = null;
                _signalDatas.TryGetValue(signalData, out signalCallback);

                if (signalCallback != null)
                {
                    Interop.Elementary.elm_object_item_signal_callback_del(Handle, emission, source, signalCallback);
                    _signalDatas.Remove(signalData);
                }
            }
        }