Commit Graph

73 Commits

Author SHA1 Message Date
wandererfan
30e07229e1 [App]convenience getter for PropertyXLinkList 2020-04-14 10:24:29 -04:00
Zheng, Lei
0a608e9413 App: fix Link document restore
This fixes issue #0004224
2020-02-14 19:46:36 +01:00
Zheng, Lei
3364911d6d App: add PropertyXLinkList
PropertyXLinkList is derived from PropertyXLinkSubList, which is
modified to provide APIs compatible to PropertyLinkList.

The only difference between the two class is in their getPyObject() to
make PropertyXLinkList output similar to PropertyLinkList in Python. In
C++, both class can accept mix of objects link with or without subname,
depending on which set of APIs are used.
2020-02-11 15:40:27 -05:00
Zheng, Lei
e4a2d9fc42 App: fix PropertyXLink invalid external link 2020-02-11 15:40:27 -05:00
Zheng, Lei
e707ba8348 App: fix PropertyLinkSub(List) unicode handling 2020-02-11 15:40:27 -05:00
luz.paz
4f308dc03c src/App: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/App` files
2019-12-25 11:38:43 +01:00
asapelkin
bbbabf99ae removed useless std::move on const and unmovable objects 2019-11-21 17:49:57 +01:00
asapelkin
e951094af9 use emplace_back instead of push_back where justified 2019-11-21 14:48:09 +01:00
Zheng, Lei
b0c9325432 App: fix PropertyXLink file path saving
Also modified ProeprtyLinkItem to show file path as tooltip.
2019-11-10 11:32:59 +01:00
Zheng, Lei
71c54272a0 Fix various Py::Object leak 2019-10-08 17:53:20 +02:00
Zheng, Lei
3de3f696e3 App: fix PropertyXLink file path update 2019-10-08 10:26:03 +02:00
Zheng, Lei
4042d83362 App: allow multiple subname in PropertyXLink
PropertyXLink and PropertyXLinkSub now only differ in getPyObject().
This is to allow Link support of multiple sub-element
2019-10-08 10:20:36 +02:00
luz.paz
7b7797f4f3 Fix various (doxy) typos and whitespace issues
Found via `codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,currenty,dof,doubleclick,dum,eiter,elemente,feld,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml`
2019-10-03 07:57:13 +02:00
wmayer
b50b21576e core system
force strict ISO C++ (-Wpedantic)
TODO: still a lot of variadic macros are not valid ISO C++
2019-09-18 01:01:14 +02:00
Zheng, Lei
f66e7f3332 App: remove unused variable 2019-08-30 15:52:18 +02:00
wmayer
9c69c886a4 fix MSVC compiler warnings 2019-08-17 19:35:21 +02:00
luz.paz
8825c95727 Fix typos in src/App 2019-08-17 15:32:48 +02:00
Zheng, Lei
e85bf9cd0e PropertyLinks: refactor property link API
* Create new class PropertyLinkBase as the common parent class for all
  type of links. See the class document for details of its API.

* Added new link scope 'Hidden' that is ignored during normal object
  dependency calculation, but still keep tracks of object remove,
  relabel, etc.

* There is a new concept called 'Shadow subname' introduced in this
  patch, which will only be meaningful in future topological naming
  feature. See [here](https://git.io/fjXKR) for more details.

* DocumentObject added a new API adjustRelativeLink() and a helper
  resolveRelativeLink() function.
2019-08-17 14:52:09 +02:00
wmayer
588c265291 Improve handling of null pointers in link properties 2019-06-15 10:33:31 +02:00
wmayer
c950d1f093 improve whitespaces 2018-10-19 22:25:55 +02:00
Markus Lampert
0b40519f3f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
DeepSOIC
646111495d App: fix py return of propertyLinkSubList
fixes #0002602

Now, it won't bunch up same object entries if they are not adjacent. I.e., same object  can appear twice and more, for example:
[(object1, ('Edge2', 'Edge3')), (object2, ('Edge1',)), (object1, ('Edge4', 'Edge5'))]

Complete bunching causes information loss, and it's impossible to fix the bug with keeping the bunching complete.
2018-04-13 09:42:26 -03:00
wmayer
8529407023 fix bug and possible crash in overloaded method PropertyLinkSubList::setValues 2018-03-30 11:37:42 +02:00
wmayer
305a567819 raise exception in PropertyLinkSubList::setPyObject for wrong type 2018-01-18 15:53:51 +01:00
Unknown
a8ecffb652 Misc. typo fixes
Various workbenches
2017-12-23 14:30:30 +01:00
luzpaz
56111a0810 Typos: user-facing and trivial
Several typos and uniformity fixes.
Note: 
*SCL/SimpleDataTypes.py is a upstream stepcode file whose fiz has been submitted upstream and accepted.
*the header of Tools/generateBase/generateMetaModel_Module.xsd  had redundant data. It has been removed. Please double check it.
2017-12-02 14:00:57 +01:00
Stefan Tröger
00e7c0f2cb Maintain backlinks on dynamic property removal. fixes #0003189 2017-09-21 13:29:20 +02:00
wmayer
9d83392a4f mark document objects with Destroy flag before deleting them and handle this in the link properties 2017-09-13 16:14:19 +02:00
wmayer
dda36a6d25 add method to remove elements from PropertyLinkSubList 2017-09-13 12:19:09 +02:00
wmayer
dcd7da480a support of loading old projects with shape binder or PartDesign boolean 2017-09-09 22:47:28 +02:00
wmayer
e260f9dabd improve whitespaces 2017-09-09 18:07:46 +02:00
Stefan Tröger
987a5b36b9 Create special scope properties 2017-09-09 16:47:07 +02:00
Stefan Tröger
ab85c6e784 Make InList hadling and topological sort more robust. fixes #0002871 2017-09-09 16:47:07 +02:00
wmayer
bb9b5ba38e in PropertyLinkList replace assert with C++ exception to avoid a crash 2017-08-13 11:04:18 +02:00
Stefan Tröger
fa4d67735f Revert link integrity checks in properties
The DAG test is not needed anymore as the relevant functions are non-DAG save now, and the other check will be moved to the recompute as it is not efficient or save to do it in the links itself.
2017-06-19 15:37:09 +02:00
Stefan Tröger
4ecd831bfd GeoFeatureGroup: Make link collection non-DAG save 2017-06-19 15:37:09 +02:00
Stefan Tröger
f9200f4502 Extend python interface for groups and fix test cases 2017-06-19 15:37:09 +02:00
Stefan Tröger
eb601df236 Fix undo/redo while checking link integrity 2017-06-19 15:37:09 +02:00
Stefan Tröger
0487b66738 Links ensure uncyclic graph and correct groups 2017-06-19 15:37:09 +02:00
wmayer
1673ab801e use specialized exception classes 2017-04-28 18:49:11 +02:00
wmayer
bcea759287 fix crash with null pointer links
in PropertyLinkList handle case with null pointers as value
in STEP reader avoid to create coumpound objects with null pointer links
2017-01-30 16:47:31 +01:00
wmayer
f3f7b01202 improve whitespaces 2017-01-21 19:15:36 +01:00
Stefan Tröger
69857f37f7 DAG: remove early return to avoid update chain changes 2017-01-21 19:15:36 +01:00
Stefan Tröger
b42740930e DAG: remove defined but unused function 2017-01-21 19:15:36 +01:00
Stefan Tröger
4f8e046f7f DAG: Fix preprocessor definition inconsistencies 2017-01-21 19:15:36 +01:00
Stefan Tröger
665eb63d4c DAG: Change object graph handling to be bidirectional 2017-01-21 19:15:36 +01:00
Yorik van Havre
0aac72b2eb Fixed setting an empty value to PropertyLinkSubList 2016-11-13 12:13:31 -02:00
wmayer
a90907530f issue #0002714: Segfault in PropertyLinkSubList::Save 2016-10-09 13:49:57 +02:00
Stefan Tröger
558e128b39 Extensions: Revert few changes after restructuring 2016-10-08 12:48:34 +02:00
Stefan Tröger
15b14783d1 Extensions: Handle static/dynamic cast
After the change of the virtual inheritance position in the inheritance chain some
formally added dynamic_cast's can be reverted to the old behaviour
2016-10-08 12:48:34 +02:00