Commit Graph

185 Commits

Author SHA1 Message Date
kobewi e36301e418 Avoid double editing when clicking AnimatedSprite 2024-04-17 19:51:42 +02:00
Aaron Franke 6dd4a68797
Reorganize some code to have 2D things grouped together 2024-04-13 02:56:50 -07:00
kobewi 969bfeae4c Fix SpriteFrames editor visibility problems 2024-03-21 16:35:22 +01:00
Rémi Verschelde 0975e2941c
Merge pull request #88413 from LeulMulugeta/dont_reset_select_frames
Remember frames when selecting `SpriteFrame` frames
2024-03-05 23:44:33 +01:00
Hugo Locurcio 8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Leul Mulugeta effad7be0c Remember frames when selecting SpriteFrame frames 2024-03-05 16:50:06 +03:00
Rémi Verschelde 8eb08522b3
Merge pull request #85494 from Hobitus/Allow-multi-selection-of-frames-in-the-SpriteFrames-animation-editor
Add multi-selection for `SpriteFramesEditor`
2024-03-04 13:32:44 +01:00
Dominic Marier 8faba242a4 Added multi-selection for sprite_frame_editor
use multi-selection for copy/paste
move up or down
frame duration set while multi-selected
2024-02-29 20:01:00 -05:00
kit eb6ca91ba6 Extract BottomPanel from EditorNode 2024-02-20 15:09:07 -05:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Hugo Locurcio 085629a7c9
Extend minimum/maximum zoom level of TextureRegion editor
This also applies a similar change to the SpriteFrames editor.
2024-01-29 14:58:40 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde 5eb22a317d
Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
2024-01-04 16:39:36 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
kobewi 55f7d493ee Remove AnimatedSprite pointer when clearing editor 2023-11-08 18:09:42 +01:00
DennisManaa 1a1c542836 Implement automatic translation for ItemList 2023-10-23 10:14:08 +02:00
风青山 2642c6851f Defer updating the animations Tree in SpriteFramesEditor to avoid crashes
Previously, clicking the LMB while renaming an animation could cause
`SpriteFramesEditor::_update_library(false)` to be called during
`Tree::propagate_mouse_event()`. This may cause a crash.

We can defer updates to the editor interface to avoid calling
`Tree::create_item()` at the wrong time.

Enables `SpriteFramesEditor::_select_animation()` to be able to undo/redo
2023-10-18 06:46:03 +08:00
Rémi Verschelde 642479db1e
Merge pull request #79872 from dalexeev/sprite-frames-editor-2
SpriteFrames Editor: Fix Frame Duration applied to wrong frame when switching frame
2023-10-05 22:48:04 +02:00
Rémi Verschelde 3cf1bc0a24
Merge pull request #79692 from dalexeev/sprite-frames-editor
SpriteFrames Editor: Fix FPS applied to two animations when switching animation
2023-10-05 22:47:37 +02:00
Rémi Verschelde 8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
Yuri Sizov 4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
A Thousand Ships 75ee58fd04 [Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-15 20:15:39 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Hugo Locurcio e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
Danil Alexeev 0d39121b3a
SpriteFrames Editor: Fix Frame Duration applied to wrong frame when switching frame 2023-07-25 10:55:37 +03:00
Danil Alexeev 2f1e135573
SpriteFrames Editor: Fix FPS applied to two animations when switching animation 2023-07-25 10:51:35 +03:00
Yuri Sizov 7dbbf2eef9 Merge pull request #79743 from TokageItLab/fix-name-list-asp
Make animation name list scroll to new animation in `SpriteEditor`
2023-07-24 19:33:23 +02:00
Silc Lizard (Tokage) Renew 99451b55c2 Make animation name list scroll to new animation in SpriteEditor
Co-authored-by: DarellLdark <darell.ldark@gmail.com>
2023-07-21 19:36:25 +09:00
Rindbee e9cd29cf22 Fix rename animation in SpriteFramesEditor/AnimationNodeStateMachineEditor
When the name suffix grows, the old name is used if it is obtained first.

Fix the case where the following error message would appear when renaming
an animation.

```
ERROR: Animation '' doesn't exist.
   at: get_frame_count (scene/resources/sprite_frames.cpp:71)
```
2023-07-18 15:39:02 +08:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Rémi Verschelde 4f17a94d69
Merge pull request #74341 from dalexeev/sprite-frames-texture-filter
Use nearest with mipmaps texture filter in SpriteFrames editor plugin
2023-05-22 13:48:18 +02:00
Hakim 9cf2d0f058 Hide Animation Frames section when there are no animations and show message 2023-05-19 01:14:11 +02:00
kleonc d58e832062 Make SpriteFrames editor toolbar a FlowContainer 2023-05-13 16:00:25 +02:00
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
Ninni Pipping 83d85048ea Improve SpriteFrameEditor frame addition ordering 2023-03-30 18:56:46 +02:00
Danil Alexeev 2edf1bd76a
Use nearest with mipmaps texture filter in SpriteFrames editor plugin 2023-03-04 08:48:49 +03:00
Eldor Zang 62976659b8
Set default name if SpriteFrames name is empty 2023-02-17 15:29:07 +01:00
Silc Renew 0069131546 Fix ghost SpriteFramesEditor cause crash 2023-02-06 14:08:12 +09:00
Silc Renew 23f566ee1f Fix switching method in SpriteFramesEditor 2023-01-31 19:56:02 +09:00
Danil Alexeev ca7209aaef
Few improvements for SpriteFrames Editor 2023-01-30 21:14:10 +03:00
Silc Renew 17bf6238fc Make AnimatedSprite's playback API consistent with AnimationPlayer 2023-01-26 12:40:19 +09:00
Rémi Verschelde 28a24639c3
Merge pull request #48570 from Calinou/animation-editors-new-name
Tweak the name for new animations in the editor
2023-01-20 08:50:40 +01:00
Rémi Verschelde bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
kobewi b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
kobewi dfc4367a47 Add expand modes to TextureRect 2023-01-12 17:06:03 +01:00
Juan Linietsky e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Juan Linietsky 2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Rémi Verschelde 798582acf0
Merge pull request #65609 from dalexeev/animated-sprite
`AnimatedSprite{2D,3D}` improvements
2023-01-05 15:00:31 +01:00