Go to file
Pedro J. Estébanez 259ed1d400 Improve popup menus usability
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal.

This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item.

This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature.

This improves UX a bit by saving unnecessary clicks.

From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
2018-04-07 01:06:02 +02:00
core Fix for clang warning at distance_to 2018-03-22 13:26:04 -03:00
doc [DOCS] minor ParticlesMaterial docs fix Linear -> Radial 2018-03-21 23:44:09 +07:00
drivers Merge pull request #17653 from eska014/rwlock-dummy 2018-03-21 17:40:01 +01:00
editor Improve popup menus usability 2018-04-07 01:06:02 +02:00
main Add --print-fps option to output FPS to stdout 2018-03-21 09:08:51 +01:00
misc Merge pull request #17666 from akien-mga/editor-fps-verbose 2018-03-21 17:40:37 +01:00
modules Fix mono basis GetEuler bug and marshalling/unmarshalling 2018-03-24 13:45:11 -07:00
platform Merge pull request #17760 from eska014/html5-refactor 2018-03-26 21:15:17 +02:00
scene Improve popup menus usability 2018-04-07 01:06:02 +02:00
servers Merge pull request #17680 from beniwtv/master 2018-03-23 10:47:11 +01:00
thirdparty Updated thekla_atlas to support arm64 2018-03-20 13:44:45 -05:00
.appveyor.yml Add GDnative wrapper lib on CI build 2018-01-04 20:32:12 +01:00
.clang-format Style: Apply clang-format to Java files 2017-12-10 01:16:07 +01:00
.editorconfig Enforce insert_final_newline in the editorconfig. 2018-02-16 19:44:47 +01:00
.gitattributes Add .xml to .gitattributes 2017-10-13 21:29:26 +11:00
.gitignore Added Geany/geany_plugins files to the ".gitignore". 2018-01-07 14:14:32 -02:00
.mailmap Disable colored output and progress bar when building outside of a TTY 2018-01-13 17:56:41 +01:00
.travis.yml Deleting OpenSSL module and library 2018-02-14 01:26:34 +01:00
AUTHORS.md Update AUTHORS and DONORS list 2018-03-02 19:47:48 +01:00
CHANGELOG.md Add a project changelog 2018-02-22 18:25:40 +01:00
compat.py Fix build with Python 3 on Windows 2017-10-29 19:27:12 +01:00
CONTRIBUTING.md fix some typos 2017-11-28 16:18:22 +01:00
COPYRIGHT.txt Remove OpenSSL license, add Mbed TLS 2018-02-14 08:13:08 +01:00
DONORS.md Update AUTHORS and DONORS list 2018-03-02 19:47:48 +01:00
icon.png Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
icon.svg Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
ISSUE_TEMPLATE.md Issue template: Remove checkbox and reword some comments 2018-01-05 10:58:04 +01:00
LICENSE.txt Update copyright statements to 2018 2018-01-01 14:40:47 +01:00
logo.png Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
logo.svg Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
LOGO_LICENSE.md Improve documentation of thirdparty code snippets 2017-05-07 11:42:37 +02:00
methods.py Refactor JavaScript platform build script 2018-03-26 19:46:56 +02:00
README.md Add screenshot to the README 2017-10-31 10:15:36 +01:00
SConstruct Refactor JavaScript platform build script 2018-03-26 19:46:56 +02:00
version.py Bump version to 3.1-dev 2018-01-30 00:19:24 +01:00

Godot Engine logo

Godot Engine

Homepage: https://godotengine.org

2D and 3D cross-platform game engine

Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.

Free, open source and community-driven

Godot is completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Software Freedom Conservancy not-for-profit.

Before being open sourced in February 2014, Godot had been developed by Juan Linietsky and Ariel Manzur (both still maintaining the project) for several years as an in-house engine, used to publish several work-for-hire titles.

Screenshot of a 3D scene in Godot Engine

Getting the engine

Binary downloads

Official binaries for the Godot editor and the export templates can be found on the homepage.

Compiling from source

See the official docs for compilation instructions for every supported platform.

Community

Godot is not only an engine but an ever-growing community of users and engine developers. The main community channels are listed on the homepage.

To get in touch with the developers, the best way is to join the #godotengine IRC channel on Freenode.

Documentation and demos

The official documentation is hosted on ReadTheDocs. It is maintained by the Godot community in its own GitHub repository.

The class reference is also accessible from within the engine.

The official demos are maintained in their own GitHub repository as well.

There are also a number of other learning resources provided by the community, such as text and video tutorials, demos, etc. Consult the community channels for more info.

Travis Build Status AppVeyor Build Status Code Triagers Badge