Commit Graph

16 Commits

Author SHA1 Message Date
Stefan Tröger
a025a20bed Extensions: GeoFeatureGroup only for GeoFeature 2017-01-04 16:01:58 +01:00
wmayer
e8c7df1d67 minor improvements 2016-12-11 19:27:35 +01:00
Stefan Tröger
b09ca0c787 Extensions: Implement persistence 2016-12-11 19:27:35 +01:00
wmayer
6782fe8086 fix dangling pointer, remove superfluous semicolons, avoid excessive report messages of extension object 2016-12-09 23:03:18 +01:00
Stefan Tröger
5ea603977f Extensions: Fix ViewProvider python interface 2016-12-04 17:35:00 +01:00
wmayer
86f515ba25 fix typos 2016-11-12 17:57:14 +01:00
wmayer
f1127dd2f4 Fix issues:
+ improve formatting
+ remove superfluous semicolons
+ comment unused parameters
+ rename Initialisation to Initialization
+ rename Deinitialisation to Finalization
+ remove spaces
2016-10-08 12:48:34 +02:00
Stefan Tröger
0ae9346b3c Extenions: Drop virtual inheritance
Due to problems onthe windows platform the virtual inheritance approach must be dropped. NExt to the already reimplemented proeprty interface the Type interface is reimplemented too. This change allows to revert some earlier changes.
2016-10-08 12:48:34 +02:00
Stefan Tröger
89bbb81521 Extension: Fix order-of-initialisation crash
FreeCADs property system utilises some pointer math to calculate the offset between
property and base class. Due to virtual inheritance of th ePropertyContainer the memory
layout has been changed to rather random, which has lead to crashes dependend on the
order of object initialisation.

The solution is to not make PropertyContaner virtual but a class below, Base::Persitance.
Then the memory layout is random for Persistance, but it is perfectly aligned for the
base class chains from PropertyContainer onwards as well as from Extension onwards.
Hence the proeprty system was changed to take the offset always from those two.
2016-10-08 12:48:34 +02:00
Stefan Tröger
7a2fed1b75 Extension: Delete extensions correctly 2016-10-08 12:48:34 +02:00
Stefan Tröger
f61bb9062e Extensions: Port ViewProvider of groups 2016-10-08 12:48:34 +02:00
Stefan Tröger
f0f31ff94c Extensions: Make Python Integration work 2016-10-08 12:48:34 +02:00
Stefan Tröger
88484d7054 Extensions: Allow them to be added dynamically 2016-10-08 12:48:34 +02:00
Stefan Tröger
16f8dbbacd Extensions: special calls for document object extensions 2016-10-08 12:48:34 +02:00
Stefan Tröger
552fe52774 Extensions: Show up in the python interface 2016-10-08 12:48:34 +02:00
Stefan Tröger
6fa964c53f Extensions: Introduce classes and port App groups 2016-10-08 12:48:34 +02:00