예제 #1
0
 /// <summary>
 /// Creates and initializes a new instance of the ItemObject class.
 /// </summary>
 /// <param name="handle">IntPtr</param>
 /// <since_tizen> preview </since_tizen>
 protected ItemObject(IntPtr handle)
 {
     _deleteCallback = DeleteCallbackHandler;
     Id = GetNextId();
     s_IdToItemTable[Id] = this;
     Handle = handle;
 }
예제 #2
0
                /// <summary>
                /// Creates and initializes a new instance of the RotarySelector class.
                /// </summary>
                /// <param name="parent">The Efl.Ui.Widget to which the new RotarySelector will be attached as a child.</param>
                /// <since_tizen> 6 </since_tizen>
                public RotarySelector(Efl.Ui.Widget parent) : base(Interop.Eext.eext_rotary_selector_add(parent.NativeHandle))
                {
                    smartClicked = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        RotarySelectorItem clickedItem = FindItemByNativeHandle(e);
                        if (clickedItem != null)
                        {
                            Clicked?.Invoke(this, new RotarySelectorItemEventArgs {
                                item = clickedItem
                            });
                        }
                    });

                    smartSelected = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        RotarySelectorItem selectedItem = FindItemByNativeHandle(e);
                        if (selectedItem != null)
                        {
                            Selected.Invoke(this, new RotarySelectorItemEventArgs {
                                item = selectedItem
                            });
                        }
                    });

                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemClickedEventName, smartClicked, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemSelectedEventName, smartSelected, IntPtr.Zero);
                }
예제 #3
0
파일: Hoversel.cs 프로젝트: prjung/TizenFX
 /// <summary>
 /// Creates and initializes a new instance of the Hoversel class.
 /// </summary>
 /// <param name="parent">The parent is a given container which will be attached by Hoversel as a child. It's <see cref="EvasObject"/> type.</param>
 /// <since_tizen> preview </since_tizen>
 public Hoversel(EvasObject parent) : base(parent)
 {
     _clicked     = new SmartEvent(this, "clicked");
     _clicked.On += (sender, e) =>
     {
         Clicked?.Invoke(this, EventArgs.Empty);
     };
     _expanded     = new SmartEvent(this, "expanded");
     _expanded.On += (sender, e) =>
     {
         Expanded?.Invoke(this, EventArgs.Empty);
     };
     _dismissed     = new SmartEvent(this, "dismissed");
     _dismissed.On += (sender, e) =>
     {
         Dismissed?.Invoke(this, EventArgs.Empty);
     };
     _selected     = new SmartEvent <HoverselItemEventArgs>(this, RealHandle, "selected", HoverselItemEventArgs.CreateFromSmartEvent);
     _selected.On += (s, e) =>
     {
         if (e.Item != null)
         {
             ItemSelected?.Invoke(this, e);
         }
     };
     _onItemSelected = (data, obj, info) =>
     {
         HoverselItem item = ItemObject.GetItemById((int)data) as HoverselItem;
         item?.SendItemSelected();
     };
 }
예제 #4
0
                /// <summary>
                /// Creates and initializes a new instance of the MoreOption class.
                /// </summary>
                /// <param name="parent">The Efl.Ui.Widget to which the new MoreOption will be attached as a child.</param>
                /// <since_tizen> 6 </since_tizen>
                public MoreOption(Efl.Ui.Widget parent) : base(new Efl.Eo.Globals.WrappingHandle(Interop.Eext.eext_more_option_add(parent.NativeHandle)))
                {
                    smartClicked = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        MoreOptionItem clickedItem = FindItemByNativeHandle(e);
                        if (clickedItem != null)
                        {
                            ClickedEvt?.Invoke(this, new MoreOptionItemEventArgs {
                                item = clickedItem
                            });
                        }
                    });

                    smartSelected = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        MoreOptionItem selectedItem = FindItemByNativeHandle(e);
                        if (selectedItem != null)
                        {
                            SelectedEvt?.Invoke(this, new MoreOptionItemEventArgs {
                                item = selectedItem
                            });
                        }
                    });

                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemClickedEventName, smartClicked, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemSelectedEventName, smartSelected, IntPtr.Zero);
                }
예제 #5
0
 /// <summary>
 /// Creates and initializes a new instance of the ItemObject class with parent object.
 /// </summary>
 /// <param name="handle">IntPtr</param>
 /// <param name="parent">Parent EvasObject</param>
 /// <since_tizen> preview </since_tizen>
 protected ItemObject(IntPtr handle, EvasObject parent)
 {
     _deleteCallback = DeleteCallbackHandler;
     Id = GetNextId();
     s_IdToItemTable[Id] = this;
     Parent = parent;
     Handle = handle;
 }
예제 #6
0
                /// <summary>
                /// Creates and initializes a new instance of the RotarySelector class.
                /// </summary>
                /// <param name="parent">The Efl.Ui.Widget to which the new RotarySelector will be attached as a child.</param>
                /// <since_tizen> 6 </since_tizen>
                public RotarySelector(Efl.Ui.Widget parent) : base(Interop.Eext.eext_rotary_selector_add(parent.NativeHandle))
                {
                    smartClicked = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        RotarySelectorItem clickedItem = FindItemByNativeHandle(e);
                        if (clickedItem != null)
                        {
                            ClickedEvt?.Invoke(this, new RotarySelectorItemEventArgs {
                                item = clickedItem
                            });
                        }
                    });

                    smartSelected = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        RotarySelectorItem selectedItem = FindItemByNativeHandle(e);
                        if (selectedItem != null)
                        {
                            SelectedEvt?.Invoke(this, new RotarySelectorItemEventArgs {
                                item = selectedItem
                            });
                        }
                    });

                    smartDeleted = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        RotarySelectorItem deletedItem = FindItemByNativeHandle(e);
                        if (deletedItem != null)
                        {
                            Deleted?.Invoke(this, new RotarySelectorItemEventArgs {
                                item = deletedItem
                            });
                        }
                        Items.Remove(deletedItem);
                    });

                    smartReordered = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        var items_list = Interop.Eext.eext_rotary_selector_items_get(this.NativeHandle);
                        int idx        = Eina.ListNativeFunctions.eina_list_data_idx(items_list, e);
                        RotarySelectorItem reorderedItem = FindItemByNativeHandle(e);
                        if (reorderedItem != null)
                        {
                            Reordered?.Invoke(this, new RotarySelectorItemReorderedEventArgs
                            {
                                item = reorderedItem, OldIndex = Items.IndexOf(reorderedItem), NewIndex = idx
                            });
                        }
                        UpdateListOrder(reorderedItem, idx);
                    });

                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemClickedEventName, smartClicked, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemSelectedEventName, smartSelected, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemDeletedEventName, smartDeleted, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemReorderedEventName, smartReordered, IntPtr.Zero);
                }
예제 #7
0
 /// <summary>
 /// Creates and initializes a new instance of the ContextPopup class.
 /// </summary>
 /// <param name="parent">The parent is a given container, which will be attached by ContextPopup
 /// as a child. It's <see cref="EvasObject"/> type.</param>
 /// <since_tizen> preview </since_tizen>
 public ContextPopup(EvasObject parent) : base(parent)
 {
     _dismissed     = new SmartEvent(this, this.RealHandle, "dismissed");
     _dismissed.On += (sender, e) =>
     {
         Dismissed?.Invoke(this, EventArgs.Empty);
     };
     _onSelected = (data, obj, info) =>
     {
         ContextPopupItem item = ItemObject.GetItemById((int)data) as ContextPopupItem;
         item?.SendSelected();
     };
 }
예제 #8
0
                /// <summary>
                /// Creates and initializes a new instance of the CircleSlider class.
                /// </summary>
                /// <param name="parent">The Efl.Ui.Widget to which the new CircleSlider will be attached as a child.</param>
                /// <since_tizen> 6 </since_tizen>
                public CircleSlider(Efl.Ui.Widget parent) : base(parent)
                {
                    _handle = Interop.Eext.eext_circle_object_slider_add(parent.NativeHandle, IntPtr.Zero);

                    Bar           = new Efl.Ui.Wearable.CircleSliderBar(_handle);
                    BarBackground = new Efl.Ui.Wearable.CircleSliderBarBackground(_handle);

                    smartChanged = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        ChangedEvt?.Invoke(this, EventArgs.Empty);
                    });

                    Interop.Evas.evas_object_smart_callback_add(_handle, ChangedEventName, smartChanged, IntPtr.Zero);

                    elm_layout_content_set(this.NativeHandle, "efl.swallow.vg", CircleHandle);
                }
예제 #9
0
                public RotarySelector(Efl.Ui.Widget parent) : base(Interop.Eext.eext_rotary_selector_add(parent.NativeHandle))
                {
                    Interop.Evas.SmartCallback _smartClicked = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        RotarySelectorItem clickedItem = new RotarySelectorItem();
                        clickedItem._handle            = e;
                        Clicked?.Invoke(this, new RotarySelectorItemEventArgs {
                            item = clickedItem
                        });
                    });

                    Interop.Evas.SmartCallback _smartSelected = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        Selected?.Invoke(this, new RotarySelectorItemEventArgs {
                            item = this.SelectedItem
                        });
                    });

                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemClickedEventName, _smartClicked, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemSelectedEventName, _smartSelected, IntPtr.Zero);
                }
예제 #10
0
                public MoreOption(Efl.Ui.Widget parent) : base(Interop.Eext.eext_more_option_add(parent.NativeHandle))
                {
                    Interop.Evas.SmartCallback _smartClicked = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        MoreOptionItem clickedItem = new MoreOptionItem();
                        clickedItem._handle        = e;
                        Clicked?.Invoke(this, new MoreOptionItemEventArgs {
                            item = clickedItem
                        });
                    });

                    Interop.Evas.SmartCallback _smartSelected = new Interop.Evas.SmartCallback((d, o, e) =>
                    {
                        MoreOptionItem selectedItem = new MoreOptionItem();
                        selectedItem._handle        = e;
                        Selected?.Invoke(this, new MoreOptionItemEventArgs {
                            item = selectedItem
                        });
                    });

                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemClickedEventName, _smartClicked, IntPtr.Zero);
                    Interop.Evas.evas_object_smart_callback_add(this.NativeHandle, ItemSelectedEventName, _smartSelected, IntPtr.Zero);
                }
예제 #11
0
 internal static extern void elm_object_tooltip_content_cb_set(IntPtr obj, Elm_Tooltip_Content_Cb func, IntPtr data, Interop.Evas.SmartCallback del);
예제 #12
0
 internal static extern void elm_object_item_del_cb_set(IntPtr obj, Interop.Evas.SmartCallback callback);