From 6d9e5d2d5595f6a3eb1d954a3fdbae6c1819dcca Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Tue, 5 Apr 2016 22:04:20 -0400 Subject: [PATCH] lib/android: implement ToggleEvent MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- lib/android/ui/ui.nit | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/android/ui/ui.nit b/lib/android/ui/ui.nit index 65535e8..e9ea641 100644 --- a/lib/android/ui/ui.nit +++ b/lib/android/ui/ui.nit @@ -240,9 +240,26 @@ end redef class CheckBox redef type NATIVE: Android_widget_CompoundButton redef var native do return (new Android_widget_CheckBox(app.native_activity)).new_global_ref + init do set_callback_on_toggle(native) redef fun is_checked do return native.is_checked redef fun is_checked=(value) do native.set_checked(value) + + private fun on_toggle do notify_observers new ToggleEvent(self) + + private fun set_callback_on_toggle(view: NATIVE) + import on_toggle in "Java" `{ + final int final_sender_object = self; + CheckBox_incr_ref(final_sender_object); + + view.setOnCheckedChangeListener( + new android.widget.CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(android.widget.CompoundButton buttonView, boolean isChecked) { + CheckBox_on_toggle(final_sender_object); + } + }); + `} end redef class TextInput -- 1.7.9.5