From d55a519e7716e39d25b7dba5984ced8dbc09fabc Mon Sep 17 00:00:00 2001 From: Piotr Szydelko Date: Wed, 1 Mar 2017 11:31:13 +0100 Subject: Add GenList.ReorderMode property The EFL GenList offer the reorder mode, but ElmSharp does didn't include the relevant functions. This commit fixed the omission. Change-Id: Ib0dfc1578677e401d6b3639ac340872507f89216 Signed-off-by: Piotr Szydelko --- ElmSharp/ElmSharp/GenList.cs | 24 ++++++++++++++++++++++ ElmSharp/Interop/Interop.Elementary.GenListView.cs | 7 +++++++ 2 files changed, 31 insertions(+) diff --git a/ElmSharp/ElmSharp/GenList.cs b/ElmSharp/ElmSharp/GenList.cs index eba52f5..1106cf1 100644 --- a/ElmSharp/ElmSharp/GenList.cs +++ b/ElmSharp/ElmSharp/GenList.cs @@ -68,6 +68,9 @@ namespace ElmSharp SmartEvent _realized; SmartEvent _unrealized; SmartEvent _longpressed; + SmartEvent _moved; + SmartEvent _movedAfter; + SmartEvent _movedBefore; SmartEvent _scrollAnimationStarted; SmartEvent _scrollAnimationStopped; SmartEvent _changed; @@ -119,6 +122,18 @@ namespace ElmSharp } } + public bool ReorderMode + { + get + { + return Interop.Elementary.elm_genlist_reorder_mode_get(RealHandle); + } + set + { + Interop.Elementary.elm_genlist_reorder_mode_set(RealHandle, value); + } + } + public event EventHandler ItemSelected; public event EventHandler ItemUnselected; public event EventHandler ItemPressed; @@ -129,6 +144,9 @@ namespace ElmSharp public event EventHandler ItemRealized; public event EventHandler ItemUnrealized; public event EventHandler ItemLongPressed; + public event EventHandler ItemMoved; + public event EventHandler ItemMovedAfter; + public event EventHandler ItemMovedBefore; public event EventHandler Changed { @@ -257,6 +275,9 @@ namespace ElmSharp _realized = new SmartEvent(this, this.RealHandle, "realized", GenListItemEventArgs.CreateFromSmartEvent); _unrealized = new SmartEvent(this, this.RealHandle, "unrealized", GenListItemEventArgs.CreateFromSmartEvent); _longpressed = new SmartEvent(this, this.RealHandle, "longpressed", GenListItemEventArgs.CreateFromSmartEvent); + _moved = new SmartEvent(this, this.RealHandle, "moved", GenListItemEventArgs.CreateFromSmartEvent); + _movedAfter = new SmartEvent(this, this.RealHandle, "moved,after", GenListItemEventArgs.CreateFromSmartEvent); + _movedBefore = new SmartEvent(this, this.RealHandle, "moved,before", GenListItemEventArgs.CreateFromSmartEvent); _scrollAnimationStarted = new SmartEvent(this, this.RealHandle, "scroll,anim,start"); _scrollAnimationStopped = new SmartEvent(this, this.RealHandle, "scroll,anim,stop"); _changed = new SmartEvent(this, this.RealHandle, "changed"); @@ -271,6 +292,9 @@ namespace ElmSharp _realized.On += (s, e) => { if (e.Item != null) ItemRealized?.Invoke(this, e); }; _unrealized.On += (s, e) => { if (e.Item != null) ItemUnrealized?.Invoke(this, e); }; _longpressed.On += (s, e) => { if (e.Item != null) ItemLongPressed?.Invoke(this, e); }; + _moved.On += (s, e) => { if (e.Item != null) ItemMoved?.Invoke(this, e); }; + _movedAfter.On += (s, e) => { if (e.Item != null) ItemMovedAfter?.Invoke(this, e); }; + _movedBefore.On += (s, e) => { if (e.Item != null) ItemMovedBefore?.Invoke(this, e); }; } void AddInternal(GenListItem item) diff --git a/ElmSharp/Interop/Interop.Elementary.GenListView.cs b/ElmSharp/Interop/Interop.Elementary.GenListView.cs index 75698da..732db0d 100644 --- a/ElmSharp/Interop/Interop.Elementary.GenListView.cs +++ b/ElmSharp/Interop/Interop.Elementary.GenListView.cs @@ -135,5 +135,12 @@ internal static partial class Interop [DllImport(Libraries.Elementary)] internal static extern void elm_genlist_item_fields_update(IntPtr item, string part, uint type); + + [DllImport(Libraries.Elementary)] + internal static extern void elm_genlist_reorder_mode_set(IntPtr obj, bool mode); + + [DllImport(Libraries.Elementary)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool elm_genlist_reorder_mode_get(IntPtr obj); } } -- cgit v1.2.3