Dialogs: Difference between revisions

From ENIGMA
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
(46 intermediate revisions by the same user not shown)
Line 1: Line 1:
== '''Overview''' ==
== '''Overview''' ==


On this page is outlined the different "Widget Systems" that are available in ENIGMA, what platforms they support, along with the list of functions that are present in each one. It is very important to make note of the license a widget system, its source code, and dependencies are distributed under, before distributing your game. Some of these widget systems have installation instructions; please follow them to get it working right.
On this page is outlined the different "Widget Systems" that are available in ENIGMA, what platforms they support, and other important information you should know before using them. Some of these widget systems require installation, which is also explained here. Function documentation: http://dialogmodule.weebly.com/ The following functions are not documented at the previously mentioned link, and may be used to get/set various dialog title bar captions, which otherwise are read-only.


* '''message_get_caption()'''


== '''Win32''' ==
* '''message_set_caption(str)'''
 
 
== '''Windows Widgets''' ==




Line 13: Line 17:
'''License''': GPL3
'''License''': GPL3


'''UTF-8 Support''': No
'''UTF-8 Support''': Yes


'''Language''': C++
'''Language''': C++
Line 21: Line 25:
'''Install Instructions''': N/A
'''Install Instructions''': N/A


'''Screenshots''': Win32.gif
'''Screenshots''': [https://i.imgur.com/TVGhkwG.gif Win32.gif]
 
'''Author(s)''': Josh Ventura
 
 
'''Functions''':
 
* '''[https://enigma-dev.org/docs/Wiki/Show_message show_message(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_message_ext show_message_ext(str, but1, but2, but3)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_question show_question(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_error show_error(str, abort)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_info show_info()]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_menu show_menu(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_menu_pos show_menu_pos(x, y, str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_string get_string(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_login get_login(username, password)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_integer get_integer(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename get_open_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename_ext get_open_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename get_save_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename_ext get_save_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory get_directory(dname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory_alt get_directory_alt(capt, root)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_color get_color(defcol)]'''
 
 
== '''DlgMod''' ==
 
 
'''Platform''': Windows
 
'''Dependencies''': [https://github.com/time-killer-games/DialogModule DialogModule]
 
'''License''': MIT
 
'''UTF-8 Support''': Yes
 
'''Language''': C++, VBScript
 
'''API's''': Windows API, ATL, VBScript
 
'''Install Instructions''': Download the Windows DLL from the dependency link,  and put it in the working directory of your game's project source. Be sure to also distribute it with your game's executable, in the same parent directory, preferably in a ZIP, if nothing needs to be written to registry, (such as DirectX, for example). Download and use the x86-targeted DLL for 32-bit games; do likewise with the x64-targeted DLL for 64-bit games.
 
'''Screenshots''': [https://i.imgur.com/Szx5MH7.gif DlgMod.gif]
 
'''Author(s)''': Samuel Venable
 
 
'''Functions''':
 
* '''[https://enigma-dev.org/docs/Wiki/Show_message show_message(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_question show_question(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_error show_error(str, abort)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_string get_string(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_password get_password(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_integer get_integer(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_passcode get_passcode(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename get_open_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename_ext get_open_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename get_save_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename_ext get_save_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory get_directory(dname)]'''


* '''[https://enigma-dev.org/docs/Wiki/Get_directory_alt get_directory_alt(capt, root)]'''
'''Author(s)''': Josh Ventura,


* '''[https://enigma-dev.org/docs/Wiki/Get_color get_color(defcol)]'''
Samuel Venable




== '''OsaScript''' ==
== '''Cocoa Widgets''' ==




Line 123: Line 39:
'''Dependencies''': N/A
'''Dependencies''': N/A


'''License''': ZLib
'''License''': MIT


'''UTF-8 Support''': Yes
'''UTF-8 Support''': Yes


'''Language''': C++, AppleScript
'''Language''': C++, Objective-C++


'''API's''': Cocoa, AppleScript
'''API's''': Cocoa


'''Install Instructions''': N/A
'''Install Instructions''': N/A


'''Screenshots''': [https://i.imgur.com/5D6rmua.gif OsaScript.gif]
'''Screenshots''': [https://i.imgur.com/F6GCdjG.gif Cocoa.gif]


'''Author(s)''': Samuel Venable
'''Author(s)''': Samuel Venable




'''Functions''':
== '''Zenity Widgets''' ==
 
* '''[https://enigma-dev.org/docs/Wiki/Show_message show_message(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_question show_question(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_error show_error(str, abort)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_string get_string(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_password get_password(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_integer get_integer(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_passcode get_passcode(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename get_open_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename_ext get_open_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename get_save_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename_ext get_save_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory get_directory(dname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory_alt get_directory_alt(capt, root)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_color get_color(defcol)]'''
 
 
== '''Zenity''' ==




Line 180: Line 65:
'''UTF-8 Support''': Yes
'''UTF-8 Support''': Yes


'''Language''': C++, Shell Scripting
'''Language''': C++, Shell


'''API's''': X11, GNOME, GTK
'''API's''': X11, GNOME, GTK
Line 186: Line 71:
'''Install Instructions''':  You have three options based on your desktop environment:
'''Install Instructions''':  You have three options based on your desktop environment:


* On Debian-based Linux distributions, enter the following command into the terminal: '''sudo apt-get install zenity'''
* On Debian-based Linux distributions, enter the following command into the terminal: '''sudo apt-get install gtk+3.0 zenity'''


* On RedHat-based Linux distributions, enter the following command into the terminal: '''yum install zenity'''
* On RedHat-based Linux distributions, enter the following command into the terminal: '''yum install gtk3 zenity'''


* On Arch-based Linux distributions, please see [https://enigma-dev.org/docs/Wiki/Arch_Setup setting up ENIGMA for Arch Linux development].
* On Arch-based Linux distributions, please see [https://enigma-dev.org/docs/Wiki/Install:Arch_Setup setting up ENIGMA for Arch Linux development.]


Both you and the end user who downloads your game will need these packages installed.
Both you and the end user will need to install using one of the above methods.


'''Screenshots''': [https://i.imgur.com/sKpHZzl.gif Zenity.gif]
'''Screenshots''': [https://i.imgur.com/FswqFhb.gif Zenity.gif]


'''Author(s)''': Samuel Venable
'''Author(s)''': Samuel Venable




'''Functions''':
== '''KDialog Widgets''' ==
 
* '''[https://enigma-dev.org/docs/Wiki/Show_message show_message(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_question show_question(str)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Show_error show_error(str, abort)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_string get_string(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_password get_password(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_integer get_integer(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_passcode get_passcode(str, def)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename get_open_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename_ext get_open_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename get_save_filename(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename_ext get_save_filename_ext(filter, fname, dir, title)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory get_directory(dname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_directory_alt get_directory_alt(capt, root)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_color get_color(defcol)]'''
 
 
== '''KDialog''' ==




Line 241: Line 95:
'''UTF-8 Support''': Yes
'''UTF-8 Support''': Yes


'''Language''': C++, Shell Scripting
'''Language''': C++, Shell


'''API's''': X11, Qt, KDE
'''API's''': X11, Qt, KDE
Line 247: Line 101:
'''Install Instructions''':  You have three options based on your desktop environment:
'''Install Instructions''':  You have three options based on your desktop environment:


* On Debian-based Linux distributions, enter the following command into the terminal: '''sudo apt-get install kdebase-bin'''
* On Debian-based Linux distributions, enter the following command into the terminal: '''sudo apt-get install keditbookmarks kdialog'''


* On RedHat-based Linux distributions, enter the following command into the terminal: '''yum groupinstall "KDE (K Desktop Environment)"'''
* On RedHat-based Linux distributions, enter the following command into the terminal: '''yum groupinstall "KDE (K Desktop Environment)"'''


* On Arch-based Linux distributions, please see [https://enigma-dev.org/docs/Wiki/Arch_Setup setting up ENIGMA for Arch Linux development].
* On Arch-based Linux distributions, please see [https://enigma-dev.org/docs/Wiki/Install:Arch_Setup setting up ENIGMA for Arch Linux development.]


Both you and the end user who downloads your game will need these packages installed.
Both you and the end user will need to install using one of the above methods.


'''Screenshots''': [https://i.imgur.com/WHKZzNU.gif KDialog.gif]
'''Screenshots''': [https://i.imgur.com/yAtxWVE.gif KDialog.gif]


'''Author(s)''': Samuel Venable
'''Author(s)''': Samuel Venable
'''Functions''':
* '''[https://enigma-dev.org/docs/Wiki/Show_message show_message(str)]'''
* '''[https://enigma-dev.org/docs/Wiki/Show_question show_question(str)]'''
* '''[https://enigma-dev.org/docs/Wiki/Show_error show_error(str, abort)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_string get_string(str, def)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_password get_password(str, def)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_integer get_integer(str, def)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_passcode get_passcode(str, def)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename get_open_filename(filter, fname)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filename_ext get_open_filename_ext(filter, fname, dir, title)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename get_save_filename(filter, fname)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_save_filename_ext get_save_filename_ext(filter, fname, dir, title)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_directory get_directory(dname)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_directory_alt get_directory_alt(capt, root)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_color get_color(defcol)]'''

Revision as of 03:23, 11 July 2019

Overview

On this page is outlined the different "Widget Systems" that are available in ENIGMA, what platforms they support, and other important information you should know before using them. Some of these widget systems require installation, which is also explained here. Function documentation: http://dialogmodule.weebly.com/ The following functions are not documented at the previously mentioned link, and may be used to get/set various dialog title bar captions, which otherwise are read-only.

  • message_get_caption()
  • message_set_caption(str)


Windows Widgets

Platform: Windows

Dependencies: N/A

License: GPL3

UTF-8 Support: Yes

Language: C++

API's: Windows API

Install Instructions: N/A

Screenshots: Win32.gif

Author(s): Josh Ventura,

Samuel Venable


Cocoa Widgets

Platform: Mac OS X

Dependencies: N/A

License: MIT

UTF-8 Support: Yes

Language: C++, Objective-C++

API's: Cocoa

Install Instructions: N/A

Screenshots: Cocoa.gif

Author(s): Samuel Venable


Zenity Widgets

Platform: Linux

Dependencies: Zenity, GTK

License: LGPL2

UTF-8 Support: Yes

Language: C++, Shell

API's: X11, GNOME, GTK

Install Instructions: You have three options based on your desktop environment:

  • On Debian-based Linux distributions, enter the following command into the terminal: sudo apt-get install gtk+3.0 zenity
  • On RedHat-based Linux distributions, enter the following command into the terminal: yum install gtk3 zenity

Both you and the end user will need to install using one of the above methods.

Screenshots: Zenity.gif

Author(s): Samuel Venable


KDialog Widgets

Platform: Linux

Dependencies: KDialog, KDE

License: GPL2

UTF-8 Support: Yes

Language: C++, Shell

API's: X11, Qt, KDE

Install Instructions: You have three options based on your desktop environment:

  • On Debian-based Linux distributions, enter the following command into the terminal: sudo apt-get install keditbookmarks kdialog
  • On RedHat-based Linux distributions, enter the following command into the terminal: yum groupinstall "KDE (K Desktop Environment)"

Both you and the end user will need to install using one of the above methods.

Screenshots: KDialog.gif

Author(s): Samuel Venable