Commit Graph

427 Commits

Author SHA1 Message Date
Juan Linietsky
0fc1c4eda8
Merge pull request #20149 from Overblob/shader_float_typing
Shader language - Add optional float typings
2018-08-10 18:21:28 -03:00
Thomas ten Cate
44d761e55c Reset caret blink when Ctrl+moving the cursor
There was a hardcoded exception to never reset caret blinking if Ctrl
(`command`) was pressed. This broke on Ctrl+arrows,
Ctrl+Home/End/PgUp/PgDn, Ctrl+C, Ctrl+V, Ctrl+Backspace and Ctrl+Delete.

Resetting blink only for those Ctrl operations that actually touch the
cursor somehow would clutter the code a lot, so I removed the check
entirely. That means we now also reset blinking on unrelated operations
like Ctrl+O, but that seems pretty harmless. I actually like the
additional bit of feedback even in that case (most of these will
immediately defocus the editor anyway, so you never see it).

Fixes #18100
2018-08-10 11:23:13 +02:00
Hugo Locurcio
501fc98c63
Scale underlines in the script editor with the editor scale 2018-08-02 09:38:56 +02:00
Rémi Verschelde
7056dc6011
Merge pull request #20498 from Calinou/caret-width-hidpi
Make the caret thicker in TextEdit and scale it with the editor scale
2018-07-27 09:01:58 +02:00
Hugo Locurcio
f8a2cb3e15
Multiply TextEdit line spacing by the editor scale
This makes sure the default line spacing in the script editor
is consistent with the editor scale in use.
2018-07-26 23:50:16 +02:00
Hugo Locurcio
8d05f89bc1
Make the caret thicker in TextEdit and scale it with the editor scale
The caret in LineEdit is still 1 pixel thick, but it will become
2 pixels thick at editor scales higher than or equal to 150%.
2018-07-26 23:43:43 +02:00
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Wilson E. Alvarez
a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
George Marques
03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
Overblob
e6ad5e23b4 * Small hex/float/integer parsing refactoring
* Potential bug fix on hex (cannot be used atm)
* Added optional typing for floats, eg:
"1f" -> "1.0"
"1.f" -> "1.0"
"1.99f" -> "1.99"
"1." -> "1.0"
2018-07-15 14:58:23 +02:00
Max Hilbrunner
16f1a77319
Merge pull request #19735 from Paulb23/text_offset_issue_15688
Fixed text drawing too high in TextEdit, issue 15688
2018-07-05 04:04:39 +02:00
Max Hilbrunner
e3c8ac43c6
Merge pull request #19187 from Zirak/editor-autocomplete-quote
Editor autocomplete won't insert unnecessary quotes
2018-07-05 02:33:33 +02:00
Max Hilbrunner
edc63a2f60
Merge pull request #18028 from gabrii/18026
Fix #18026. Expose TextEdit::set_draw_breakpoint_gutter.
2018-07-05 02:30:18 +02:00
Max Hilbrunner
fbff1804d2
Merge pull request #17438 from Deluvi/get-word-pos-quote-fix
get_word_at_pos considers simple and double quotes
2018-07-03 18:28:47 +02:00
Paulb23
8a168637fe Fixed text drawing too high in TextEdit, issue 15688 2018-06-24 10:38:53 +01:00
robojumper
4ba6755324 Re-enable scrolling via selecting code beyond edges in text_edit.cpp 2018-06-14 21:29:39 +02:00
Saracen
c5bdb5b1d8 IME context detection. 2018-06-11 17:22:11 +01:00
Max Hilbrunner
e949230837
Merge pull request #18298 from gabrii/TextEditScaledSelection
TextEdit scaled selection
2018-06-09 19:35:48 +02:00
Gabriel Gavilan
b7b63fe034 Improve breakpoints and breakpoint gutter API in TextEdit
Added breakpoint_gutter, is_breakpoint_gutter_enabled, set_breakpoint_gutter_enabled, get_breakpoints, remove_breakpoints.
Fixed breakpoint_toggled signal not fierd when text is edited.
Fixes #18026.
2018-05-30 14:39:44 +02:00
Zirak
c329780ea7 Editor autocomplete won't insert unnecessary quotes
When autocompleting a string (e.g. emit_signal or connect), e.g.

    emit_signal('visibility_c')
                            ^

where "^" is the cursor, hitting <tab> would insert an unnecessary
quote, breaking the string:

    emit_signal('visibility_changed'')

This commit adds a small lookahead, so the end result will be as the
user probably expected:

    emit_signal('visibility_changed')
2018-05-26 21:13:42 +00:00
Ibrahn Sahir
2abec59db9 fix for TextEdit::set_text firing signals it shouldn't.
Removing some _changed signals in set_ functions.
Includes revert of commit 384625aa31
2018-05-19 19:38:13 +01:00
Rémi Verschelde
d6c15bd96a
Merge pull request #19017 from toger5/fix_no_a_input_script_editor_osx
fixed capital A osx
2018-05-18 20:04:31 +02:00
toger5
6476b708d9 fixed capital A osx 2018-05-18 19:46:40 +02:00
Rémi Verschelde
69cafb6044
Merge pull request #18910 from PJB3005/18-05-15-fix-textedit-param
Fix missing registration for new param of TextEdit::cursor_set_line.
2018-05-16 02:38:21 +02:00
Pieter-Jan Briers
0f303c9f43 Fix missing registration for new param of TextEdit::cursor_set_line.
This caused Mono glue gen to fail and other bugs to appear
(such as in Visual Script)
2018-05-15 21:53:42 +02:00
ianb96
ce434bca82 fix get_char_width for non-latin characters 2018-05-15 15:32:09 -04:00
Ian
e1fff4bc09 TextEdit word wrap 2018-05-14 16:17:48 -04:00
Rémi Verschelde
dd2aba021c
Merge pull request #18853 from YeldhamDev/gui_cppcheck_fixes
Fixed some warnings found with Cppcheck
2018-05-14 07:39:54 +02:00
Michael Alexsander Silva Dias
7f72d6476b Fixed some warnings found with Cppcheck. 2018-05-14 02:14:56 -03:00
toger5
d927e972d1 fixed a input not registered in osx script editor 2018-05-11 04:30:05 +02:00
Gabriel Gavilan
b0069bb118 Apply viewport scale to selection update methods. Changed to propper fix sugested by reduz 2018-05-09 20:37:50 +02:00
Charly Mourglia
b09e0454bb Consider TextEdit paste operation complex.
Not considering a paste operation as a complex one ends up
adding an unneeded extra step when pasting over a selection.

This fixes issue #18325
2018-05-09 14:07:06 +02:00
Deluvi
215150cfbf get_word_at_pos considers simple and double quotes
When using the get_word_at_pos function in TextEdit, the function would
return a full string only if this string is surrounded by double quotes
and not by simple quotes.

With this fix, get_word_at_pos will return the full string, whether be a
string surrounded by simple or double quotes.

Fixes #17437
2018-05-09 08:33:57 +02:00
Ruslan Mustakov
5cd12f6649 Perfect FreeType-based outlines for DynamicFonts
- Implement outlines based on FreeType Stroker API. This allows
  artifact-free results, similar to what you will see in Web or any text
  editing tools. Outline is a part of DynamicFont rather than Label,
  because outlines have to be baked into the font's atlas. Font has a
  default outline_color and a Label can specify font_outline_modulator
  that will be multiplied with the Font's color to get the final result.

- draw_char now has to be called twice to fully render a text - first
  with p_outline == true for each character and then with
  p_outline == false for each character.

- Number of draw-calls is reduced from 5 to 2 per outlined character.

- Overall cleanup of DynamicFont code, extracted duplicated code pieces
  into separate methods.

- The change is backward-compatible - Labels still have outline
  properties that work exactly as they worked before.

Closes #16279.
2018-05-08 13:45:24 +07:00
Juan Linietsky
dff3a2f378
Merge pull request #18003 from sherjilozair/patch_macosx_shortcuts
Add additional macos shortcuts for going to start/end of line
2018-05-07 15:59:22 -03:00
Max Hilbrunner
f9733b5cee
Merge pull request #18397 from KidRigger/working_te
Support of CMD+Backspace and CMD+Delete on MacOS.
2018-05-04 11:19:09 +02:00
Unknown
4e26e5e268 Script Editor now displays positional column
This solves #17931 and makes the script editor consistent with other text editors(Sublime, Gedit, Vim) in displaying the position rather than the raw number of characters.
2018-05-03 18:03:20 +01:00
Hugo Locurcio
0eb2f6c223
Tweak the property hint ranges of caret blink and line length guideline
This allows for more precise adjustments.
2018-04-28 19:13:30 +02:00
Anish
515f2200fb Support of CMD+Backspace and CMD+Delete on MacOS.
Adds support for CMD+Backspace, to delete all text
before the cursor in the line and CMD+Delete to delete
all text after the cursor in line following the typical
MacOS text editing workflow

Fixes: #18059
2018-04-24 18:53:04 +05:30
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
sersoong
a1cfc89108 Fixed context menu TTR bugs 2018-04-19 15:31:38 +08:00
Rémi Verschelde
fbc61374ca Use internal physics processing for Nodes' internal logic 2018-04-11 09:28:14 +02:00
Paulb23
aba4247910 Fixed color region calculation for the first line 2018-04-10 20:42:28 +01:00
Paulb23
b571a29df5 Fixed color regions and added local color region cache 2018-04-07 14:14:19 +01:00
Sherjil Ozair
166c7fdc9d Add additional macos shortcuts for going to start/end of line 2018-04-05 15:44:25 -04:00
Paulb23
f7c727e6c3 Abstracted the syntax highlighter from text edit 2018-04-02 12:41:44 +01:00
Rémi Verschelde
88c1430613
Merge pull request #17314 from robfram/complete-path-15813
Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)
2018-03-13 12:16:51 +01:00
Alexander Holland
e36dd4282b auto-completion edge jump
arrow up/down jumps to end/start on edges
2018-03-09 17:31:07 +01:00
robfram
95f186b621 Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)
If you had a tree like Node2D->Sprite->Camera2D and you write a
code like $Node2D/Spr and chose the autocompletion sugested
Node2D/Sprite, the resulting string was $Node2D/Node2D/Sprite
instead $Node2D/Sprite. If you chose Node2D/Sprite/Camera2D, then
you ended with $Node2D/Node2D/Sprite/Camera2D.

Fix #15813.
2018-03-06 19:25:14 +01:00
luz.paz
612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Rémi Verschelde
6ee4298ee3
Merge pull request #16652 from aragar/FixQuotationInString
Fix quotation in string
2018-02-19 22:12:53 +01:00
Rémi Verschelde
2551db44e1
Merge pull request #15618 from ianb96/fold_comment
TextEdit folding over unindented comments
2018-02-14 16:36:42 +01:00
Rado'sPC\aRaGaR
f38e819fc1 Fix quotation in string
fix for #16404
2018-02-12 23:01:36 +02:00
binbitten
ba8c5bff69 Fix TextEdit current line highlight horizontal offset 2018-01-31 19:04:50 +01:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Ian
1b837125ce TextEdit fix get_mouse after many folds 2018-01-18 12:18:06 -05:00
Paulb23
386c57cfad Fixed current line highligting with horizontal clipping, issue 15427 2018-01-14 16:06:27 +00:00
Paul Joannon
8ae0624c80 Deselect on undo/redo in TextEdit 2018-01-13 11:46:53 +01:00
Juan Linietsky
419705db6e Add special coloring to members, to make shadowing more obvious. 2018-01-12 11:01:09 -03:00
Ian
d327f75392 TextEdit folding over unindented comments 2018-01-12 00:25:04 -05:00
Bojidar Marinov
9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
poke1024
c1db81b9ed Fixes empty line selection when scrolling 2018-01-11 06:51:20 +01:00
Bernhard Liebl
3af5dfbbf3 Fix whole word search missing occurences 2018-01-08 22:50:33 +01:00
Ian
b3ad2538d0 fix center viewport out of size error, #15411 2018-01-06 18:06:09 -05:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
32bb236f24
Merge pull request #15334 from poke1024/textedit-mousepos
Fix TextEdit::_get_mouse_pos rounding errors
2018-01-04 19:53:43 +01:00
Bernhard Liebl
cc64679a20 Fix TextEdit::_get_mouse_pos rounding errors 2018-01-04 18:30:15 +01:00
Rémi Verschelde
023c04689e
Merge pull request #15308 from ianb96/horizontal_scrolling
TextEdit horizontal scrolling with shift
2018-01-04 01:35:38 +01:00
Rémi Verschelde
f9f6f250e6
Merge pull request #15191 from Jerome67000/z_renaming
renames "z" Node2D property to "z_index"
2018-01-04 00:41:45 +01:00
Ian
ae6b7c0b41 TextEdit horizontal scrolling with shift 2018-01-03 17:21:54 -05:00
Jerome67000
42ae3525a3 #15078 renamed "z" -> "z_index" property in Node2D 2018-01-03 13:02:26 +01:00
Rémi Verschelde
e3c744f9f1
Merge pull request #15127 from poke1024/smooth-scroll-play
Remove some lagginess from TextEdit's smooth scrolling
2018-01-03 11:34:42 +01:00
Rémi Verschelde
592b0fc068
Merge pull request #15063 from poke1024/textedit-select-last-line
Fix key down on last line in TextEdit
2018-01-03 10:30:51 +01:00
Rémi Verschelde
d7d8fc6c20
Merge pull request #14983 from Paulb23/keyboard_selection_issue_14675
Fixed keyboard word selection when at the start/end of line, issue 14675
2018-01-02 11:19:34 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Noshyaar
97d7f689e1
Merge pull request #14972 from poke1024/fix-unindent-col-0
Fix unindent (shift-tab) on column 0
2018-01-01 18:52:06 +07:00
Noshyaar
a6328011d8
Merge pull request #14973 from poke1024/docs-word-selection
Double-click word selection for RichTextLabel (i.e. docs)
2018-01-01 18:51:35 +07:00
Bernhard Liebl
2897523d12 Fix unindent (shift-tab) on column 0 and more 2017-12-28 17:48:40 +01:00
Bernhard Liebl
b80bc553dd Double-click word selection for RichTextLabel (i.e. docs) 2017-12-28 17:44:22 +01:00
Bernhard Liebl
d640542f6d Remove some lagginess from TextEdit's smooth scrolling 2017-12-28 15:49:37 +01:00
Ian
19c3f4c4c1 fix indent selection crash 2017-12-26 12:13:17 -08:00
Bernhard Liebl
076a5f35fc Fix shift-key down on last line in TextEdit 2017-12-26 08:32:30 +01:00
Poommetee Ketson
6c897707ca Add missing parameter names 2017-12-25 21:19:56 +07:00
Paulb23
a11a691b17 Fixed keyboard word selection when at the start/end of line, issue 14675 2017-12-23 14:47:04 +00:00
MattUV
a55870cd81 Adds an option to move cursor with right click in TextEdit
Fixes #14832
- Added an option in the editor settings/cursor to make the cursor move with right click.
- If the option is activated (true by default), a right click will move the cursor before displaying context menu.
 - If there is a selection, a right click on it will keep it selected, a right click outside it will unselect it.
 - The option is available in textEdit via an inspector property (or via GDScript): caret_moving_by_right_click
 - The option is available in the script editor and the shader editor via the editor settings
 - The documentation has been updated with the new property, and a few other entries in TextEdit.xml.
2017-12-20 09:01:09 +01:00
Bernhard Liebl
abfcce0067 Fix cut-copy-line breaking paste (issue 14539) 2017-12-17 16:24:23 +01:00
Rémi Verschelde
d03f35f1bc Bind TextEdit.deselect and update documentation 2017-12-16 21:08:31 +01:00
MattUV
db020f3cea Modifies indentation behaviours
Partially fixes #14559 (see the issue for details);
Removes some code redondancy ;
Adds the possibility to indent left and right without selecting text ;
Adds the entries to the context menu when text is not selected ;
Renames indent_selection_left() and indent_selection_right() to indent_left() and indent_right() ;
Unifies context menus of shader text editor and script text editor.
2017-12-15 10:04:56 +01:00
MattUV
e669ca2576 Modify shortcuts and menus to fold/unfold code
Fix #13180
As the same shortcut cannot be assigned to two actions, I removed the ability to fold (fold_line()) or unfold (unfold_line()) via menu (still possible by code), and there is a single fold/unfold action (toggle_fold_line()).

The new default shortcut is now Alt+F
2017-12-08 19:21:48 +01:00
Paulb23
48ad133cf9 Changed current line draw order and added code folding color 2017-12-07 19:17:43 +00:00
Rémi Verschelde
8a07cb0b69
Merge pull request #14352 from ianb96/get_hidden_width
Fixes horizontal scrolling over hidden lines
2017-12-07 07:52:01 +01:00
Rémi Verschelde
46ac939a74
Merge pull request #13362 from groud/fix_folding
Fixes folding of blank lines
2017-12-07 07:20:41 +01:00
Ian
1c1a6723d0 fixes horizontal scrolling over hidden lines 2017-12-06 19:04:47 -05:00
Rémi Verschelde
7b557a4e1f
Merge pull request #13409 from YeldhamDev/textedit_disabled
Add disabled theme to TextEdit
2017-12-06 23:42:54 +01:00
Michael Alexsander Silva Dias
2773c12156 Add disabled theme to TextEdit. 2017-12-01 01:32:26 -02:00
Ian
d1c7ed4117 last line scroll fix when scroll_past_last_line is disabled 2017-11-28 16:52:52 -05:00
Gilles Roudiere
e13ff74c09 Fixes folding of blank lines 2017-11-28 20:03:46 +09:00
Paulb23
565809e736 Fixes adjust viewport to cursor when line is to long, issue 13190 2017-11-26 19:10:05 +00:00
Paulb23
f6f475e6ba Fixed not be able to unfold the last line 2017-11-23 20:37:08 +00:00
ianb96
19c92c69c3 code folding scrolling fixes 2017-11-21 17:09:04 -05:00