Commit graph

851 commits

Author SHA1 Message Date
Marcel Admiraal
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Rémi Verschelde
c4c211c3b7
Merge pull request #44605 from madmiraal/rename-control-margin
Rename Control margin to offset
2020-12-23 18:24:00 +01:00
Marcel Admiraal
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
bruvzg
1adea98d07
Use integer text position in scroll container, TextEdit and canvas editor, to ensure sharp text rendering.
Use integer font align/advance with any font scaling, to ensure sharp text rendering.
2020-12-21 07:49:27 +02:00
Sergey Minakov
efeb9e4d08 GUI: use cursor in TextEdit for non selected text. 2020-12-16 05:41:14 +03:00
Yuri Roubinsky
2d4ef1c193 Fixed mouse scrolling in TextEdit's 2020-12-11 12:51:10 +03:00
bruvzg
644f739660
Static analyzer fixes:
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
bruvzg
0ef483e9a9
[Complex Text Layouts] Performance optimizations. 2020-12-07 08:53:02 +02:00
bruvzg
a458e90179
[Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
bruvzg
3be31c4960
[Complex Text Layouts] Refactor TextEdit and CodeEdit controls. 2020-11-26 14:25:50 +02: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
Sergey Minakov
8894c64e54 GUI: send cursor data from TextEdit 2020-11-15 16:03:21 +03: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
Yuri Roubinsky
c3df61a602 Removed redundant line from TextEdit
introduced in https://github.com/godotengine/godot/pull/43026
2020-10-28 12:56:20 +03:00
Devin Curry
b9c35af15d ScriptEditor: Fix line number gutter drag select
Fixes issue #42722
2020-10-25 12:13:54 -07:00
Yuri Roubinsky
4c65dc975c Shows ColorRect in Color constants autocompletion 2020-10-23 19:03:50 +03:00
Dominik 'dreamsComeTrue' Jasiński
99c8a07919 TextEdit - fix valid bounds in 'set_line'. Fixes #41967 2020-10-17 17:59:15 +02:00
Paulb23
33ab9cd621 Move safe line color into editor 2020-09-10 20:35:28 +01:00
Paulb23
d18a90b8f0 Move ConnectionGutter to editor code_editor 2020-09-10 20:35:28 +01: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
907f9f2a84 Changed line_edited_from(from) to lines_edit_from(from, to) 2020-09-10 20:35:28 +01:00
Paulb23
1353ed5e44 Added Line numbers to CodeEdit 2020-09-10 20:35:28 +01:00
Paulb23
c13d9eb6e5 Added gutter system to TextEdit 2020-09-10 20:35:28 +01:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Cheeseness
1f159306ed Skip indentation of empty lines when indenting a selection. 2020-08-14 23:53:34 +10:00
Rémi Verschelde
044b3d0ed3
Merge pull request #37769 from HellonLegs/master
solved ctrl + alt + special character Issue #6851
2020-08-14 13:03:07 +02:00
PouleyKetchoupp
095331fae4 Add option to disable virtual keyboard for TextEdit
Adding support for disabling virtual keyboard on mobile platforms, in
order to make it consistent with LineEdit.

It allows implementing a custom virtual keyboard.
2020-08-09 11:06:36 +02:00
Paulb23
51dd4792d7 Fix TextEdit line width cache not being updated 2020-07-29 21:42:38 +01:00
PouleyKetchoupp
8c05dadcff Fix Return key events in LineEdit & TextEdit on Android
Depending on the device implementation, editor actions could be
received with different action ids or not at all for multi-line.

Added a parameter to virtual keyboards to properly handle single-line
and multi-line cases in all situations.

Single-line:
Input type set to text without multiline to make sure actions are sent.
IME options are set to DONE action to force action id consistency.

Multi-line:
Input type set to text and multiline to make sure enter triggers new lines.
Actions are disabled by the multiline flag, so '\n' characters are
handled in text changed callbacks.
2020-07-26 20:06:07 +02:00
Paulb23
bc4cee4458 Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
2020-07-11 17:09:58 +01:00
Paulb23
2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
Juan Linietsky
438c380458 Add a separate application focus/in notification out from Window focus notification. 2020-06-30 10:40:06 -03:00
Stijn Hinlopen
5f7499beac No longer scroll vertically when scrollbars are unavailable 2020-06-20 20:56:17 +02:00
PouleyKetchoupp
242b94af1a TextEdit search returns a dictionary instead of Vector
Easier to use than accessing elements in a Vector using indices given by an enum.
Breaks compatibility on existing scripts using this functionality.
2020-05-16 23:46:14 +02:00
Marcus Brummer
b048eb05ad Fixed text editor drawing if smooth scrolling is disabled.
Fixes #38778
2020-05-16 16:31:43 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +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
Rémi Verschelde
6dfea347b0
Merge pull request #38655 from ice-blaze/minimap-shifted-selection-by-one-line#38532
Fix minimap selection offset
2020-05-12 18:02:21 +02:00
etienne.frank
72ab355945 Fix minimap selection offset
The minimap selection was shifted of 1 line too late.
2020-05-11 10:02:16 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
d7b85fbaa1
Merge pull request #31086 from volzhs/underline
Use underline position and thickness value in font file
2020-05-07 21:18:41 +02:00
Rémi Verschelde
b62218bbac
Merge pull request #38385 from ThakeeNathees/method-bind-text_edit-set_line
method bind TextEdit::set_line() added
2020-05-07 13:43:34 +02:00
Rémi Verschelde
4d50f747d5
Merge pull request #37293 from Janglee123/ctrl-click-improvements
Improved go-to definition (Ctrl + Click)
2020-05-05 16:49:15 +02:00
janglee
be7a353c70 Improved go-to definition (Ctrl + Click)
Co-Authored-By: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
2020-05-05 10:46:12 +05:30
Thakee Nathees
b9acf1cedf method bind TextEdit::set_line() added 2020-05-01 18:37:12 +05:30
Rémi Verschelde
f6e29addd4
Merge pull request #37846 from CaptainProton42/text-edit-undo-stack-size
Add "undo_max_stack_size" property to TextEdit
2020-04-29 15:56:08 +02:00
volzhs
9f1de2cfdd Use underline position and thickness value in font file 2020-04-29 21:56:15 +09:00
John Wigg
4a82390aaf Limit undo stack size
The stack size of the undo history of a TextEdit was not limited leading
to potential memory leaks when doing lots of operations on a TextEdit.

This commit adds the option gui/common/text_edit_undo_stack_max_size
to the project settings. The first element of the undo stack is popped
if the stack's size exceeds this value ensuring limited memory usage.

The default stack size setting is 1024.

Fixes #37838.
2020-04-29 11:31:01 +02:00
Tomasz Chabora
9dfb231e00 Remove unneccessary increment in TextEdit 2020-04-29 00:16:48 +02:00
Rémi Verschelde
fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
HellonLegs
f412237f38 solved control + alt issue 2020-04-10 19:49:51 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
bruvzg
15a9f94346 Add macOS DisplayServer implementation.
Change global menu to use Callable, add support for check items and submenus.
2020-03-26 16:24:05 +01:00
Mateo Kuruk Miccino
f387b9b4f4 Multiple changes to DisplayServerX11
- Travis: Change x11 to linuxbsd
- SCons: Change x11 plataform to linuxbsd
- Plugins: Remove ; to avoid fallthrough warning
- DisplayServerX11: Implement set_icon
- DisplayServerX11: Fix X11 bug when a window was erased from windows
  map, all the changes from that erased windows are sending to the main
  window
- DisplayServerX11: Reorder create_window commands
- DisplayServerX11: Change every Size2 to Size2i and Rect2 to Rect2i
  where it belongs

+ More X11 fixes which have been integrated directly back into reduz's
original commits while rebasing the branch.
2020-03-26 15:49:54 +01:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky
9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky
f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky
4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde
ca4e4506db Fix potential divisions by 0 reported by MSVC
The `TextEdit` one was indeed a potential bug.
The `PCKPacker` one seems to be a false positive, it's already in a
`for` loop that depends on `files.size()`.
2020-03-21 11:54:08 +01:00
Rémi Verschelde
951ecc4f79
Merge pull request #36518 from Janglee123/no-underlined-keywords
Removed underlining of not clickable symbols
2020-03-12 22:24:43 +01:00
janglee
50a570c9c1 Removed underlining for not clickable symbols 2020-03-11 08:57:21 +00:00
Rémi Verschelde
e80da4a920
Merge pull request #36715 from dreamsComeTrue/fix-text-edit-comment-quotes
Allow single quotes [',"] in comments in TextEdit
2020-03-11 07:32:24 +01:00
Dominik 'dreamsComeTrue' Jasiński
ab6456d1bc Allow single quotes in comments
Fixes: #36638
2020-03-11 06:27:28 +01:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Rémi Verschelde
2d904d2f80
Merge pull request #36232 from Calinou/add-soft-line-length-guideline
Add a soft line length guideline to the script editor
2020-02-27 21:10:42 +01:00
Juan Linietsky
33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Rémi Verschelde
194fd2d5a5
Merge pull request #36089 from dreamsComeTrue/fix-autocomplete-quotes
Fix: auto brace complete for quoted strings
2020-02-23 22:13:27 +01:00
Rémi Verschelde
2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Dominik 'dreamsComeTrue' Jasiński
6a404a88e4 Fix: auto brace complete for quoted strings
Fixes #36002
2020-02-21 23:01:13 +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
Juan Linietsky
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Hugo Locurcio
3e4b508c3b
Add a soft line length guideline to the script editor
The default value is 80. The hard line length guideline's
default column has been moved to 100 to account for the new
soft line length guideline.

It can be disabled by setting its value to the same column as the
hard line length guideline.

This closes https://github.com/godotengine/godot-proposals/issues/347.
2020-02-15 03:02:40 +01: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
9d8e095946 Merge pull request #34288 from bojidar-bg/33425-always-suggest-subsequence
Always display subsequence autocompletion matches
2020-02-10 11:25:35 +01:00
Marcel Admiraal
f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Krystof Klestil
c475f11018 expose scroll_vertical and scroll_horizontal in TextEdit + documentation 2020-01-07 15:16:07 +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
Paulb23
0049f43fc8 Fixed selection indent taking an additional line 2019-12-23 13:16:57 +00:00
Mikolaj Kaczmarek
eced81e359 Fix- using cut in first line of a script file does not remove the line 2019-12-14 19:11:19 +01:00
Bojidar Marinov
0c4d35fd1a
Always display subsequence autocompletion matches
Fixes #33425
2019-12-12 01:25:44 +02:00
Rafał Mikrut
ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Rémi Verschelde
bfd5e09879 Range: Fix cases where max was set to or below min value
It will now raise an error whenever this happens so that we can fix
these situations. `max == min` is not allowed as it could lead to
divisions by zero in ratios, and `max < min` doesn't make much sense.

Fixes #33907.
2019-11-26 10:25:41 +01:00
PouleyKetchoupp
8830e53fe1 Fixed index out of size error in TextEdit when opening scripts 2019-11-24 10:48:04 +01:00
Paulb23
25cba699f0 Fixed not being able to scroll ending wrapped line 2019-11-09 16:45:44 +00:00
Paulb23
362d38ea67 Update connection info on script validation rather then saved copy 2019-11-02 14:41:59 +00:00
Rémi Verschelde
5160d4f5ba
Merge pull request #33233 from hilfazer/dollar-quoted-autocomplete
$ autocompletion keeps quotation
2019-11-01 16:52:13 +01:00
hilfazer
c394ef7410 $ autocompletion keeps quotation 2019-11-01 14:52:13 +01:00
PouleyKetchoupp
d29c8ab81b Improved TextEdit search usability & documentation 2019-10-31 12:35:23 +01:00
Rémi Verschelde
0cae264d79
Merge pull request #33119 from creikey/fix-quote-malfunction
Remove duplicate quote in displayed quote type
2019-10-28 08:08:38 +01:00
Cameron Reikes
67ab03e245 Remove duplicate quote in displayed quote type
- fixes #32688
 - fixes #32593
2019-10-27 15:21:25 -07:00
Rémi Verschelde
2751cea0d4
Merge pull request #33066 from Tabas32/fix_indentation
Fixed indenting issue with comment at end of line
2019-10-27 13:42:53 +01:00
Paulb23
2e2a049d3c Improve performance of connection info in the script editor 2019-10-27 11:07:19 +00:00
Paulb23
df0c8386a9 Fix text minimap crash when last line is folded 2019-10-26 13:37:25 +01:00
Marian
3322d19cb3 Just initialization, needed by compiler 2019-10-25 16:14:24 +02:00
Marian
616f02e905 Fixed indenting issue with comment at end of line 2019-10-25 15:01:43 +02:00
Zatherz
72d2248276 Don't terminate search if begin_key doesn't fit
Previously this code would continue onto the next iteration of the loop if the line was smaller in size than begin_key, meaning that a situation where begin_key.length() > end_key.length() would cause weird behavior with newlines. Now both the checks for begin_key and end_key are in their own condition and do not skip the entire iteration if they can't be found.
2019-10-24 21:59:02 +02:00
volzhs
63e6b1ecce Fix rendering tooltip 2019-10-24 22:48:20 +09:00
Rémi Verschelde
78848bbfea
Merge pull request #32796 from Paulb23/set_text_caret
Changed `set_text` to place caret at start of the text.
2019-10-22 22:44:12 +02:00
Rémi Verschelde
9f28803927
Merge pull request #32940 from nekomatata/text-edit-clear-colors
TextEdit syntax highlighting fixes
2019-10-22 20:40:20 +02:00
Rémi Verschelde
97a4fe79fb
Merge pull request #32902 from nekomatata/auto-indent-bracket-fix
Auto-indent after opening bracket and parenthesis in the script editor
2019-10-22 14:30:16 +02:00
PouleyKetchoupp
4247c21cb0 TextEdit syntax highlighting fixes
- Fixed visual update when using add_keyword_color(), add_color_region(), clear_colors() in scripts
- More accurate description for clear_colors() in TextEdit documentation
2019-10-20 17:40:09 +02:00
Paulb23
ee94081b4a Fixed -1 minimap index when smooth scrolling is enabled 2019-10-20 13:27:53 +01:00
PouleyKetchoupp
74d7cbf920 Auto-indent after opening bracket and parenthesis in the script editor
This change makes auto-indent work the same way as for curly brackets, so '[', '(', '{' all act the same.

Fixes #32897
2019-10-18 11:02:05 +02:00
qarmin
616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
Paulb23
d579d2bf1d Fix undo / redo scrollbar calulations 2019-10-13 15:34:28 +01:00
Paulb23
aea0761b25 Place caret at 0,0 when setting text not at the end 2019-10-13 15:29:20 +01:00
Paulb23
e5b18cea63 Fixed inserting text at caret not updating scrollbar size 2019-10-07 19:17:32 +01:00
Paulb23
6025a76c78 Fixed drawing the caret at eol when at eol is not visible 2019-10-07 17:24:58 +01:00
lupoDharkael
cb22a875aa TextEdit: Fix timer inside tree warning 2019-09-27 13:57:20 +02:00
Rémi Verschelde
dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin
17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Rémi Verschelde
fc47569be9
Merge pull request #32232 from Paulb23/issue_32070_goto_doc_when_selecting
Fixed going to doc reference while selecting text
2019-09-23 15:00:41 +02:00
Rémi Verschelde
0928e82027
Merge pull request #29895 from ptrojahn/menukey
Support menu key in TextEdit and LineEdit controls
2019-09-22 21:21:13 +02:00
Paul Trojahn
ba24bc1e04 Support menu key in TextEdit and LineEdit controls
Related to #15542
2019-09-22 12:06:24 +02:00
Paulb23
ef3455f236 Fixed going to doc reference while selecting text 2019-09-21 13:45:20 +01:00
Rémi Verschelde
48db920f4a
Merge pull request #32190 from KoBeWi/undo_redo_stuff
Fix autocompletion undo
2019-09-20 17:22:11 +02:00
Rémi Verschelde
fdc2463a1b
Merge pull request #32150 from luzpaz/typos
Fix misc. source comment typos
2019-09-20 17:09:05 +02:00
luz.paz
91ecd7b6a6 Fix misc. source comment typos
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
2019-09-19 14:36:52 -04:00
Rémi Verschelde
fae14153f7
Merge pull request #31188 from codecustard/LineEdit_disable_shortcuts
Add Ability to Enable/Disable Shortcuts and Selection for LineEdit/TextEdit
2019-09-19 19:56:59 +02:00
Tomasz Chabora
d630472b98 Fix autocompletion undo 2019-09-18 16:26:33 +02:00
Emmanuel Barroga
b678d68224 Add Ability to Enable/Disable Shortcuts for LineEdit/TextEdit
This PR adds the ability to enable/disable shortcut keys and selection for LineEdit/TextEdit. It also updates the context menu when you disable/enable the shortcut keys or selection.
2019-09-07 06:06:36 -07:00
PouleyKetchoupp
5fdea32622 TextEdit & LineEdit caret blink timers run only when focused (fixes #31936) 2019-09-04 13:06:15 +02:00
amakarenko
544c39d1e7 Fix editor infinit loop in search_prev
Fixes godotengine#31328
2019-09-02 15:15:55 +03:00
Michael Alexsander Silva Dias
5f28a2f978 Fix multiline texts not updating its contents correctly in the inspector 2019-09-02 01:17:11 -03:00
Paulb23
b1aaeb07ea Fix minimap drag when height is less then control size 2019-08-31 15:43:19 +01:00
Rémi Verschelde
9fc359411f
Merge pull request #31803 from KoBeWi/minicursor
Don't change cursor when minimap is disabled
2019-08-30 20:08:21 +02:00
Tomasz Chabora
b0805a1b53 Don't change cursor when minimap is disabled 2019-08-30 19:13:53 +02:00
Tomasz Chabora
b55b3d71a8 Perform symbol lookup on button release 2019-08-30 16:19:25 +02:00
Michael Alexsander Silva Dias
9c36d893e3 Fix Multiline texts not updating correcly inside arrays 2019-08-26 13:47:33 -03:00
Rémi Verschelde
0985d5fa99
Merge pull request #31496 from nekomatata/fix-text-edit-insert-selection
Update TextEdit selection when inserting line
2019-08-25 22:33:23 +02:00
Rémi Verschelde
41b5c62952
Merge pull request #31654 from Paulb23/minimap_fixes
Viewport highlight, colour cache and minimap scrolling fixes.
2019-08-25 22:32:05 +02:00
Paulb23
32d5427f55 Refactor TextEdit control height calculations 2019-08-25 14:49:13 +01:00
PouleyKetchoupp
bc839ed3f3 Update TextEdit selection & cursor when inserting line
Fixes #31458
2019-08-25 15:43:45 +02:00
Paulb23
c5b5c6b49b Minimap scroll now acts similar to scrollbar 2019-08-25 14:43:11 +01:00
Yuri Roubinski
4efa1b6906 Disallow undo/redo in readonly TextEdit's 2019-08-25 09:57:59 +03:00
Paulb23
ec4d2b26ec Fixed syntax highlighting cache not clearing final line 2019-08-24 15:21:45 +01:00
Paulb23
b75c2b6d76 Adjust viewport colour based on background colour 2019-08-24 14:33:55 +01:00
Paulb23
a5c1830a43 Fix minimap mouse click resolving to -1 2019-08-22 20:07:16 +01:00
Paulb23
0cea72273f Add minimap to text_edit 2019-08-21 23:48:46 +01:00
Paulb23
895a15b321 Add syntax highlighting cache 2019-08-21 23:36:49 +01:00
geequlim
545b46ac2f Fix filter quotes wraped insert completion options 2019-08-21 22:11:36 +08:00
Michael Alexsander Silva Dias
2fa32d69a5 Keep syntax highlighting on TextEdit in readonly mode 2019-08-18 14:00:12 -03:00
Michael Alexsander Silva Dias
f8a986c094 Fix autocompletion widget having its text leak outside 2019-08-15 14:52:37 -03:00
Hugo Locurcio
9e1c23a353
Reorganize various menus for consistency and conciseness
- Clean up the recent scripts dialog to match the recent scenes dialog
- Add "..." at the end of shortcuts that cause a modal dialog to appear

This closes #31148.
2019-08-13 11:52:10 +02:00
Shiqing
94d542042e Fix incorrect X position of line length guideline 2019-07-10 17:29:43 +08:00
Rémi Verschelde
2633efd55b
Merge pull request #28190 from griant/test
fix improper uncommenting behavior in TextEditor
2019-07-09 08:56:27 +02:00
geequlim
4afb31cd52 Fix light area position in the selected completion 2019-07-06 12:15:32 +08:00
Geequlim
10cfd87414 Show icons for code completion options 2019-07-05 09:25:50 +08:00
Rémi Verschelde
867f38a626
Merge pull request #29572 from qarmin/fix_text_edit_select
Fix TextEdit Select crash
2019-07-01 13:49:06 +02:00
Hugo Locurcio
a2f8297480
Draw the script editor's line length guideline below characters
This prevents characters from looking strange if they cross the
line length guideline.
2019-06-30 23:47:01 +02:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Gwyneth Lowe
45f78d786a Give TextEdit a custom color for font when read only is set
Previously there was some transparency hard coded into TextEdit when in read only mode.
This change adds a custom color for adjusting the font in read only mode.
It also applies when syntax highlighting is on.
2019-06-24 20:00:05 -05:00
Gwyneth Lowe
7142064110 Correct typo that broke custom selected font color
Change several font_selected_color to font_color_selected; the actual name of the override
2019-06-24 04:55:29 -05:00
Dawid Wdowiak
0f14489ecb Center script line when double clicked on error in debugger 2019-06-23 15:58:07 +02:00
qarmin
532a7ba06a Fix TextEdit Select 2019-06-20 17:13:16 +02:00
Tomasz Chabora
e5cfb9d6b2 Fix selection undo... for real 2019-06-17 03:54:28 +02:00
Paulb23
1d55207fd2 Fix TextEdit cursor.column having a negative value 2019-06-14 21:48:16 +01:00
Rémi Verschelde
df25679235
Merge pull request #29601 from NilsIrl/hiding_enabled
Treat hiding_enabled as bool throughout
2019-06-12 14:23:27 +02:00
Rémi Verschelde
6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
Nils ANDRÉ-CHANG
e4f90337f2 Treat hiding_enabled as bool throughout 2019-06-08 12:37:57 +01:00
qarmin
8d993f6357 Fix crash with get_keywords_color 2019-06-06 12:59:29 +02:00
Rémi Verschelde
774a9fde84
Merge pull request #26848 from ptrojahn/utf8navigation
Support UTF-8 in TextEdit and LineEdit navigation
2019-06-03 22:28:54 +02:00
Rémi Verschelde
556ee71277
Merge pull request #29174 from Chaosus/fix_line_wrap_output
Fix "Index out of size" TextEdit's spam to output (when using Expression nodes in the visual shaders)
2019-05-28 10:21:54 +02:00
Tomasz Chabora
90ea9dfede Fix TextEdit blocking scroll without scrollbar 2019-05-26 20:51:08 +02:00
Chaosus
e5f5a71d27 Fix "Index out of size" TextEdit's spam to output 2019-05-25 20:57:32 +03:00
Rémi Verschelde
71c784f796
Merge pull request #29078 from KoBeWi/scroll_stuff
Improvements to scroll handling
2019-05-24 19:56:15 +02:00
Rémi Verschelde
f173d242a2
Merge pull request #28811 from iwek7/editor_remove_spaces_to_closes_indention
Change rules of indenting for spaces
2019-05-24 16:21:04 +02:00
Tomasz Chabora
01491aaf32 Improvements to scroll handling 2019-05-24 14:56:39 +02:00
Michael Alexsander Silva Dias
de378ef012 Fix 'TextEdit's line wrapping being highlighted incorrectly
Fixes #22867.
2019-05-22 18:45:24 -03:00
Ibrahn Sahir
d8a5fcd3d1 Initialize readonly/editable in LineEdit and TextEdit controls 2019-05-21 21:50:02 +01:00
Rémi Verschelde
63e7d2db08
Merge pull request #28218 from KoBeWi/b00km4rk5
Add bookmarks for easier code navigation
2019-05-20 22:39:19 +02:00
Rémi Verschelde
fdea3d48b0
Merge pull request #26809 from KoBeWi/undo_set_text_like_a_boss
Allow to undo TextEdit.set_text
2019-05-20 22:00:39 +02:00
Rémi Verschelde
e0574e1d98 Fix typos with codespell
Using codespell 1.15.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Max Hilbrunner
ee5ba3e097
Merge pull request #28366 from iwek7/feature/issue28355/showSpacesInEditor
Add feature to show spaces in code editor
2019-05-17 20:38:40 +02:00
Paulb23
a8a0392c12 Fix text_edit drawing incorrect chars when syntax highlighting enabled 2019-05-16 22:32:06 +01:00
Tomasz Chabora
3bc0445e05 Allow to undo TextEdit.set_text 2019-05-16 23:05:17 +02:00
miwanczuk
cbc68a3e04 Change rules of indenting for spaces
Now indentations and deindentations of spaces attemt to align text to
closest full indent level. It works with tab/tab+shift (both with
selection and no selection) as well as backspace. Also fixes bug where
selection and cursor position were mispaced after (un)indenting selected
text.
2019-05-11 10:30:40 +02:00
Tomasz Chabora
0bfcf8bc2f Add bookmarks for easier code navigation 2019-05-05 18:57:53 +02:00
megalike
c6310e9a7e Support Mac OS default delete char hotkeys 2019-05-04 17:15:32 +03:00
megalike
39398f173e Fix Mac OS move cursor behaviour 2019-05-02 21:13:41 +03:00
Rémi Verschelde
2f74e6b854
Merge pull request #28559 from megalike/mac_os_move_cursor_hotkeys
Support Mac OS default move cursor hotkeys
2019-05-01 15:08:30 +02:00
megalike
17d14fe511 Support Mac OS default move cursor hotkeys
Add missing FALLTHROUGH define
2019-05-01 13:45:00 +03:00
miwanczuk
c86b03abd8 Expose TextEdit's drawSpaces feature to GDScript 2019-05-01 11:32:54 +02:00
Rémi Verschelde
f3eafcec1a
Merge pull request #25350 from Connall/master
Fix "Auto Brace Complete" inserting extra quotation character sometimes in a string.
2019-05-01 10:32:41 +02:00
Rémi Verschelde
59b553b2af
Merge pull request #28493 from mitchcurtis/mac-line
Make Command + Left go to first non-whitespace character
2019-05-01 08:25:40 +02:00
Rémi Verschelde
5f3dd5fdc7
Merge pull request #28481 from iwek7/issue28446/highlighingOfWhitespaces
Disable higlighting all occurences of selection in editor if it contains only whitespaces
2019-04-30 18:31:53 +02:00
miwanczuk
fda3a568ef Issue-28355 - show spaces in editor 2019-04-30 14:57:48 +02:00
Rémi Verschelde
2cc8848c3c
Merge pull request #26224 from hilfazer/autocomplete
Working autocomplete for $" and $'
2019-04-30 13:32:37 +02:00
Rémi Verschelde
9916319df8
Merge pull request #27693 from YeldhamDev/method_brackets_smart
Make brackets only be inserted when necessary when autocompleting methods
2019-04-30 11:11:08 +02:00
Rémi Verschelde
ea30bcdfef
Merge pull request #28287 from YeldhamDev/text_editable_contextmenu
Make 'Line/TextEdit's context menus hide their editing options when in readonly mode
2019-04-30 10:15:47 +02:00
Rémi Verschelde
d0e628fa55
Merge pull request #28334 from YeldhamDev/popup_buttons_scale
Make buttons that trigger popups have the same scale
2019-04-30 10:15:02 +02:00
miwanczuk
1001c7fdde issue-28446 - disable higlighting all occurences of string in editor if only whitespaces are selected 2019-04-30 09:59:59 +02:00
Michael Alexsander Silva Dias
f7a45eb0de Make 'Line/TextEdit's context menus hide their editing options when in readonly mode
Fixes #28243.
2019-04-29 14:03:31 -03:00
Rémi Verschelde
23147ae2c3
Merge pull request #28101 from MunWolf/debugger_cursor
Added a marker in text_edit that tells which row is executing.
2019-04-29 18:38:38 +02:00
Michael Alexsander Silva Dias
b8e09f98c4 Make buttons that trigger popups have the same scale 2019-04-29 13:07:47 -03:00
Rémi Verschelde
6822ee37dd
Merge pull request #28281 from zqyoung1/fix-selection-undo
Fix selection undo
2019-04-29 17:25:14 +02:00
Rémi Verschelde
1af18ab235
Merge pull request #28399 from YeldhamDev/textedit_expose_tab_fold
Expose 'TextEdit's tab drawing and folding to GDScript
2019-04-29 17:04:46 +02:00
Mitch Curtis
b0956915c9 macOS: make Command + Left go to first non-whitespace character
Instead of going to column 0. This matches the behaviour of other
popular IDEs.

Fixes #28462.
2019-04-28 17:51:47 +02:00
Michael Alexsander Silva Dias
350bcce041 Expose 'TextEdit's tab drawing and folding to GDScript 2019-04-24 12:42:12 -03:00
Michael Alexsander Silva Dias
4bca3236d1 Make small changes to the new connection info on script feature 2019-04-24 03:13:25 -03:00
Rikhardur Bjarni Einarsson
9bfa63496a Added a marker in text_edit that tells which row is executing. 2019-04-23 21:51:01 +01:00
hilfazer
17166f5640 autocomplete for $" and $' 2019-04-22 12:53:24 +02:00
Rémi Verschelde
22457b907e
Merge pull request #28234 from Paulb23/connection_info_on_script
Display connection information in the script editor
2019-04-22 11:52:13 +02:00
Zach Young
516b80cd65 Fix completely #14835 -proper selection reset on undo 2019-04-21 17:20:58 -04:00
Paulb23
a6562cd004 Display connection information in the script editor 2019-04-20 13:13:54 +01:00
griant
eb5807984c fix improper uncommenting behavior in TextEditor 2019-04-19 15:39:57 +08:00
Paulb23
6ea253aa77 Restore script editor state between sessions 2019-04-13 13:07:12 +01: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
Rémi Verschelde
fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.

The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.

Fixes #26135.
2019-04-05 15:14:53 +02:00
Michael Alexsander Silva Dias
24137f423a Make brackets only be inserted when necessary when autocompleting methods 2019-04-04 23:06:44 -03:00
Paul Trojahn
8851e16f75 Support UTF-8 in TextEdit and LineEdit navigation
This allows jumps over whole non ASCII words with Ctrl+Left/Right in
a LineEdit or TextEdit.
Fixes #25681
2019-03-09 20:08:40 +01:00
Vasiliy Makarov
a3d9b7d916 Check cursor line and column
Added a trivial check if cursor.line and cursor.column are valid.
Fix #26245
2019-03-05 18:27:37 +03:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
ianb96
39f537e481 Fix word wrap cutoff and tab wrapping issue 2019-02-20 08:52:33 -05:00
qarmin
7a254b303b Fix copy text when TextEdit is readonly 2019-02-16 07:56:24 +01:00
Paulb23
69374cd378 Fixed selection being activated when using scroll lines 2019-02-04 10:55:45 +00:00
Connall Lindsay
11f4b5efc5 Brace completion for quotation marks was introducing another quotation mark at the end of the
string, I think because it wasn't checking that the quotation mark didn't exist at the current
cursors position. Simple change, that fixed the issue and stood up to testing. Issue #25084
2019-01-26 17:03:11 +00:00
Michael Alexsander Silva Dias
9c69d7f339 Appease some CppCheck warns for files in the "scene" directory 2019-01-16 12:59:18 -02:00
bruvzg
55bc004a73
Update IME text only for focused input controls. 2019-01-08 22:52:56 +02:00
Timo Schwarzer
3b2e03cf0b
Fix jumping when scrolling down fast with smooth scroll enabled
Fixes #24773
2019-01-06 10:22:38 +01:00
Paulb23
411df08711 Fix text edit wrapping beyond control size, issue 23896 2019-01-05 16:58:54 +00:00
Rémi Verschelde
65a86ae17c
Merge pull request #24683 from SoIAS/autocompletion_menu_position_24674
Fixed autocompletion menu vertical position
2019-01-03 21:33:12 +01:00
Dawid Wdowiak
615ca1d59e Fixed autocompletion menu vertical position 2019-01-03 07:11:40 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
e86418f7a9
Merge pull request #24566 from thomasruiz/fix/completion-box-center-text-vertically
Center lines vertically in completion box
2018-12-27 08:55:17 +01:00
Thomas Ruiz
d2fa0658a2
Fix caret size with font smaller than row height 2018-12-23 14:29:33 +01:00
Thomas Ruiz
7fb0853c68
Center lines vertically in completion box 2018-12-23 12:19:27 +01:00
Paulb23
f1c6947702 Fix Word wrap cache desync causing crash 2018-12-18 13:12:46 +00:00
Rémi Verschelde
2f31d31c23
Revert "Use more subtle indentation guides in the script editor" 2018-12-13 19:57:34 +01:00
Rémi Verschelde
4c41e29c8e
Merge pull request #23923 from bruvzg/ime_gdscript
Changes IME to make it possible to use it from gdscript/gdnative
2018-12-11 18:00:48 +01:00
Rémi Verschelde
3a312dbd32
Merge pull request #20725 from Calinou/textedit-subtle-indent-guides
Use more subtle indentation guides in the script editor
2018-12-09 23:10:32 +01:00
allkhor
7831cd76ab TextEdit: added redo option to the context menu 2018-11-29 23:21:43 +06:00
Kanabenki
99ffd748f1 Add suggestions ignoring case at the end of the code autocomplete 2018-11-26 16:36:46 +01:00
allkhor
594e0261f3 TextEdit: remove selection when clear happens. 2018-11-25 23:24:49 +06:00
bruvzg
4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative. 2018-11-23 14:07:48 +02:00
Juan Linietsky
f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
zhagsenkk
67ba4dc8cd Remove no longer necessary "raise_from_completion" in TextEdit
This is no longer needed to fix #1257 because the code-autocomplete hint stops
at the script editor’s edge now.
And #6690 will not arise because it is just caused by "raise_from_completion".

Fixes #22504 and fixes #16064.
2018-10-26 19:29:51 +02:00
Rémi Verschelde
1169196f04
Merge pull request #22779 from Superwaitsum/LimitSettings
Limit several project settings
2018-10-25 11:38:06 +02:00
Superwaitsum
e5041ad0f5 Add some limits on the Editor Settings 2018-10-24 19:46:33 -05:00
OsamaElHariri
317f7c91a2 A colon ending a comment line no longer indents the next line 2018-10-10 00:36:12 +03:00
Rémi Verschelde
dda6d80598
Merge pull request #22742 from YeldhamDev/textedit_margin_scroll
Fix TextEdit margin start spacing with two scrollbars
2018-10-06 13:32:08 +02:00
Kellam Spencer
f51ce0f7b1 Fix to scrolling, rounding error on max_v_scroll 2018-10-05 16:50:49 -04:00
Michael Alexsander Silva Dias
8a64a44e0e Fix TextEdit margin start spacing with two scrollbars 2018-10-04 19:38:08 -03:00