Commit Graph

345 Commits

Author SHA1 Message Date
7fabbe2760 Fix tree title column size minimum width 2021-09-28 14:54:48 +02:00
53efc55409 Fix minimum size of TreeItem 2021-09-26 17:02:54 +08:00
9293c76636 Merge pull request #53049 from AnilBK/dont-construct-2 2021-09-25 12:26:08 +02:00
cdd912c48e Construct values only when necessary. 2021-09-25 14:46:45 +05:45
873443756d Correctly calculate position of the folding arrow in Tree 2021-09-25 02:01:14 +03:00
0a8e137c61 Merge pull request #52313 from groud/cache_tree_item_size 2021-09-15 13:21:56 +02:00
e1cc70309c Fix error when click edge of the tree icon 2021-09-13 18:03:03 +02:00
ace19bd4c6 Cache TreeItem minimum size for performance. 2021-09-01 16:26:41 +02:00
a913ae8d56 Add support for internal nodes 2021-08-28 02:07:23 +02:00
701195937d Merge pull request #52096 from kleonc/tree-item-drag-drop-drawing
Tree Fix line rendering when drag and dropping TreeItem
2021-08-27 20:55:37 +02:00
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
d35ef5fab0 Tree Fix line rendering when drag and dropping TreeItem 2021-08-25 13:29:54 +02:00
5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_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-23 08:10:13 -03:00
75866c81e7 Added icons and API for indeterminate checkmarks for the Tree class. 2021-08-16 10:13:06 -07:00
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
3adb129a54 Merge pull request #50135 from KoBeWi/🌲.update()
Update Tree when modified
2021-07-13 09:03:40 +02:00
ce941397e5 Merge pull request #49890 from voxelv/fix_tree_range_click_timeout_crash_46648
Avoid using a nullptr root in Tree._range_click_timeout().
2021-07-07 01:21:32 +02:00
f4379cbc82 Clean up Tree
Fixes some problems introduced by #49917

* Tree used minimum size as a stretch ratio, so it forced a minimum size of 1.
* Minimum size redone, stretch ratio moved to a separate setting
* Fitting to contents was enforced, this is more intuitive, but in many situations this is undesired.
* Added a clip content option for situations where fit to contents does not apply.
* Icon would scroll with the item, making it invislbe if the item is too long.
* Made icon always appear to the right (or left if RTL is enabled) of the visible item space.
2021-07-04 13:13:53 -03:00
9569729888 Update Tree when modified 2021-07-04 15:28:39 +02:00
f17f3f8830 Avoid using a nullptr root in Tree._range_click_timeout().
Fixes #46648
2021-06-30 00:27:44 -07:00
c5b65236d8 Fixes crash in case no column in tree is expanded and has minimum size 2021-06-29 11:27:09 +02:00
d7d32ced5b Implement Tree's internal minimum width calculation 2021-06-28 15:54:31 +02:00
b2dddc3c82 Allow disabling scrolling in Tree 2021-06-25 21:19:46 +02:00
483f8ffbe4 Make relationship lines draw on top of TreeItems 2021-06-21 16:46:43 +03:00
0ce49800ac Use mouse and joypad enums instead of plain integers
Also MIDIMessage
2021-06-20 11:54:24 -04:00
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
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
d202cf6899 fix-tree-item-dragging 2021-06-01 20:46:17 +08:00
231daa6025 Fix disappearing relationship lines in Tree when item is out of view 2021-05-26 00:44:04 +03:00
9c92e9d849 Add highlight to the relationship lines of selected Tree items 2021-05-25 18:56:06 +03:00
87f503310b Tweak dozens of editor property hints for consistency
- Update Viewport MSAA property hints to match the currently
  exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
bca0d36fe6 Improve TreeItem API and allow to move nodes 2021-05-17 22:06:46 +02:00
6c367f8e0d Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
c8efcf81d2 Fix Tree::get_column_at_position crash 2021-05-16 19:42:28 +08:00
63897f16b1 Fix Tree's background focus outline displaying behind section headings 2021-05-09 13:27:20 +02:00
97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
6e621441ca Merge pull request #45607 from Calinou/improve-editor-theme
Improve the editor theme
2021-05-06 16:45:07 +02:00
605e33cf39 Merge pull request #44831 from gongpha/dont-update-tree-if-selected
Blocking updating in SceneTreeEditor when an item was selected
2021-05-06 08:45:41 +02:00
4e7ca279fc Merge pull request #47855 from aaronfranke/doubleclick
Rename `doubleclick` to `double_click`
2021-05-04 13:12:17 +02:00
0de9a7d803 Rename doubleclick to double_click 2021-05-04 04:38:08 -04:00
2035992a07 Calculate __focus_rect when TreeItem is focused 2021-04-28 18:09:19 +02:00
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
504bc5cc67 Fix crashes in *_input functions 2021-04-05 08:52:21 +02:00
10d7fccb54 Rename ButtonList enum and members to MouseButton 2021-03-23 07:13:23 -04:00
97a3a66220 Improved 3D Scene Importer
* Added option for importers to show an Advanced settings dialog
* Created advanced settings dialog for Scene Importer
* Cleaned up importers (remove many old/unused options)
* Added the ability to customize every node, material, mesh and animation individually
* Saving to animations and meshes to files is now a manual process, making it more predictable
* Added the ability for materials to be replaced by external files (or to be made external, up to you).
* When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it.

WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-22 12:16:40 -03:00
fa6fd3a2d0 Check for null pointer in get_column_width(0) 2021-03-18 10:25:55 -07:00
5cd5722f6a Deselect column only if belongs to deselected item 2021-03-03 19:39:29 +01:00
cb29e6c49c Merge pull request #45994 from Jummit/expose-edit-selected
Expose edit_selected in Tree
2021-02-22 16:29:03 +01:00
13fb24cb6f expose edit_selected in Tree 2021-02-22 15:50:21 +01:00