summaryrefslogtreecommitdiff
path: root/editor/code_editor.cpp
AgeCommit message (Collapse)Author
2022-08-29Rename `CanvasItem.update()` to `queue_redraw()`Micky
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on. Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency. Just a few comments have also been changed to say "redraw". In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde
NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. Fixes #64988. Fixes #64997. This caused several regressions (#64988, #64997, https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605) which point at a flaw in the current logic: - `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with `NOTIFCATION_THEME_CHANGED` as introduced in #62845. - Some classes use their `THEME_CHANGED` to cache theme items in member variables (e.g. `style_normal`, etc.), and use those member variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE` notification is now deferred, they end up accessing invalid state and this can lead to not applying theme properly (e.g. for EditorHelp) or crashing (e.g. for EditorLog or CodeEdit). So we need to go back to the drawing board and see if `THEME_CHANGED` can be called earlier so that the previous logic still works? Or can we refactor all engine code to make sure that: - `ENTER_TREE` and similar do not depend on theme properties cached in member variables. - Or `THEME_CHANGE` does trigger a general UI update to make sure that any bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE` does arrive for the first time. But that means having a temporary invalid (and possibly still crashing) state, and doing some computations twice which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-28Merge pull request #64885 from Mickeon/rename-tooltip-hintRémi Verschelde
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-27Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record
2022-08-27Rename `hint_tooltip` to `tooltip_text` & setgetMicky
`hint_tooltip` -> `tooltip_text` `set_tooltip` -> `set_tooltip_text` `_get_tooltip` -> `get_tooltip_text` Updates documentation, too.
2022-08-22Replace Array return types with TypedArraykobewi
2022-08-10Allow using numpad for zoom shortcuts in the 2D/code editorsHugo Locurcio
This behavior is consistent with GIMP.
2022-08-02Fix guidelines appearanceStanislav Labzyuk
2022-07-25Fix script editor zoom shortcuts not marking events as accepted.bruvzg
2022-07-22Adding shader preprocessor supportYuri Roubinsky
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-12Fix negative search result matchAndreas Raddau
2022-07-08Fix regressions from Font refactorbruvzg
Remove unnecessary font override Fixes button outline draw when it should not, causing button colors to be slightly off
2022-07-07Fix regressions from Font refactorbruvzg
Fixes `p_font.is_null()` errors due to incorrect resource type used. Fixes code editor font not set correctly, and OpenType features applied to the wrong font.
2022-07-06Refactor Font configuration and import UI, and Font resources.bruvzg
2022-06-26Add an option to drag'n'drop selected text in TextEditConteZero
2022-05-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
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-04-27Indicate code editor search match numberOğuzhan Eroğlu
2022-03-27Add GDExtension support to Scriptreduz
* Ability to create script languages from GDExtension * Some additions to gdnative_extension.h to make this happen * Moved the GDExtension binder to core This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x. Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-12Initialize bools in the headers in editorAaron Franke
2022-02-16Port existing _notification code to use switch statements (part 1/3)jmb462
2022-02-15Editor: Cleanup some includes dependenciesRémi Verschelde
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-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-08Revert "Add missing SNAME macro optimization to all theme methods call"Rémi Verschelde
This reverts commit a988fad9a092053434545c32afae91ccbdfbe792. As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used everywhere but only in critical code paths. For theme methods specifically, it was by design that only getters use `SNAME` and not setters.
2022-02-06Add missing SNAME macro optimization to all theme methods calljmb462
2022-02-06Add missing SNAME macro optimization in some function callsjmb462
2022-02-03Remove get_focus_owner() from Control, replaced by ↵Gilles Roudière
get_viewport()->gui_get_focus_owner()
2022-01-25Fix theming update of shader editorYuri Roubinsky
2022-01-22Rename request_code_completion signalkobewi
2022-01-05Prevent error emitting when clicking on error in code text editorYuri Roubinsky
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-09Fixup last commit, change misleading CodeEditor for consistencyRémi Verschelde
2021-12-09align to horizontal_alignment, valign to vertical_alignment, relatedNathan Franke
2021-12-07ScrollContainer's scrollbar visibility is now enumkobewi
2021-11-26Make delete_lines work correctly regardless of the selectionator-dev
2021-11-12Use "enum class" for input enumsAaron Franke
2021-10-27Add option to make selection uniqueConteZero
2021-09-21Improve GDScript Editor and Improve latencyGordon MacPherson
Improvements: - GDScript Highlighter is faster by 25% as keys are smaller (hashes instead of strings) - Removes message queue from _apply_settings_change to allow resize to work correctly - Some performance fixes are pending still Note: this resolves the code editor behaving badly when resizing in debug builds
2021-09-17Merge pull request #52655 from Chaosus/toggle_scripts_panelRémi Verschelde
2021-09-15Added status bar and toggle scripts panel button to EditorHelp/VScriptsYuri Roubinsky
2021-09-14Tweak the script editor's line/column indicator for readabilityHugo Locurcio
- Use a colon instead of parentheses and a comma to reduce visual clutter. - Pad the line number with 4 spaces to account for scripts longer than 999 lines.
2021-09-14Prevent error generates if `Delete Line` used on last line in CodeEditorYuri Roubinsky
2021-09-14Merge pull request #52662 from Chaosus/fix_bookmarksRémi Verschelde
Fix editor crash on pressing `Go to Previous Bookmark` menu button
2021-09-14Fix editor crash on pressing `Go to Previous Bookmark` menu buttonYuri Roubinsky
2021-09-02Fix Find Next shortcut not working when search bar is focusedThreeRhinosInAnElephantCostume
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-16Fix carret not following while debugging (Fix #51754)jmb462
2021-08-16Reorganise text editor settingsPaulb23
2021-08-13Move CodeEdit theme overrides into EditorThemePaulb23
2021-08-12Cleanup and bind remaing methods in TextEditPaulb23