Commit Graph

1658 Commits

Author SHA1 Message Date
Juan Linietsky c7e4527a88 Massive rewrite to AnimationTree. Many APIs changed in order to:
-Reuse resources
-Expose properties in AnimationTree
2018-08-20 13:39:16 -03:00
Rémi Verschelde 099f74584a Bind ItemList's item_custom_fg_color methods
Fixes #21086.
2018-08-17 13:46:33 +02:00
Rémi Verschelde 68676c774d
Merge pull request #21091 from hpvb/fix-removing-popup-menu-item
Call minimum_size_changed() in PopupMenu::remove_item()
2018-08-17 02:27:16 +02:00
Hein-Pieter van Braam 2d032c1562 Call minimum_size_changed() in PopupMenu::remove_item()
When removing an item from a PopupMenu we need to update the control's
size cache otherwise the size of the PopupMenu itself lags behind by 1
item size. Meaning the PopupMenu will remain too large.
2018-08-16 21:51:41 +02:00
Hein-Pieter van Braam fa7eac8a0d Delay emitting pressed signals in PopupMenu
When processing items we may actually delete the item we're processing
in the callback for the signal. To avoid this, call the signal after
we're done processing the items. But before hiding the popupmenu itself.

Thanks to @reduz for writing the whole solution.

This fixes #19842
2018-08-16 21:44:18 +02:00
Rémi Verschelde c78bbfa669 Fix type of Range allow_greater/allow_lesser properties 2018-08-16 14:24:17 +02:00
Ovnuniarchos 9d0de7d417 PopupMenu item_pressed is sent before checking hide flags. 2018-08-16 07:22:18 +02:00
Juan Linietsky 4e55835e48
Merge pull request #18096 from aaronfranke/master
[Core] Split up math_2d.h
2018-08-14 18:58:32 -03:00
Rémi Verschelde d6058b967d
Merge pull request #20906 from Chaosus/rrect_fix
Fix ReferenceRect border
2018-08-14 23:31:48 +02:00
Rémi Verschelde a3d0b89892
Merge pull request #20876 from ttencate/cursor_blink
Reset caret blink when Ctrl+moving the cursor
2018-08-14 15:42:19 +02:00
Rémi Verschelde 98da0df894
Merge pull request #20982 from hpvb/fix-19842
Emit pressed events after processing items
2018-08-14 09:37:54 +02:00
Hein-Pieter van Braam 868efb8184 Emit pressed events after processing items
When processing items we may actually delete the item we're processing
in the callback for the signal. To avoid this, call the signal after
we're done processing the items.

This fixes #19842
2018-08-13 21:55:26 +02:00
James 109028f52b Editor autocomplete: prefer same case candidates 2018-08-13 20:45:33 +02:00
Rémi Verschelde 68ab428d4d
Merge pull request #20155 from Tunous/line-edit-clear
Add clear button to search fields
2018-08-13 12:54:57 +02:00
Rémi Verschelde 9ce33978db
Merge pull request #20666 from Calinou/script-editor-underline-hidpi
Scale underlines in the script editor with the editor scale
2018-08-13 12:21:23 +02:00
Łukasz Rutkowski 81fb81de9d Do not use theme to set LineEdit right_icon 2018-08-11 12:04:26 +02:00
Łukasz Rutkowski e8a435c8cd Add clear text button to LineEdit
- Add pressed state to clear button
- Enable clear button on all inputs with search icon
- Remove duplicate clear buttons
- Fix rendering of icon for center and right alignments
- Add clear button to more search fields
- Add clear icon to default theme
- Add method to control enabled state of clear button
- Add property to enable clear button from inspector
2018-08-11 12:04:26 +02:00
Aaron Franke cf136a91d6 [Core] Completely kill math_2d.h, change includes 2018-08-11 03:08:34 -05:00
Chaosus aaf62fcecc Fix ReferenceRect border 2018-08-11 10:37:03 +03:00
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
Juan Linietsky b9730a6956 Make line edit always vertically aligned, makes no sense otherwise. Fixes #17188 2018-08-10 13:15:26 -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
Juan Linietsky c752c26427 Expose _clips_input as a virtual function, closes #15358 2018-07-29 12:48:17 -03:00
Juan Linietsky 0fcc28b6f3
Merge pull request #15269 from ianb96/context_menu_improvements
Context Menu Improvements
2018-07-29 12:31:20 -03: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
Ian 1bb13e95a8 context menu improvements 2018-07-26 08:58:35 -04: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
Rémi Verschelde f8e8ac2c66
Merge pull request #20133 from ibrahn/fix-tree-uninit-branch
fixed a branch on uninitialised data in gui/tree
2018-07-25 01:18:39 +02:00
Rémi Verschelde 3ecb25a283
Merge pull request #19726 from guilhermefelipecgs/feature_add_menu_hover
Opens the menu with the same parent on mouse focus
2018-07-25 01:05:37 +02:00
Guilherme Felipe d1f5deabd8 Opens the menu with the same parent on mouse focus 2018-07-24 19:59:40 -03:00
Juan Linietsky 2e67fc57e6
Merge pull request #18867 from fire/better_vx_us_rebase_02
Improve VisualScript UX
2018-07-24 18:02:10 -03:00
K. S. Ernest (iFire) Lee 85670726fd Improve VisualScript UX
* Prototype faster function call ux.
* Work on general search ux.
* Able to create nodes from search.
* Show class for variables but not methods.
* Get actions search working.
* Descriptions now show for both methods and properties.
* Enable zooming on mouse wheel up and down.
* Make the drag trigger on right mouse button.
* Search now shows for action visual script nodes.
* Able to search visual node names.
* Search works better.
* Change zooming scale to hide artifacts better.
* Remove zoom changes
* Select from base should check properties too like the other functions.
* Seq_connect flag is needed to set sequence lines correctly.
* Remove comment
* Code cleanup with function names and arguments.
* Use brief description for search descriptions.
* Clean and fix bug with input nodes connecting with sequence lines.
* Add a warning and fix some edge conditions with sequence into data lines and vice versa.
* Don't search functions when pulling from a sequence node.
* Don't show actions when pulling from a data line.
* Set set and get properties.
* Convert visual script operators to the correct type
* Create a function preset finds only functions.
* Singletons can now find functions.
* Add shift-a for generic search.
* Add brief descriptions for Visual Script nodes.
* Search boxes can now filter names.
* Add bigger hit zones to node connect.
* For the drop zones, make all the rect2 areas the same size.
* Function names in visual script node should be lower case so that search works better.
* Use the convention of capitalize() for set, set, visual script nodes and methods.
* Make search more general. Ignore "_" and make case-insensitive. Also made the search window smaller and remove extra info from search
* Make type_cast use the connecting node's type and remove use of found variable.
* Fix case where you call an instance's call function where it becomes an invalid call.
* Make get_visual_node_names use a set of filters, move action creations and fix bug with sequence node connections.
* Make the window bigger.
* Make connect_data and connect_seq more robust.
* Add icons to search items.
* Add vs constructors in shift-a menu.
* Operators, builtins and constructors show type name. Fix several problems with port connections.
* In shift-a mode search everything.
* Code cleanup
* Work on autocompleting the type.
  * Use type guess in action creation.
  * Check if type hint string exists in object variables when generating the visual script search.
  * Add the hint to SceneTree.
  * Add original type detection.
  * Make type casting great again. This puts the type casted base type as the data output type string hint.
  * Pass the type in a VisualScriptFunctionCall too.
  * Set the base type correctly in VisualScriptFunctionGet and VisualScriptFunctionSet using hint string.
  * Make sure the instance is passed in VisualScriptPropertySet.
  * Restore search on the node's type.
* Remove dependencies from graph_edit.
* Remove dependencies from property_selector and name the class visual_script_property_selector.
* Extract hot zones into a function.
* Move hot_zones constants into default theme.
* Bigger capture zones.
* Clean messy port_grab_distance variables.
* Remove RMB functionality.
* Remove memory leak on showing visual script descriptions.
* Read the port_grab_distance constants on enter tree and theme changed.
2018-07-24 13:59:28 -07:00
Rémi Verschelde fda6b78bae
Merge pull request #18806 from Calinou/bilinear-textureprogress
Add support for bilinear bars in TextureProgress
2018-07-24 22:31:24 +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
Juan Linietsky 336db8bcd1 -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
Rémi Verschelde 13239cd4cc Export: Properly reload preset when opening dialog
Fixes #20119 where newly installed templates were not detected.

Also fix a bug with preset deletion where it would attempt to
edit an already removed preset. For this I made it so that
ItemList::deselect_all() also resets `current` to -1, as a manual
ItemList::deselect(idx) already does.
2018-07-18 13:49:34 +02:00
volzhs adb179154a Fix Label autowrap clips text 2018-07-18 02:19:05 +09:00
Max Hilbrunner adec9c3168
Merge pull request #20150 from ibrahn/fix-scrollbar-atlas
fix scrollbar icons with atlas texture.
2018-07-17 12:15:22 +02: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
Juan Linietsky f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00
Ibrahn Sahir e51a94905d fix scrollbar icons with atlas texture.
Draw scrollbar icons through their textures, rather than calling
directly to the server. Allows atlas textures to manipulate the source
rect as required.
2018-07-14 14:02:08 +01:00
Ibrahn Sahir fb32adfcf8 fixed a branch on uninitialised data in gui/tree
I don't think it was really causing any harm, but this makes things a
little more explicit and helps clean up valgrind output.
2018-07-13 14:00:10 +01:00
Max Hilbrunner cc57b62ab3
Merge pull request #20068 from Xrayez/submenu-popup-delay
Add ability to set submenu's popup delay time on mouse hovering
2018-07-12 05:27:49 +02:00
Alexander Holland bf3c81f20b fix ColorPickerButton.get_popup() 2018-07-10 15:06:36 +02:00
Andrii Doroshenko (Xrayez) e3b77b24ac Add ability to set submenu's popup delay time on mouse hovering
This allows to set delay time for the submenu to popup. Setting
this value low can increase responsiveness. If the popup menu is added
as a child of another (acting as a submenu), it will inherit the delay
time of the parent menu item.
2018-07-09 18:37:41 +03:00
Chaosus dbd5afc498 Added scrollable property to Sliders 2018-07-07 13:48:34 +03:00