Commit graph

64 commits

Author SHA1 Message Date
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
kobewi 4b1d577b5c Improve Connect Dialog navigation 2023-02-06 22:56:41 +01:00
kobewi 46261dbe06 Improve Connection Dialog method list 2023-01-29 15:28:07 +01:00
Rémi Verschelde cf8fc5c9a4
Merge pull request #71883 from MinusKube/script-editor-members-real-bug
Remove coupling between ConnectDialog and selected signal
2023-01-26 23:51:56 +01:00
MinusKube cc7351cd10 Remove coupling between ConnectDialog and selected signal 2023-01-26 23:04:54 +01:00
kobewi 24134710dd Connection dialog tweaks 2023-01-26 00:35:59 +01:00
kobewi 1d062e8538 Add method picker to signal connect dialog
Co-authored-by: Sam Pengilly <sam.pengilly@gmail.com>
2023-01-24 20:11:48 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
kobewi ee53b17277 Fix crash in connection dialog 2022-11-02 19:50:33 +01:00
Rémi Verschelde 7502c808fa Merge pull request #66665 from Mickeon/editor-do-not-edit-inherited-signals
Do not allow editing Scene-inherited signal connections
2022-10-14 10:19:47 +02:00
Micky 6a77563b25 Do not allow editing Scene-inherited signal connections
Inherited connections are also highlighted with the warning color in the Node dock.
2022-10-13 20:13:05 +02:00
Micky 176187b11d Add Editor Setting for default name when connecting signal to self 2022-10-09 11:20:13 +02:00
kobewi bb458d82ea Remember advanced state of connection dialog 2022-09-25 20:22:44 +02:00
Micky 8949386382 Rename AnimatedTexture oneshot to one_shot
AnimatedTexture.`oneshot` -> `one_shot`

For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-01 15:38:06 +02:00
Rémi Verschelde f3c906757c
Merge pull request #64573 from KoBeWi/signal_name_plagiarism
Add "Copy Name" option to signal menu
2022-08-26 00:00:44 +02:00
kobewi ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
kobewi ebecd148fe Add "Copy Name" option to signal menu 2022-08-18 16:09:21 +02:00
Juan Linietsky d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
trollodel 307427af89 Add the button pressed to some signals in Tree 2022-05-21 17:16:52 +02:00
reduz 746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Rémi Verschelde c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
Rémi Verschelde f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
C.Even 619d9d143b Fix Callable::bind usage in connections_dialog.h and packed_scene.cpp
* Callable::bind takes an array of pointers to Variant
* Fixes #57057
2022-03-29 12:15:36 +08:00
Rémi Verschelde 11572c6e30
Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
trollodel 05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
Rémi Verschelde 585231a172
Merge pull request #56492 from akien-mga/remove-author-docstrings 2022-01-12 15:24:17 +01:00
Rémi Verschelde ba2bdc478b
Style: Remove inconsistently used @author docstrings
Each file in Godot has had multiple contributors who co-authored it over the
years, and the information of who was the original person to create that file
is not very relevant, especially when used so inconsistently.

`git blame` is a much better way to know who initially authored or later
modified a given chunk of code, and most IDEs now have good integration to
show this information.
2022-01-04 20:42:50 +01:00
Danil Alexeev d0185402b5
Add Default Callback Name editor setting
Adds the "interface/editors/default_signal_callback_name" editor setting,
which allows you to specify the format of the default callback name
in the Signal Connection Dialog.
2022-01-04 20:46:10 +03:00
Rémi Verschelde 42312f066b
Merge pull request #53313 from KoBeWi/debinded_konnekt 2022-01-04 12:22:46 +01:00
Rémi Verschelde fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
kobewi cdac60759e Add support for unbinding in connection dialog 2021-10-04 21:41:21 +02:00
Gregory Basile 8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
Rémi Verschelde b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Eric M 8c4c2bceab Added search box to signals dock.
Also made localised code changes for better documentation and readability.
2020-08-08 14:15:46 +10:00
Marcel Admiraal 26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Rémi Verschelde cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde 09a6a2d8f8 Signals: Port more uses of connect_compat
Those were problematic as they call a method of their parent class,
but callable_mp does not allow that unless it's public.

To solve it, we declare a local class that calls the parent class'
method, which now needs to be protected to be accessible in the
derived class.
2020-02-28 14:24:09 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Haoyu Qiu cf8eedb2f5 Fixes crash when pressing enter in ConnectDialog with nothing selected 2020-02-16 20:45:10 +08:00
asynts e564b4fd07 Refactor (and fix) how the connect button is disabled.
It should not be possible to click the "Connect" button unless

  - a node is selected, and
  - that node is valid in the current mode.

The modes are the default and advanced modes which allow connecting to scripts
and nodes respectively.
2020-01-16 12:35:41 +01:00
asynts 71b4b180ba Prevent crash described in #34555.
Normally it wouldn't be possible to click on the "Connect" button if no node
is selected, because the button would be disabled.

However, double clicking on a node is also hooked up to the same signal
and double clicking is possible even if the "Connect" button is disabled.

This caused a crash described in #34555.
2020-01-14 17:02:18 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rémi Verschelde 190e866e4d ConnectionsDock: Add tooltip with signal description
Had to create a custom Tree to override `make_custom_control` for the
rich text display, similar to EditorProperty.

Fixes #30244.
2019-07-02 16:49:31 +02:00
Michael Alexsander Silva Dias fdd461ddd0 Minor cleanup in connections dialog file 2019-06-13 02:47:12 -03:00
Michael Alexsander Silva Dias 31218a07de Improve conections dialog 2019-06-06 02:40:20 -03:00
homer666 f33c554de1 Update signal connections error dialog 2019-04-17 18:33:14 +10:00
Juan Linietsky 9f4b5a91c0 Reorganized connection dialog for much improved ease of use.
-Removed dest path field
-Added a "Source" signal
-Added an "Advanced" button to hide complexity
-Fix bug on Tree to make sure "ensure visible" works on hidden trees
-Fix bug on TextEdit to ensure signals created with script not open sill focus the right line
2019-04-11 23:23:24 -03:00