Native UI Module

Monkey Forums/User Modules/Native UI Module

Skn3(Posted 2013) [#1]
This is a module to perform certain native ui features.

This module was backed by CopperCircle, you should thank him with praise and gifts a plenty!

You can find the module here:
https://github.com/skn3/nativeui

It currently supports:
- iOS
- Android
- glfw windows desktop (ShowMessage only)

At the moment the module lets you show message alerts and request input. Input can be requested via keyboard popup, confirmation (yes/no) popup or spinner gadget.





Enjoy, for free :D



rIKmAN(Posted 2013) [#2]
Mate you really are the 'King of Monkey Modules' :)
Thanks to CopperCircle too for allowing it to be released it to the community - very generous of you! :)

PS. I won't ask what that is a list of in the image! ;)


Beaker(Posted 2013) [#3]
Nice.


Why0Why(Posted 2013) [#4]
Jon,

I know this isn't the best spot, but I sent you an email about some possible work and never received a response, can you email me?


Skn3(Posted 2013) [#5]
Hey Eric,

Weird I did reply. I have re sent the email.


Skn3(Posted 2013) [#6]
Update:

'version 2
' - refactored all native files to use different structure
' - added support for android ShowMessage



thoast(Posted 2013) [#7]
Thanks to CopperCircle for the impulse.

I am planning to do some development for the android part and an equivalent for testing in flash/html5, as soon as i read through your structure.


nigelibrown(Posted 2014) [#8]
Just downloaded the module from github and it runs perfectly on IOS but won't compile for Desktop Game on OSX. Error is 'TRANS FAILED: Error executing 'xcodebuild configuration Debug', return code=166640 ?

I am using Monkey Pro77d and xcode 5.0.2 IOS 10.9.1


Skn3(Posted 2014) [#9]
Hey, sorry for delay. I did not implement this on osx glfw, sorry about that.


Skn3(Posted 2015) [#10]
Updated to add full android support.

Totally sponsored by CopperCircle!

'version 3
' - added code to force all android with ui are run on ui thread.
' - added jungle solution to repo
' - implemented coppercircle's changes to android
' - added GetPickerIndex to find out the array index of teh selected item
' - added android native code for handling one picker/input/message at a time
' - tweaked coppercircle's text input code to clean things up
' - added picker routine
' - added confirm ok/cancel routine
' - tweaked existing message box routine
' - added code to handle "finished/done" being pressed when input box is showing



zxretrosoft(Posted 2016) [#11]
Hello,
Please, there are still some other module that can do these lists? (It can also be paid.)

Thanks!

P.S. This module is great, but I have some probleme with running.


zxretrosoft(Posted 2016) [#12]
My solution is to use the Pyro. Make a buttons and move the Y-axis.
Nothing else occurred to me. Perhaps it will work well on Android.

Preview:
https://www.youtube.com/watch?v=_i0Ce164DdM

Import mojo2
Import playniax.pyro.guiskinner
Import playniax.pyro.guiskins.pyro

Class MyApp Extends App

	Field guiLayer:prGuiLayer
	Field button:prGuiButton[101]
	Field image:prGuiImage
	
	Global y:Int, pocet:Int

	Method OnCreate:Int()

		prSetGuiSkin "pyro_gui_skin.txt"

		guiLayer = New prGuiLayer()
		guiLayer.SetVirtual 640, 480

		image = prCreateImage(prContent.GetImage("background.png"))
		image.SetLayer guiLayer
		image.SetPosition 320, 240

		y = 0; pocet = 100
		
		For Local i:Int = 1 To pocet
			button[i] = prCreateButton("pyro_fonts_default_21.txt", "Polozka c. " + String(i), 350, 35, 0, -3, False)
			button[i].SetLayer guiLayer
			button[i].SetPosition 305, i * 32 + y
		End For

	End Method

	Method OnRender:Int()
		guiLayer.Render
	End Method
	
	Method OnUpdate:Int()

		guiLayer.Update()

		If KeyDown(KEY_DOWN) Then y += 5
		If KeyDown(KEY_UP) Then y -= 5
		
		For Local i:Int = 1 To pocet
			button[i].SetPosition 305, i * 32 + y
		End For
		
	End Method
	
End Class

Function Main:Int()
	New MyApp()
End Function