summaryrefslogtreecommitdiff
path: root/scene/resources/theme.cpp
AgeCommit message (Collapse)Author
2021-10-04Correctly bind optional arguments when emitting Theme changesYuri Sizov
2021-10-04Make Theme report property list changes less oftenYuri Sizov
2021-10-04Add the base scale factor to the Theme resourceYuri Sizov
2021-10-02Reorganize Theme resource code for better maintainabilityYuri Sizov
2021-08-14Add support for partial custom editor themesYuri Sizov
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-13Add type variations to ThemeYuri Sizov
2021-06-13Merge pull request #49227 from pycbouh/editor-theme-freeze-changesRémi Verschelde
Prevent `Theme` resource from emitting changes during bulk operations
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-04Fix Theme overriding existing theme types with emptyYuri Sizov
2021-05-31Prevent Theme resource from emitting changes during bulk operationsYuri Sizov
2021-05-17Add theme_custom_type property to Control and WindowYuri Sizov
2021-04-18Refactor Edit Theme menu in Theme EditorYuri Sizov
2021-03-29doc: Sync classref with current sourceRémi Verschelde
2021-03-22Add utility methods to Theme, improve error messages and documentationYuri Sizov
2021-02-11Improve resource load cachereduz
-Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-17Remove unused argument in Theme method and expose missing methodsYuri Sizov
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-16Merge pull request #42008 from Calinou/theme-rename-node-typeRémi Verschelde
Rename the `type` parameter to `node_type` in Theme and Control
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-27Rename the `type` parameter to `node_type` in Theme and ControlHugo Locurcio
This makes it clearer that it expects a node type as a string (such as "Label") instead of a type like "TYPE_ARRAY". This is backwards-compatible since only the name of the parameter is changed, not its order.
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
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-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
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-14Remove redundant void argument listsRémi Verschelde
Using clang-tidy's `modernize-redundant-void-arg`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-04-02Replace NULL with nullptrlupoDharkael
2020-02-28Signals: Port connect calls to use callable_mpRémi Verschelde
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-20Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky
objects and made them default.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-11Texture refactorJuan Linietsky
-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-01-01Update copyright statements to 2020Rémi Verschelde
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.
2019-12-10Fixes crash when using Theme::clearHaoyu Qiu
2019-11-09Fix functions listing all theme resourcesrxlecky
Fix functions get_<resource>_list in Theme currently returning vector of double-the-necessary size with the first half completely empty.
2019-10-23Theme code refactoringSeleckyErik
- Move GDScript-exposed function definitions from header to source file - Add null check to functions taking list pointers as parameters - Call clear() in copy_theme() if null is passed
2019-07-05Keep track of default theme and project custom default theme seperatellyBojidar Marinov
Fixes #30288
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-01-26doc: Sync classref with current sourceRémi Verschelde
2019-01-25Added copy_theme and fixed bugs in copy theme introduced by #2e0a94eFabian
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-27Get rid of ancient .theme format for Theme resource. It was not working and ↵Juan Linietsky
can be done the same using .tres format. Closes #19038
2018-11-27Changed theme notifications to work with newly introduced reference counted ↵Juan Linietsky
connections. Closes #21265, Fixes #6145. Probably fixes more theme notification related open issues, should check.
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
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-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/