Dialogs: Difference between revisions

From ENIGMA
Jump to navigation Jump to search
No edit summary
No edit summary
(55 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 also know before using them. Some of these widget systems require installation, which is also explained here. You may read the most up-to-date function documentation available [https://enigma-dev.org/forums/index.php?topic=3008 here], (and related announcements).




Line 7: Line 7:




'''Platform''': Windows
'''Platform''': Windows Desktop (Vista, 7, 8, 8.1, 10)


'''Dependencies''': N/A
'''Dependencies''': Provided with the OS


'''License''': GPL3
'''License''': GPL3


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


'''Language''': C++
'''Language''': C++


'''API's''': Windows API
'''API's''': Win32


'''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_save_filename get_save_filename(filter, fname)]'''
 
* '''[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/bMIcCsS.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)]'''
'''Author(s)''': Josh Ventura,


* '''[https://enigma-dev.org/docs/Wiki/Get_string get_string(str, def)]'''
Samuel Venable
 
* '''[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_open_filenames get_open_filenames(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filenames_ext get_open_filenames_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)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_color_ext get_color_ext(defcol, title)]'''




Line 121: Line 31:




'''Platform''': Mac OS X
'''Platform''': Mac OS X / macOS (High Sierra, Mojave)


'''Dependencies''': N/A
'''Dependencies''': Provided with the OS


'''License''': MIT
'''License''': GPL3


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


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


'''API's''': Cocoa
'''API's''': Cocoa
Line 135: Line 45:
'''Install Instructions''': N/A
'''Install Instructions''': N/A


'''Screenshots''': [https://i.imgur.com/2MV9nwr.gif Cocoa.gif]
'''Screenshots''': [https://i.imgur.com/bkCYhWs.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_open_filenames get_open_filenames(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filenames_ext get_open_filenames_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)]'''
'''Platform''': Linux, Raspbian, BSD (Potentially)


* '''[https://enigma-dev.org/docs/Wiki/Get_color get_color(defcol)]'''
'''Dependencies''': [https://github.com/GNOME/zenity Zenity], [https://github.com/GNOME GNOME], [https://github.com/GNOME/gtk GTK]
 
* '''[https://enigma-dev.org/docs/Wiki/Get_color_ext get_color_ext(defcol, title)]'''
 
 
== '''Zenity''' ==
 
 
'''Platform''': Linux
 
'''Dependencies''': [https://github.com/GNOME/zenity Zenity], [https://github.com/GNOME/gtk GTK]


'''License''': LGPL2
'''License''': LGPL2
Line 188: Line 61:
'''UTF-8 Support''': Yes
'''UTF-8 Support''': Yes


'''Language''': C++, Shell Script
'''Language''': C++, Shell


'''API's''': X11, GNOME, GTK
'''API's''': X11, GTK, GNOME


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


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


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


* On Arch-based Linux distributions, please see [https://enigma-dev.org/docs/Wiki/Install: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.]
Line 202: Line 75:
Both you and the end user will need to install using one of the above methods.
Both you and the end user will need to install using one of the above methods.


'''Screenshots''': [https://i.imgur.com/8QR7dkR.gif Zenity.gif]
'''Screenshots''': [https://i.imgur.com/y2UaElD.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_open_filenames get_open_filenames(filter, fname)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filenames_ext get_open_filenames_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)]'''
 
* '''[https://enigma-dev.org/docs/Wiki/Get_color_ext get_color_ext(defcol, title)]'''
 
 
== '''KDialog''' ==




'''Platform''': Linux
'''Platform''': Linux, Raspbian, BSD (Potentially)


'''Dependencies''': [https://github.com/KDE/kdialog KDialog], [https://github.com/KDE KDE]
'''Dependencies''': [https://github.com/KDE/kdialog KDialog], [https://github.com/KDE KDE], [https://github.com/qt Qt]


'''License''': GPL2
'''License''': GPL2
Line 255: Line 91:
'''UTF-8 Support''': Yes
'''UTF-8 Support''': Yes


'''Language''': C++, Shell Script
'''Language''': C++, Shell


'''API's''': X11, Qt, KDE
'''API's''': X11, Qt, KDE


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


* 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 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 install kdialog'''


* On Arch-based Linux distributions, please see [https://enigma-dev.org/docs/Wiki/Install: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.]
Line 269: Line 105:
Both you and the end user will need to install using one of the above methods.
Both you and the end user will need to install using one of the above methods.


'''Screenshots''': [https://i.imgur.com/TuTGQ2J.gif KDialog.gif]
'''Screenshots''': [https://i.imgur.com/Eugjc0n.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_open_filenames get_open_filenames(filter, fname)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_open_filenames_ext get_open_filenames_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)]'''
* '''[https://enigma-dev.org/docs/Wiki/Get_color_ext get_color_ext(defcol, title)]'''

Revision as of 03:26, 14 September 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 also know before using them. Some of these widget systems require installation, which is also explained here. You may read the most up-to-date function documentation available here, (and related announcements).


Windows Widgets

Platform: Windows Desktop (Vista, 7, 8, 8.1, 10)

Dependencies: Provided with the OS

License: GPL3

UTF-8 Support: Yes

Language: C++

API's: Win32

Install Instructions: N/A

Screenshots: Win32.gif

Author(s): Josh Ventura,

Samuel Venable


Cocoa Widgets

Platform: Mac OS X / macOS (High Sierra, Mojave)

Dependencies: Provided with the OS

License: GPL3

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, Raspbian, BSD (Potentially)

Dependencies: Zenity, GNOME, GTK

License: LGPL2

UTF-8 Support: Yes

Language: C++, Shell

API's: X11, GTK, GNOME

Install Instructions: You have three options based on your Linux distribution:

  • On Debian-based Linux distributions, enter the following command into the terminal: sudo apt-get install zenity
  • On RedHat-based Linux distributions, enter the following command into the terminal: yum install 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, Raspbian, BSD (Potentially)

Dependencies: KDialog, KDE, Qt

License: GPL2

UTF-8 Support: Yes

Language: C++, Shell

API's: X11, Qt, KDE

Install Instructions: You have three options based on your Linux distribution:

  • On Debian-based Linux distributions, enter the following command into the terminal: sudo apt-get install kdialog
  • On RedHat-based Linux distributions, enter the following command into the terminal: yum install kdialog

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

Screenshots: KDialog.gif

Author(s): Samuel Venable