Jump to content

GuiUtils: Simply create GUIs from KODA, Input Dialogs from JSON, and handle them like InputBox with one function


Recommended Posts

Hi AutoIters!

Here is my new UDF about GUIs: it's an enhanced mixture of Advanced InputBox (deprecated) and KODA Parser (deprecated), with additional functions.

What you can do with it:

  • Parse KODA files and directly create GUIs (_GUIUtils_CreateFromKODA)
  • Parse a simple JSON form definition to simply create advanced InputBoxes with any amount/type of input controls (_GUIUtils_CreateFromJSON)
  • Created GUIs are returned as Scripting.Dictionary objects, and you have helper functions to access GUIs controls by their names (_GUIUtils_HWnd, _GUIUtils_CtrlID, _GUIUtils_HCtrl ...)
  • A function that can make a GUI created from KODA/JSON (defined by it's $oForm object) and make it a modal InputDialogBox (just like InputBox, but returns all entered data as Scripting.Dictionary object)

Functions are documented, and there are some examples.

Consider this UDF as beta, but since I'm currently using it in a small commercial project, it should become production ready in near future.

To always get the latest code version, get it from Github (more up to date than this topic).

Update 04/02/2020:

  • New simple application example
  • Fixed focused control handling in _GUIUtils_InputDialog
  • Reset input values before returning from _GUIUtils_InputDialog
  • Fixed CloseOnEsc in _GUIUtils_InputDialog
  • Fixed Input not reset
  • Fixed all ListBox items are selected

Project now on GitHub https://github.com/matwachich/autoit-guiutils/

Update 05/02/2020:

  • Support for nodate for Date and Time input controls (pass null value)
  • New handling of focused control _GUIUtils_InputDialog: Now, you can specify the focused control in $oInitialData by setting "controlName:focus" = True
  • Updated documentation of _GUIUtils_InputDialog

Update 07/02/2020:

  • Bug corrected when setting Data input control
  • Added: abillity to read a single input control
  • New functions (_GUIUtils_GetInputs, _GUIUtils_WriteInputs), documentation completion.
  • Readme file and screenshots on Github Page



Edited by matwachich
Link to comment
Share on other sites

...by popular demand: GUICtrlSetOnEvent()  :thumbsup:

1) Json_Encode($g_oData, $JSON_PRETTY_PRINT) looks better than the magic 128
2) how did you use <WMDebug.au3> ?, I'm curious.

Thanks for sharing this :) 

Edited by argumentum
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...