Commit graph

345 commits

Author SHA1 Message Date
K. S. Ernest (iFire) Lee
18bd0fee5a
Merge pull request #49343 from theoway/node_auto_arrangement_graph_edit
Node Auto Arrangement in GraphEdit/VisualScript/VisualShader
2021-08-10 15:42:04 -04:00
Umang Kalra
12fc3f1eef Automatic arrangement of nodes in VisualScript/VisualShaders editors
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this 
feature is compact, with minimum crossings between connections
& uniform horizontal & vertical gaps between the nodes. 

This work has been sponsored by GSoC '21.

Full list of additions/changes:
• Added arrange_nodes() method in GraphEdit module.
    • This method computes new positions for all the selected
      nodes by forming blocks and compressing them.
      The nodes are moved to these new positions. 
    • Adding this method to GraphEdit makes it available for 
      use in VisualScript/VisualShaders editors and its other
      subclasses. 
• Button with an icon has been added to call arrange_nodes() in GraphEdit. 
    • This button is inherited by VisualScript/VisualShaders editors
       to invoke the method.
• Undo/redo is functional with this method.
    • By using signals in arrange_nodes(), position changes are registered 
       in undo/redo stack of the subclass that is using the method. 
• Metadata of the method has been updated in ClassDB
• Method description has been added to class reference of GraphEdit
2021-08-11 00:44:28 +05:30
Nathan Franke
051234e84e
Fix Gradient, Color Picker BG, Fix CanvasItem::draw_texture_rect p_tile 2021-08-07 16:40:50 -05:00
Yuri Sizov
d3e413c659 Fix the editor theme application for the Mono build log 2021-08-03 22:13:32 +03:00
Yuri Sizov
4013d03c45 Fix theming in the audio bus editor 2021-07-31 22:14:14 +03:00
Hugo Locurcio
e92297cc3d
Make the focus outline translucent for editor viewports
This makes the focus outline less distracting on the
2D and 3D editor viewports.
2021-07-30 14:20:54 +02:00
Michael Alexsander
79fc188fc4 Multiple cosmetic fixes for embedded windows 2021-07-27 23:55:06 -03:00
Rémi Verschelde
d7811c72ed
Merge pull request #50593 from SirQuartz/patch-24
Fix Illegible text in audio bus editor
2021-07-20 10:48:11 +02:00
reduz
6631f66c2a Optimize StringName usage
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.

This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Nick Huelin
a45713ccdd Fix Illegible text in audio bus editor
This pull request fixes an issue with the audio bus editor where the text would be illegible regardless of the theme being used.
2021-07-18 17:53:52 -04:00
Yuri Sizov
d82ec336d9 Fix control picker in the Theme editor 2021-07-16 21:32:58 +03:00
Yuri Sizov
4ee0e6ddf5 Add type variations to Theme 2021-07-13 02:26:28 +03:00
Lightning_A
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
Yuri Sizov
d0e86c7afc Overhaul the theme editor and improve user experience 2021-06-14 21:46:30 +03:00
Hugo Locurcio
0f4df474c9
Improve radio checkboxes in the default editor theme 2021-06-03 00:44:21 +02:00
reduz
d95bc3fa67 Use bold fonts in editor
* Labels are now bold
* Categories in trees are bold
* Main editor buttons are bold
* Fixed section folding arrows in inspector
2021-06-02 12:47:57 -03:00
Rémi Verschelde
e615060cd6
Merge pull request #49132 from Calinou/editor-syntax-themes-rename-default
Rename the bundled text editor themes for consistency with themes
2021-05-31 14:47:49 +02:00
Hugo Locurcio
1704be0a44
Rename the bundled text editor themes for consistency with themes
The Adaptive text editor theme is the default, and has therefore
been renamed Default for consistency with the Default theme preset.
It keeps its automatic dark/light switch status.

The Default text editor theme was actually a legacy Godot 2-style theme,
so it has been renamed to Godot 2 to match the theme preset.
Its background color has been changed to be a constant opaque color,
since the new editor theme made the theme look less good on a translucent
background. The previous background color on light theme also lacked
contrast.
2021-05-31 14:02:13 +02:00
Hugo Locurcio
c8f2f29d81
Use a negative contrast setting for light editor themes
This makes light themes look more natural with regards to UI design
guidelines around "elevation".
2021-05-27 11:35:33 +02:00
Yuri Sizov
9c92e9d849 Add highlight to the relationship lines of selected Tree items 2021-05-25 18:56:06 +03:00
Rémi Verschelde
c321f6ff47
Merge pull request #48644 from Calinou/editor-increase-icon-saturation
Increase icon saturation by 30% for all editor icons
2021-05-24 19:20:09 +02:00
Hugo Locurcio
0d27c4d809
Tweak pressed CheckBox appearance in the editor
This uses the accent color to match pressed CheckButtons after they
were updated. Checked checkboxes are now more prominent in the user's
peripheral vision, which can be useful at times. This also matches
how checkboxes look in most operating systems and web browsers.
2021-05-22 03:45:01 +02:00
Yuri Sizov
3a66c22e71 Add outlines and contrasting backgrounds to the editor UI elements 2021-05-12 01:45:56 +03:00
Hugo Locurcio
7375a02015
Increase icon saturation by 30% for all editor icons
More saturated icons go better with the new editor theme.

These color changes only apply when using a dark theme.

The editor icon saturation can still be adjusted in the Editor Settings.
Setting the editor icon saturation setting to 0.77 should roughly match
the old icon saturation.
2021-05-11 18:15:31 +02:00
Rémi Verschelde
8962d36bb1
Merge pull request #33577 from Calinou/highlight-control-flow-keywords
Highlight control flow keywords with a different color
2021-05-07 00:52:50 +02:00
Hugo Locurcio
e905e8f145
Highlight control flow keywords with a different color
This makes them easier to distinguish from other keywords.
2021-05-05 22:38:12 +02:00
Hugo Locurcio
60b70c77e0
Improve the editor theme
The editor theme now makes use of rounded corners and less borders
to follow modern visual trends.

The default theme's colors were also tweaked to make the blue hue
more subtle (similar to the Arc theme, which was removed as a
consequence). The Alien theme was replaced by a Breeze Dark theme,
which should blend in well with the KDE theme.
2021-04-27 22:38:26 +02:00
Marcel Admiraal
86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
Kongfa Waroros
6294507acb Add Various ColorPicker shapes 2021-04-06 22:48:03 +07:00
Marcel Admiraal
fd30c36985 Rename Texture.get_data() to get_image() 2021-03-28 13:00:46 +01:00
Rémi Verschelde
c6b9ceadf2
Merge pull request #47163 from bruvzg/macos_sandbox_file_dialog
FileDialog: add Back/Forward buttons, add message for inaccessible folders.
2021-03-26 00:00:25 +01:00
Rémi Verschelde
22716a1df2
Merge pull request #36004 from nathanfranke/fix-transparent-theme-color
Fix transparent editor theme being brighter
2021-03-23 13:25:38 +01:00
bruvzg
b202a0dd2a
FileDialog: add Back/Forward buttons, add message for inaccessible folders. 2021-03-23 08:03:41 +02:00
Haoyu Qiu
30842b2efe Fix project icon size in Project Manager 2021-03-20 17:32:38 +08:00
ray90514
4c0ab07809 Fix Tree focus border disappears when Border Size is set to 0 2021-03-12 09:28:20 +08:00
Kongfa Waroros
d295d53b4a Add interpolation bar on each channel in ColorPicker 2021-03-09 14:58:19 +07:00
Eric M
26c29cc0d7 Improved PopupMenu visuals. Removed x-y margin, made it 'padding' instead. 2021-02-15 15:45:25 +10:00
reduz
5ae9051771 Add ability to change Icon Saturation
-Allows for more theme freedom
-Allows for entirely B&W themes.
2021-02-12 12:16:37 -03:00
reduz
b9b68b755c Improved Inspector Sub-Resource Editing
-Better margins
-Colors to delimit subresources better.
2021-02-12 09:31:47 -03:00
Rémi Verschelde
6cba658934
Merge pull request #44194 from madmiraal/fix-font_selected_color
Change themes font_color_selected to font_selected_color
2021-01-26 00:03:40 +01:00
Yuri Sizov
9d9d0f0bc9 Fix minimap capturing events and improve its theme
Add an editor setting for minimap opacity in visual editors
2021-01-25 21:49:07 +03:00
Marcel Admiraal
8eb39f4e8b Change themes *_color_* to *_*_color
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color

Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
Hugo Locurcio
1f9cac1717
Fix typo in theming methods ("botton" -> "bottom") 2021-01-18 04:19:07 +01: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
Marcel Admiraal
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
Rémi Verschelde
c83d1b2526
Merge pull request #43416 from pycbouh/graph-minimap
Add a minimap to the GraphEdit
2020-12-17 17:34:36 +01:00
Michael Alexsander
383e8919e0 Add "font_color_separator" theme property to 'PopupMenu' 2020-12-03 11:36:03 -03:00
Yuri Sizov
999ce610a2 Add a minimap to the GraphEdit 2020-11-30 16:48:52 +03:00
Eric M
231231f904 Reduced margin on PopupMenu 2020-11-30 10:18:16 +10:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Hugo Locurcio
c1a65e5289
Use 75% editor scale on small displays automatically
This also makes borders always display in the editor theme,
even if the editor scale is below 100%. Otherwise, "focus" outlines
would vanish when using an editor scale below 100%,
which harms usability.
2020-11-16 16:23:15 +01:00
nathanwfranke
0222f78482
Fix transparent editor theme being brighter 2020-10-29 05:36:03 -05:00
Lunatoid
740100d671 Fixes DefaultProjectIcon scaling with editor scale
Should fix #27009 where the DefaultProjectIcon was scaling
with the EDSCALE. Now it checks if the icon name is equal
to "DefaultProjectIcon" and sets the scale to 1.0 instead of
EDSCALE.
2020-09-22 15:38:44 +02:00
Paulb23
7829fdc1d0 Add folding gutter to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
4d7df24d46 Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
a0b409cb14 Add and convert editor to use CodeEdit 2020-09-10 20:35:27 +01:00
totlmstr
bfede1c060 Add missing #ifdef MODULE_SVG_ENABLED 2020-08-08 12:57:00 -07:00
Hugo Locurcio
9bd2d7a617
Fix default editor/project Button styles after ToolButton removal
Before this fix, all Buttons made with the default project theme
looked flat until hovered.
2020-06-24 17:21:47 +02:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02: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
Aaron Franke
540156b387
[Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
Rémi Verschelde
5566c5eb8d
Merge pull request #37517 from nekomatata/slider-grab-area-highlight
Add style for highlighted Slider grab area
2020-04-10 12:08:02 +02:00
Michael Alexsander
446ca21efa Remove unnecessary panel in EditorHelpBit 2020-04-06 18:40:06 -03:00
Yuri Sizov
0671d7b276 Added missing LinkButton colors in Editor Theme 2020-04-05 22:57:12 +03:00
PouleyKetchoupp
4c8173af0f Add style for highlighted Slider grab area 2020-04-02 15:05:46 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
047e0b7de5 Reworked tooltips to use the popup system. 2020-03-26 15:49:45 +01:00
Juan Linietsky
c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
clayjohn
61a74739ca Working sky shader implementation 2020-03-21 20:43:44 -07:00
Michael Alexsander
5c5a2b7472 Remove extra margin in the top of the debugger 2020-02-22 18:41:22 -03:00
Michael Alexsander
8017a44098 Fix visuals of the new debugger editor 2020-02-22 12:39:44 -03:00
Rémi Verschelde
d2537407ef Fix various GCC compilation warnings after Vulkan merge
Part of #36132.
2020-02-14 10:02:31 +01:00
Yuri Roubinsky
516cd821c0 Added high-end (Vulkan) label to some functions in visual shader 2020-02-12 23:17:00 +03:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Rémi Verschelde
f3726ee994 Use modules_enabled.gen.h to improve inter dependency checks
- Fix build with gdscript module disabled. Fixes #31011.
- Remove unused `gdscript` compile option.
- Fix build with regex module disabled.
- Fix ImageLoaderSVG to forward declare thirdparty structs.
2020-02-07 11:50:40 +01:00
Hugo Locurcio
9e3393a624
Optimize the editor icon generation
Icons are no longer upsampled when using an integer editor scale.
This makes some icons slightly less crisp, but the icons themselves
can be adjusted to mitigate this. When using a non-integer editor
scale setting, upsampling is kept as it improves crispness in a
far more visible manner.

When upsampling is disabled, this speeds up the theme generation
by about 100 ms on average, making the project manager and editor
start slightly faster. This also speeds up switching between themes.
2020-01-20 00:31:04 +01:00
Hugo Locurcio
d72f5e0938
Only create the editor theme once
This prevents the editor theme from being created twice.
This speeds up the project editor and editor startup
significantly; startup is now 1.3 times faster on average
(tested on a debug build). RAM usage was also lowered by 7.5 MB
on average.

This partially addresses #35321.
2020-01-19 21:51:21 +01:00
Michael Alexsander
8b5992f665 Make possible to edit the GraphEdit's selection rect colors 2020-01-07 23:20:48 -03: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
Michael Alexsander
fd2c181a35 Revert "Merge pull request #34315 from YeldhamDev/editor_theme_optionbutton_arrow"
This reverts commit 0da0eec6cc, reversing
changes made to ec97535ea3.
2019-12-28 14:16:51 -03:00
Haoyu Qiu
6ee9833c6f Set proper icon for LineEdit in editor theme 2019-12-22 15:01:59 +08:00
volzhs
1acbbfc3f1 Set proper icons for FileDialog in editor theme 2019-12-20 17:13:31 +09:00
Michael Alexsander
5004b8b81e Fix OptionButton's arrow margin in editor theme 2019-12-12 20:16:48 -03:00
conankzhang
3854389156 Fix a constant name typo for GridContainer when creating an editor theme. 2019-10-31 01:01:54 -07:00
Michael Alexsander
d92123ed97 Add "panel" style to PopupDialog 2019-10-27 19:45:03 -03:00
Bojidar Marinov
db89fef8fa
Highlight singletons and class_names in GDScript
Also, implement a small QoL change for auto-typed variables.
Closes #5739
2019-09-28 13:13:18 +03:00
Hugo Locurcio
70c4e96623
Draw an indicator to denote overbright colors in ColorPicker
This makes it faster to distinguish overbright colors from
"standard" colors.
2019-09-27 15:28:42 +02:00
Rémi Verschelde
076dc9803a
Merge pull request #32119 from Calinou/unify-axis-colors
Use the same axis colors consistently in the 2D and 3D editors
2019-09-25 13:03:47 +02:00
Michael Alexsander Silva Dias
94ad89a5fb Fix various problems with tab-related icons 2019-09-22 23:08:14 -03:00
Rémi Verschelde
d249bb37e5
Merge pull request #32112 from Calinou/project-manager-add-hover-style
Add an "hover" style to items in the project manager
2019-09-20 23:15:40 +02:00
Rémi Verschelde
f7cd50e900
Merge pull request #32206 from Calinou/remove-unused-tree-constants
Remove an unused icon and constant in Tree
2019-09-20 23:14:50 +02:00
Hugo Locurcio
40a5de97e6
Remove an unused icon and constant in Tree 2019-09-20 17:50:13 +02:00
Hugo Locurcio
04f43116d6
Improve folding appearance in the editor inspector
The arrow is now displayed at the left to be consistent with
other places where folding is used. The arrow icons used are now
consistent with the rest of the editor. The `arrow_up` icon is
no longer used anywhere, so it was removed.

Additional spacing was also added for a better visual appearance.
2019-09-19 22:29:25 +02:00
Hugo Locurcio
c2bcc3f700
Use the same axis colors consistently in the 2D and 3D editors 2019-09-13 14:08:41 +02:00
Hugo Locurcio
9e5f1d6641
Add an "hover" style to items in the project manager
This makes the project manager feel more responsive to user input.
2019-09-13 02:34:05 +02:00
Chaosus89
8fd8589547 Fix resizer icon visiblity on light theme in GraphNode 2019-09-01 09:12:26 +03:00
Chaosus89
227b1c32bc Fix graph edit lines color on light theme 2019-08-30 11:56:45 +03:00
Hugo Locurcio
2d6033c1a8
Improve more light theme colors in the editor for better readability
This also makes the "pressed icon" color easier to distinguish
on a light theme.

This closes #31763.
2019-08-29 15:11:23 +02:00
Hugo Locurcio
e1b9004b0f
Rename FileDialog's folder icon custom color to folder_icon_modulate
The custom color introduced in be8d569744
had the same name as the "folder" icon, which could cause conflicts
in the generated documentation.

The new name is also more self-explanatory.
2019-08-21 18:43:01 +02:00