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