Commit Graph

99 Commits

Author SHA1 Message Date
Rémi Verschelde
099f74584a Bind ItemList's item_custom_fg_color methods
Fixes #21086.
2018-08-17 13:46:33 +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
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
Guilherme Felipe
b2e78e117c Fix performance for godot's interface 2018-07-01 09:48:03 -03:00
Rémi Verschelde
9dbfe5dc61
Merge pull request #17578 from endragor/ft-outlines
Perfect FreeType-based outlines for DynamicFonts
2018-05-08 15:37:00 +02:00
Juan Linietsky
47db64ac00
Merge pull request #15258 from RyanStein/bugfix-15241
Use exact positioning for the ItemList::get_tooltip method.
2018-05-08 10:36:22 -03: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
ShyRed
cbcb96ae85 ItemList selection: Check against item count
ItemList needs to check against the number of items available when the user moves the selection via "ui_right" action.
2018-04-14 14:36:53 +02:00
Poommetee Ketson
72aa87758a
Update classref and docs, fix missing parameters' name 2018-04-11 10:20:22 +07:00
Poommetee Ketson
ed3b080ca6 Fix converting to tileset crashes Godot if existing file is not tileset
also make TileSetEditorPlgn tile list updates the preview modulate
2018-03-23 21:27:30 +07:00
Rémi Verschelde
fe93459ef9
Merge pull request #17345 from AlexHolly/expose-itemlist-move-item
expose Itemlist.move_item and optimize functionality
2018-03-13 20:05:00 +01:00
Alexander Holland
a3d2f59dbe expose itemlist.unselect_all() 2018-03-13 16:46:25 +01:00
Alexander Holland
73146af740 expose Itemlist.move_item and optimize functionality 2018-03-13 15:19:43 +01:00
Alexander Holland
11e40d3700 expose Itemlist.is_anything_selected 2018-03-11 03:01:16 +01:00
Rémi Verschelde
d5daaa72fa
Merge pull request #15306 from poke1024/item-list-draw-speed
Boost drawing speed of ItemLists with many items
2018-02-19 21:53:59 +01:00
Michael Alexsander Silva Dias
4dbf6ac1b8 Added "allow_reselect" property to ItemList and enabled it for the method/help lists. 2018-02-14 03:38:07 -02:00
binbitten
331cfc1d18 Fix wrong property type for fixed icon size in ItemList 2018-02-03 10:02:27 +01: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
Bernhard Liebl
85ecd79012 Boost drawing speed of ItemLists with many items 2018-01-05 17:40:53 +01: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
6cd33f17f7
Merge pull request #14792 from Krakean/enh-1
A few small Debugger->Errors tab enhancements:
2018-01-03 10:26:55 +01:00
Ryan Stein
3c9ee75e26 Use exact positioning for the ItemList::get_tooltip method. 2018-01-01 22:46:32 -05: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
Dmitry Koteroff
ea14b0789b A few small Debugger->Errors tab enhancements:
1. Added "Clear" button to clear list.
2. Errors list now populated with newest items comes first, so no need to scroll everytime.
3. Added PopupMenu to errors list with ability to quickly Copy error text & details.
2017-12-18 03:40:49 +03:00
Dmitry Koteroff
80a2ede0d1 Item List small enhancements
Item list: added new signal - nothing_selected (when mouse clicked on empty space), and two new functions - unselect_all() and is_any_selected()
2017-11-26 22:56:42 +03:00
Bernhard Liebl
80ad8afc85 Native pan and zoom for macOS 2017-11-21 09:11:39 +01:00
Dmitry Koteroff
d67b602f2f Add "New Folder.." to right mouse button click on project fileslist panel _WHEN_ no any file/folder is under mouse cursor. 2017-11-20 21:25:13 +03:00
volzhs
710c87ec99 Fit stylebox on ItemList 2017-11-13 22:24:58 +09:00
Rémi Verschelde
a1ffadb953
Revert "Fixes the selection rect in item_list drawn not clipped" 2017-10-31 10:58:53 +01:00
Gilles Roudiere
37d2b17f88 Fixes the selection rect in item_list drawn not clipped 2017-10-24 10:09:39 +02:00
AlexHolly
776fbe749c Itemlist rmb now provides the same pos as Tree rmb 2017-10-18 14:56:38 +02:00
Daniel J. Ramirez
15986ea343 Several visual improvements.
Added proper label sizing
Improved text editor status bar
Fixed some issues with ItemList and also some style fixes
Added background to color picker samples (the mrcdk fix)
Fixed slider ticks.
Added VS breakpoint and error styleboxes.
2017-09-28 15:00:43 -05:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Daniel J. Ramirez
215b110cd3 Improved color temperature in script editor 2017-09-03 02:44:59 -05:00
Hein-Pieter van Braam
f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Ignacio Etcheverry
32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Rémi Verschelde
0dd51fc722 Merge pull request #10252 from neikeq/pr-fix-some-stuff-<3
Some method fixes
2017-08-16 18:16:47 +02:00
Gilles Roudiere
0d35d4d53b Replace GUI anchor type by a float between 0 and 1 2017-08-13 21:20:13 +02:00
Ignacio Etcheverry
1a04917fea Fixes ItemList::is_same_column_width() return type 2017-08-11 13:34:06 +02:00
Ignacio Etcheverry
2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Andreas Haas
aef974e7a8
ItemList: Remove redundant Vector2 initializations. 2017-08-02 21:49:06 +02:00
Poommetee Ketson
47c4777ccf Enhanched About dialog, Add ItemList auto_height
Add set/has_auto_height for ItemList to automatically set minimum
size by content.
Add hash to About dialog.
Resize About dialog so that dev list appears in 3 columns.
2017-07-21 14:18:40 +07:00
Juan Linietsky
25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Poommetee Ketson
49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
ducdetronquito
074801e7a9 [#7212] Fixed missing 'Variant' return values in documentation. 2017-07-11 13:25:51 +02:00
Poommetee Ketson
3aff102fc3 ItemList: expose methods, in-editor items editing support 2017-07-04 20:12:33 +07:00
toger5
50e5c7f980 fixed overlapping of temp. colors (script editor)
+ added a little bit more spacing to the scripts in the script list.
the temp colors now expand to the vseperation, instead of having the same size than the stylebox
2017-06-07 02:41:08 -07:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00