Mercurial > dwindows
diff android/DWindows.kt @ 2620:dcd71b04cc46
Android: Add internal event constants for more clarity about what code does.
Several platforms which do not use integer messages for events have our own
internal system implemented, adding enum constants for each internal message.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 25 Jul 2021 23:35:02 +0000 |
parents | dbcd9416e9c9 |
children | 22105f99dd6a |
line wrap: on
line diff
--- a/android/DWindows.kt Fri Jul 23 21:02:36 2021 +0000 +++ b/android/DWindows.kt Sun Jul 25 23:35:02 2021 +0000 @@ -55,6 +55,28 @@ import java.util.* import java.util.concurrent.locks.ReentrantLock +object DWEvent { + const val TIMER = 0 + const val CONFIGURE = 1 + const val KEY_PRESS = 2 + const val BUTTON_PRESS = 3 + const val BUTTON_RELEASE = 4 + const val MOTION_NOTIFY = 5 + const val DELETE = 6 + const val EXPOSE = 7 + const val CLICKED = 8 + const val ITEM_ENTER = 9 + const val ITEM_CONTEXT = 10 + const val LIST_SELECT = 11 + const val ITEM_SELECT = 12 + const val SET_FOCUS = 13 + const val VALUE_CHANGED = 14 + const val SWITCH_PAGE = 15 + const val TREE_EXPAND = 16 + const val COLUMN_CLICK = 17 + const val HTML_RESULT = 18 + const val HTML_CHANGED = 19 +} class DWTabViewPagerAdapter : RecyclerView.Adapter<DWTabViewPagerAdapter.DWEventViewHolder>() { val viewList = mutableListOf<LinearLayout>() @@ -84,12 +106,12 @@ } override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { // Handle the DW_HTML_CHANGE_STARTED event - eventHandlerHTMLChanged(view, 19, url, 1) + eventHandlerHTMLChanged(view, DWEvent.HTML_CHANGED, url, 1) } override fun onPageFinished(view: WebView, url: String) { // Handle the DW_HTML_CHANGE_COMPLETE event - eventHandlerHTMLChanged(view, 19, url, 4) + eventHandlerHTMLChanged(view, DWEvent.HTML_CHANGED, url, 4) } external fun eventHandlerHTMLChanged(obj1: View, message: Int, URI: String, status: Int) @@ -127,7 +149,7 @@ value = minimum } setText(value.toString()) - eventHandlerInt(14, value.toInt(), 0, 0, 0) + eventHandlerInt(DWEvent.VALUE_CHANGED, value.toInt(), 0, 0, 0) return true } else if (event.x <= v.compoundDrawables[DRAWABLE_LEFT].bounds.width()) { val newvalue = this.text.toString().toLongOrNull() @@ -144,7 +166,7 @@ value = minimum } setText(value.toString()) - eventHandlerInt(14, value.toInt(), 0, 0, 0) + eventHandlerInt(DWEvent.VALUE_CHANGED, value.toInt(), 0, 0, 0) return true } } @@ -185,7 +207,7 @@ selected = position setText(item) lpw!!.dismiss() - eventHandlerInt(11, position, 0, 0, 0) + eventHandlerInt(DWEvent.LIST_SELECT, position, 0, 0, 0) } override fun onTouch(v: View, event: MotionEvent): Boolean { @@ -227,7 +249,7 @@ override fun onItemClick(parent: AdapterView<*>?, view: View, position: Int, id: Long) { selected = position - eventHandlerInt(11, position, 0, 0, 0) + eventHandlerInt(DWEvent.LIST_SELECT, position, 0, 0, 0) } external fun eventHandlerInt( @@ -250,14 +272,14 @@ override fun onSizeChanged(width: Int, height: Int, oldWidth: Int, oldHeight: Int) { super.onSizeChanged(width, height, oldWidth, oldHeight) // Send DW_SIGNAL_CONFIGURE - eventHandlerInt(1, width, height, 0, 0) + eventHandlerInt(DWEvent.CONFIGURE, width, height, 0, 0) } override fun onDraw(canvas: Canvas) { super.onDraw(canvas) cachedCanvas = canvas // Send DW_SIGNAL_EXPOSE - eventHandlerInt(7, 0, 0, this.width, this.height) + eventHandlerInt(DWEvent.EXPOSE, 0, 0, this.width, this.height) cachedCanvas = null } @@ -448,7 +470,7 @@ menuitem.menuitem!!.isChecked = menuitem.checked menuitem.menuitem!!.isEnabled = menuitem.enabled menuitem.menuitem!!.setOnMenuItemClickListener { item: MenuItem? -> - eventHandlerSimple(menuitem, 8) + eventHandlerSimple(menuitem, DWEvent.CLICKED) true } } @@ -807,7 +829,7 @@ val width: Int = windowLayout!!.width val height: Int = windowLayout!!.height - eventHandlerInt(windowLayout as View, 1, width, height, 0, 0) + eventHandlerInt(windowLayout as View, DWEvent.CONFIGURE, width, height, 0, 0) } } @@ -1426,7 +1448,7 @@ button!!.id = cid button!!.setOnClickListener { lastClickView = button!! - eventHandlerSimple(button!!, 8) + eventHandlerSimple(button!!, DWEvent.CLICKED) } } return button @@ -1443,7 +1465,7 @@ button!!.setImageResource(resid) button!!.setOnClickListener { lastClickView = button!! - eventHandlerSimple(button!!, 8) + eventHandlerSimple(button!!, DWEvent.CLICKED) } } return button @@ -1460,7 +1482,7 @@ button!!.id = cid button!!.setOnClickListener { lastClickView = button!! - eventHandlerSimple(button!!, 8) + eventHandlerSimple(button!!, DWEvent.CLICKED) } for (ext in exts) { @@ -1491,7 +1513,7 @@ button!!.id = cid button!!.setOnClickListener { lastClickView = button!! - eventHandlerSimple(button!!, 8) + eventHandlerSimple(button!!, DWEvent.CLICKED) } button!!.setImageBitmap(b) } @@ -1534,7 +1556,7 @@ radiobutton!!.text = text radiobutton!!.setOnClickListener { lastClickView = radiobutton!! - eventHandlerSimple(radiobutton!!, 8) + eventHandlerSimple(radiobutton!!, DWEvent.CLICKED) } } return radiobutton @@ -1552,7 +1574,7 @@ checkbox!!.text = text checkbox!!.setOnClickListener { lastClickView = checkbox!! - eventHandlerSimple(checkbox!!, 8) + eventHandlerSimple(checkbox!!, DWEvent.CLICKED) } } return checkbox @@ -1752,7 +1774,7 @@ val adapter = pager.adapter as DWTabViewPagerAdapter pager.currentItem = tab.position - eventHandlerNotebook(notebook!!, 15, adapter.pageList[tab.position]) + eventHandlerNotebook(notebook!!, DWEvent.SWITCH_PAGE, adapter.pageList[tab.position]) } override fun onTabUnselected(tab: TabLayout.Tab) {} @@ -1971,7 +1993,7 @@ } override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { - eventHandlerInt(slider as View, 14, slider!!.progress, 0, 0, 0) + eventHandlerInt(slider as View, DWEvent.VALUE_CHANGED, slider!!.progress, 0, 0, 0) } }) } @@ -2054,7 +2076,7 @@ waitOnUiThread { html.evaluateJavascript(javascript) { value -> // Execute onReceiveValue's code - eventHandlerHTMLResult(html, 18, value, data) + eventHandlerHTMLResult(html, DWEvent.HTML_RESULT, value, data) } } } @@ -2173,10 +2195,10 @@ if(cont!!.choiceMode != ListView.CHOICE_MODE_MULTIPLE || (position == adapter.lastClickRow && (now - adapter.lastClick) < ViewConfiguration.getDoubleTapTimeout())) { - eventHandlerContainer(cont!!, 9, title, 0, 0, data) + eventHandlerContainer(cont!!, DWEvent.ITEM_ENTER, title, 0, 0, data) } else { // If we are mutiple select, generate a SELECT event - eventHandlerContainer(cont!!, 12, title, 0, 0, data) + eventHandlerContainer(cont!!, DWEvent.ITEM_SELECT, title, 0, 0, data) } adapter.lastClick = now adapter.lastClickRow = position @@ -2187,7 +2209,7 @@ val data = adapter.model.getRowData(adapter.selectedItem) lastClickView = cont!! - eventHandlerContainer(cont!!, 10, title, 0, 0, data) + eventHandlerContainer(cont!!, DWEvent.ITEM_CONTEXT, title, 0, 0, data) } true } @@ -2196,7 +2218,7 @@ val data = adapter.model.getRowData(position) lastClickView = cont!! - eventHandlerContainer(cont!!, 10, title, 0, 0, data) + eventHandlerContainer(cont!!, DWEvent.ITEM_CONTEXT, title, 0, 0, data) true } } @@ -2920,13 +2942,13 @@ render!!.evx = event.x render!!.evy = event.y lastClickView = render!! - eventHandlerInt(render!!, 4, event.x.toInt(), event.y.toInt(), render!!.button, 0) + eventHandlerInt(render!!, DWEvent.BUTTON_RELEASE, event.x.toInt(), event.y.toInt(), render!!.button, 0) } MotionEvent.ACTION_MOVE -> { render!!.evx = event.x render!!.evy = event.y lastClickView = render!! - eventHandlerInt(render!!, 5, event.x.toInt(), event.y.toInt(), 1, 0) + eventHandlerInt(render!!, DWEvent.MOTION_NOTIFY, event.x.toInt(), event.y.toInt(), 1, 0) } } return false @@ -2936,18 +2958,18 @@ // Long click functions as button 2 render!!.button = 2 lastClickView = render!! - eventHandlerInt(render!!, 3, render!!.evx.toInt(), render!!.evy.toInt(), 2, 0) + eventHandlerInt(render!!, DWEvent.BUTTON_PRESS, render!!.evx.toInt(), render!!.evy.toInt(), 2, 0) true } render!!.setOnClickListener{ // Normal click functions as button 1 render!!.button = 1 lastClickView = render!! - eventHandlerInt(render!!, 3, render!!.evx.toInt(), render!!.evy.toInt(), 1, 0) + eventHandlerInt(render!!, DWEvent.BUTTON_PRESS, render!!.evx.toInt(), render!!.evy.toInt(), 1, 0) } render!!.setOnKeyListener(View.OnKeyListener { v, keyCode, event -> if (event.action == KeyEvent.ACTION_DOWN) { - eventHandlerKey(render!!, 2, keyCode, event.unicodeChar, event.modifiers, event.characters) + eventHandlerKey(render!!, DWEvent.KEY_PRESS, keyCode, event.unicodeChar, event.modifiers, event.characters) } false })