Ladislav Michl
c293d74566
Base: rename Exception's PascalCase methods to camelCase
2025-05-05 23:50:01 +02:00
Benjamin Nauck
65ee1339de
App: use contains() instead of count() where possible
2025-05-03 22:19:51 +02:00
Kacper Donat
b300c80b90
Base: Use explicit pointer syntax for freecad_cast ( #20694 )
...
* Base: Use explicit pointer syntax for freecad_cast
This aligns our custom cast with other casts
* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Kacper Donat
35a9673a75
Base: Rename Base::freecad_dynamic_cast into freecad_cast
...
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
Benjamin Nauck
27f5699588
App: Add #include <limits> where used
2025-03-31 23:50:19 +02:00
Benjamin Nauck
81e0b408fa
App: Use std::numeric_limits and std::numbers instead of defines
2025-03-29 13:32:37 +01:00
Kacper Donat
12a69fe296
Base: Add isNullOrEmpty string helper
...
This adds isNullOrEmpty string helper that cheks if string is... well
null or empty. It is done to improve readability of the code and better
express intent.
2025-02-21 15:04:43 +01:00
tritao
10513144d9
Base: Standardize on Py::Long type for Python bindings.
2025-02-08 13:14:22 +00:00
Benjamin Nauck
dd6aa9f3c7
Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
...
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00
wmayer
5771c94523
App: Apply clang format (part 2)
2024-11-21 21:17:42 +01:00
Bas Ruigrok
cb98abcc42
Move isLink and isLinkGroup from AssemblyObject to DocumentObject
2024-09-08 11:56:14 +02:00
PaddleStroke
5cb2fd5261
App::Link : add getLinkGroup() to ElementLink
2024-09-02 18:20:18 +02:00
bgbsww
5afdc19874
Toponaming: Cleanup
2024-07-21 17:40:42 -04:00
bgbsww
71892a1d72
Toponaming: bring in missing code fragments in App
2024-05-12 17:21:49 -04:00
Zheng, Lei
0e2447129c
App: fix linked copy on change group out of scope problem
...
Fixes FreeCAD/FreeCAD#13481
2024-04-24 08:09:53 -05:00
Florian Foinant-Willig
e69f0c95b6
[Link] Fix SIGSEGV with LinkCopyOnChange=Tracking
2024-03-12 21:47:07 +01:00
André Caldas
0cbc9cd66e
Does not rely on the pointervalue returned by getNameInDocument() to use as a DAG key.
...
In order to make getNameInDocument() always return a valid string,
we implement a getDagKey() method that shall be used instead of getNameInDocument()
when we want to use the pointer value as a "key" to identify the DocumentObject.
2024-01-22 10:40:24 -06:00
André Caldas
560898907b
Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
...
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.
The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).
Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".
The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01:00
wmayer
ee0fad4c90
App: modernize C++: use default member init
2023-08-23 19:51:44 +02:00
luzpaz
ed9ff68935
Fix typos
2023-08-21 20:20:47 +02:00
wmayer
3e35b5f606
App: modernize C++: use equals default
2023-08-20 18:10:17 +02:00
wmayer
26f16f7410
App: modernize C++: use range-based for loop
2023-08-14 16:40:25 +02:00
wmayer
d150fa7164
modernize C++: avoid bind
...
In many cases std::bind() is kept because the code is much simpler
2023-08-08 21:10:16 +02:00
wmayer
68d22d864b
modernize C++: move from boost::bind to std::bind
2023-08-08 17:36:13 +02:00
Pesc0
4a8d3853ba
[Toponaming] create ElementMap class ( #9175 )
...
* Copypaste ElementMap
* Add MappedNameRef
* Fix missing include
* Copypaste `findTagInElementName`
* fix error introduced _somewhere_
* refactor toponaming constants
* Move `findTagInElementName` in `MappedName`
* reintroduce workaround to compile ElementMap
* Added missing functions copied from complexgeodata
* fix last compile errors, reorder and format files
* remove recursive refs to ComplexGeoData
* Add more comments
* fixed comments and added tests
* added FIXME, make functions private, misc fixes
* Move static functions from complexGeoData to PostfixStringReferences. Rename to ElementNamingUtils
* Fix broken includes due to previous change
* Revert constants from string to const char*
* added childmap tests and made hasher public
* Make functions private
* Added remaining tests
* removed bool return from `erase` functions
* fix missing appexport
Co-authored-by: John Dupuy <jdupuy98@gmail.com >
2023-06-15 09:05:24 -05:00
wmayer
c3b38bda08
App: [skip ci] fix warnings reported by GH actions
2022-11-17 23:50:34 +01:00
wmayer
e10b23ca70
App: replace boolean with enum
2022-11-17 17:38:31 +01:00
wmayer
4fff36b550
App: [skip ci] fix string literal
2022-10-21 13:43:26 +02:00
wmayer
5240a30431
App: modernize C++: replace 'typedef' with 'using'
2022-08-29 12:58:39 +02:00
berniev
3891e85c32
App: Use override etc 2
2022-08-09 12:42:02 +02:00
wmayer
ec72d96038
App: [skip ci] improve whitespace
2022-08-08 10:11:22 +02:00
berniev
7f699c3dad
App: redundant void 2
2022-08-08 09:45:36 +02:00
berniev
1cc6329eab
App: use empty
2022-08-06 19:29:59 +02:00
berniev
e7357c1a99
App: use emplace_back
2022-08-05 10:31:51 +02:00
Uwe
142cfce9f7
[App] code style fixes by MSVC
...
- automatic .clang fixes while checking for nullptr, no actual code change
2022-07-18 13:03:42 +02:00
wmayer
7db925d991
App: fix memory leaks in Enumeration class and simplify code
2022-06-25 18:18:57 +02:00
luz paz
a0c0b2616c
Fix various typos
2022-06-01 18:03:40 -04:00
wmayer
3bea43a228
App: cannot assign a null pointer to a std::string
...
Depending on the compiler an exception is raised or a crash occurs
2022-05-06 15:14:37 +02:00
Zheng, Lei
15e1556f97
App: handle exception on change Link CopyOnChange
2022-05-05 11:37:38 -05:00
Chris Hennes
132a1d7e55
App: PR6497 move return statement to new line
2022-03-29 12:33:37 -05:00
Zheng, Lei
97deadf437
App: minor change to LinkParams
2022-03-26 10:19:20 -04:00
Zheng, Lei
63ac642785
Gui: expose Link CopyOnChange setup through context menu
...
The CopyOnChange setup is meant to let user select which dependency to
copy when changing configuration.
2022-03-26 10:19:20 -04:00
Zheng, Lei
d1b6bb78d1
App/Gui: support Link refresh on change of originally linked configurable object
2022-03-26 10:19:20 -04:00
wmayer
749361d2f3
App: modernize C++11
...
* use nullptr
2022-03-23 17:29:23 +01:00
Uwe
07912f7388
[App] Link and Material: remove unused includes
2022-02-27 21:23:51 +01:00
wmayer
f147986fa9
App: Bugfix for NULL-Pointer dereference of Property->getName()
2022-01-16 14:30:51 +01:00
Zheng, Lei
4f29e81d0c
App: support CopyOnChange property in Link
...
New property status bit 'CopyOnChange' is added for any document object
to publish any property as a 'Configuration' option. When Link is
linked to any object with such property, it will duplicate those
properties and added it Link itself as dynamic properties. If the user
changes any of these dynamic properties, the Link will auto copy the
linked to object and apply the new configuration to it.
The Link has a new property 'LinkCopyOnChange' to allow user to
enable/disable this feature.
Spreadsheet's 'Configuration Table' feature will publish its
configuration property with 'CopyOnChange'.
Currently, once the linked object is copied, it will be independent with
the original object. There is no mechanism to auto sync changes back to
the copy.
2021-12-21 21:41:02 -07:00
Chris Hennes
186548da6c
[App] LGTM fix - rename loop variable
...
LGTM complains that the use of "obj" as the loop variable here hides the
parameter "obj". To silence the warning, rename the loop variable.
2021-09-18 23:18:51 -05:00
Zheng, Lei
54171f6b04
App: fix LinkMode enforcement in Link on restore
2021-08-01 16:36:12 +08:00
Zheng, Lei
c5ce992786
App: fix Link extensionGetPropertyByName()
...
Do not query linked object if the owner object has property with the
given name.
2021-02-07 14:49:49 +01:00