Zenity allows you to build graphical desktop (GUI) applications in PHP, built on top of ReactPHP.
MIT License
Fix: Explicitly close all STDIO streams when terminating
(#45 by @clue)
First class support for legacy PHP 5.3 through PHP 7.1 and HHVM
(#47 and #44 by @clue)
Improve testsuite by adding PHPUnit to require-dev and
Fix HHVM build for now again and ignore future HHVM build errors
(#44 and #46 by @clue)
Improve documentation for mixing asynchronous and synchronous code
and fix documentation for $selected argument for radio and checkbox dialogs
and restructure examples to ease getting started
(#42 and #41 by @bertvandepoel and #48 by @clue)
launch()
and launchZen()
.BaseZen
now exposes a Promise
instead of being a Promise
.close()
handling, now resolves and cleanly terminates processBC break: Rename all classes in Clue\Zenity\React\Model\Name
to Clue\Zenity\React\Dialog\NameDialog
(#10)
Model\Info
to Dialog\InfoDialog
Zenity
renamed to Dialog\AbstractDialog
Model\Listing
renamed to Dialog\ListDialog
Model\ScaleDialog
to now actually workBC break: Move launching logic from Dialog
to Launcher
(#11)
Dialog
now reprents the dialog option setup, the Launcher
represents a running instance (process) of the given dialog setup. Clear distinction between setup and the actual process.Dialog
setup multiple times or changing settings after launching the first instance is now handled gracefully.Builder
and Dialog
constructors to no longer require a Launcher
instance.Dialog::run()
to Launcher::launch($dialog)
Dialog::waitReturn()
to Launcher::waitFor($dialog)
// old
$dialog = new Model\Info($launcher);
$dialog->run();
// new
$dialog = new Dialog\InfoDialog();
$launcher->launch($dialog);
BC break: Add dedicated runtime processors for each dialog type
(#28)
TextInfoDialog
NotificationDialog
ProgressDialog
Feature: New AbstractTextDialog
base class for question / error / warning / info dialogs
(#25)
Builder
obsolete.// old
$builder = new Builder($launcher);
$builder->info('Hi')->waitReturn();
// new
$dialog = new InfoDialog('Hi');
$launcher->waitFor($dialog);
Feature: New ScaleDialog
dialog type
(#9)
Improved documentation and vastly improved automated test suite
(#26)
Parsing dialog values is now part of the Zen processor
(#30)
Internal refactoring, simplify passing args, testability, maintainability
(#23 and #24)