Commit Graph

386 Commits

Author SHA1 Message Date
jrheinlaender
2c378a4f8c Add check in Document.cpp recompute() to check for invalid pointers 2016-04-12 18:11:49 +02:00
jrheinlaender
a6431ee5cf Improved bounding box calculation for datum feature display size 2016-04-12 18:11:49 +02:00
jrheinlaender
efd33c8465 Added check in Tree.cpp DocumentItem::slotChangeObject to check for invalid pointers returned by claimChildren() 2016-04-12 18:11:48 +02:00
jriegel
4d49b0b059 PropertyMap and new Attributes for the Assembly object and the Document 2016-04-12 18:11:46 +02:00
jriegel
4f0f3e8c94 implementing Plane visual 2016-04-12 18:11:44 +02:00
jriegel
95c9259765 Run arbitrary scripts from Cmd command line 2016-04-12 18:11:44 +02:00
Bruce B. Lacey
f2d8daa1fb Add include of <sstreeam> to fix commit 08692f811 breakage to Ubuntu Precise 12.04 builds. 2016-04-02 11:19:28 -07:00
Eivind Kvedalen
c506881614 Expressions: Simpified parser, fixed precedence (parentheses) 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
909727ade8 Expressions: Fixed parsing of unit expressions similar to 1/unit. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
1626c69494 Expressions: Moved Expression::priority to cpp file. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
b37e6ece98 Expressions: Refactored aggregate functions. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
08692f811b Expressions: Added support for aggregate functions and ranges. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
c861505bc9 PropertyPlacement: Convert x, y, z values to Quantities when using them in expressions. 2016-04-02 12:01:04 +02:00
Yorik van Havre
9e75213c92 Document.openTransaction() now accepts unicode 2016-03-22 12:20:58 -03:00
Bruce Lacey
feac22b00d FreeCADTest.py invokes sys.exit() instead of the more aggressive os._exit()
With the ability to now pass the <exitCode> from sys.exit() up the
call stack to the shell, FreeCADTest.py should use sys.exit() instead
of the more aggressive os._exit() method that does not allow for
post-exception cleanup.
2016-03-21 18:28:46 +01:00
Eivind Kvedalen
9d617ce4c8 Expressions: Changed precedence of ?, :, EQ, NEQ, LT, GT, GTE, and LTE. 2016-03-15 18:28:23 +01:00
Lorenz Hüdepohl
7f355febda Add lib64 to python path
On certain distributions the library directories are called "lib64" on
amd64 machines
2016-03-13 01:18:18 +01:00
Bruce Lacey
272cbd198d Exit with non-zero status when unit tests fail.
1.  Enhanced TestApp.py to return the unittest TestResult object to the calling method
2.  FreeCADTest.py now checks the TestResult object.  If all tests pass, FreeCADTest.py exits with a 0 however if any tests fail, then it exits with 1.  FreeCADTest.py calls os._exit() with the exit code instead of sys.exit() because Base::Interpreter:SystemExitException intercepts sys.exit() calls and swallows the exit code so there is no way to propogate the non-zero code from the python test cases through the interpreter to the shell in the current call stack.
2016-03-09 21:57:57 -08:00
wmayer
2e43774c2f + terminate xerces at program exit 2016-03-09 15:52:42 +01:00
Eivind Kvedalen
8ce2f16759 Expressions: Added code to throw under/overflow exceptions. 2016-03-08 16:09:29 +01:00
Eivind Kvedalen
a43e8aafbf Expressions: ints should be 64 bit. 2016-03-08 16:09:28 +01:00
Eivind Kvedalen
ac79af0289 Expressions: Use BooleanExpression class for EQ, NE, LT, GT, LTE, and GTE operators. 2016-03-08 16:09:27 +01:00
Eivind Kvedalen
26f4d1ae8e Expressions: Added App::BooleanExpression class. 2016-03-08 16:09:27 +01:00
Eivind Kvedalen
34135e5d2e Expressions: Turned off debug output/tracing for expression parser. 2016-03-08 16:09:26 +01:00
wmayer
007a00b7f1 + bug fix similar to idea of pull request 111 2016-03-07 15:12:00 +01:00
wmayer
948ccac021 + dynamically hide/show and enable/disable item in property editor 2016-03-05 13:13:23 +01:00
wmayer
0ea6a2ed0d + removed unneeded pure virtual method getFaces from PropertyComplexGeoData
+ extend interface of ComplexGeoData::getPoints to also return normals if available
2016-03-04 17:16:57 +01:00
wmayer
660a30ce01 + fix some weirdness in Application class 2016-02-24 21:04:47 +01:00
Eivind Kvedalen
2dca1ffc39 PropertyExpressionEngine: Fixed warning. 2016-02-18 16:54:45 +01:00
Eivind Kvedalen
1da5d33996 Expression class: Improved error message when resolving a variable fails. 2016-02-18 16:54:44 +01:00
Eivind Kvedalen
be671259cb PropertExpressionEngine: Ignore dependencies that does not resolve to a document when verifying expressions. 2016-02-18 16:54:44 +01:00
Eivind Kvedalen
727a06689a PropertyExpressionEngine: Fixed bug in Copy and Paste (make deep copies of the expressions). 2016-02-18 16:54:43 +01:00
Eivind Kvedalen
810135fad4 PropertyExpressionEngine: Refactored and moved visitor code to separate file. 2016-02-18 16:54:41 +01:00
Eivind Kvedalen
095c823fda Expression: Added ExpressionModifier class, used as base class for visitors that may modify its expressions. 2016-02-18 16:54:41 +01:00
Eivind Kvedalen
e5f1e298a6 ObjectIdentifier: Reworked resolve() function to solve issue #2389 and #2418.
* Refactored code; moved mutable fields into a separate inner class.
* Added resolvedProperty to ResolveResults class.
* Set resolved document name, even if it does not resolve correctly, so we can give a better error message later.
* If the document name is explicitly set, and it does not resolve, don't try any further.
* If document name is set, use that instead of the ObjectIdentifier's owner when looking up the document object.
2016-02-18 16:54:39 +01:00
Yorik van Havre
66e719f3f5 Allow to use an encoded doc string in FeaturePython::addProperty 2016-02-12 20:47:11 -02:00
Yorik van Havre
0e8974a370 Made PropertyFloatList accept ints too - fixes #2444 2016-02-09 16:01:10 -02:00
wmayer
02578c4e6b + suppress warnings when copying an object 2016-02-09 16:01:23 +01:00
wmayer
1b8cd9b91c Revert "ObjectIdentifier: Issue #2389: Needs to set documentNameSet and documentObjectNameSet to true to resolve properly."
This reverts commit 670eaf04a6.
2016-01-26 20:58:28 +01:00
wmayer
28b92c478b + raise a TypeError instead of a standard exception in ObjectIdentifier 2016-01-26 12:49:15 +01:00
Eivind Kvedalen
670eaf04a6 ObjectIdentifier: Issue #2389: Needs to set documentNameSet and documentObjectNameSet to true to resolve properly. 2016-01-26 11:58:12 +01:00
Eivind Kvedalen
22d77b784a VariableExpression: Add converters for long and bool data types. 2016-01-26 11:49:50 +01:00
Eivind Kvedalen
e9480e6a09 ObjectIdentifier: Issue #2407: Fixed resolution of DocumentObject, to differentiate better between internal name and Label. 2016-01-26 11:25:58 +01:00
wmayer
abcb12caec + fix error message in PropertyFileIncluded::setPyObject 2016-01-25 21:45:14 +01:00
wmayer
a691fec1dd + fix exception text in PropertyFileIncluded 2016-01-24 21:06:02 +01:00
wmayer
f47cc169ae + make code more readable 2016-01-21 16:07:07 +01:00
Abdullah Tahiri
f1a3276d37 Bug fix: Add System-wide Macro dir to python path
=================================================

Self explanatory, so that macros in system-wide location can import modules therein.
2016-01-11 19:25:18 +01:00
Abdullah Tahiri
7fc7bdc302 Gui Enhancement: Support for macros in AppUserHome/Macro
=====================================================

What?
It was suggested that the macros should be moved to AppUserHome/Macro
http://forum.freecadweb.org/viewtopic.php?f=10&t=13433

Solution:
The solution is backwards compatible in the sense that if you have a running
configuration, updating should not change anything.

For new installations the macro directory will default to AppUserHome/Macro. However
this would break all the installation scripts (probably also ME's plugin manager).

Conflicts:
	src/Mod/Path/Gui/AppPathGuiPy.cpp
2016-01-11 19:24:22 +01:00
wmayer
64a20a83cc + PrintError is not part of FreeCAD but FreeCAD.Console 2016-01-09 21:21:17 +01:00
Eivind Kvedalen
3aa44e6b0c Issue #2389: ObjectIdentifiers constructed from a property sometimes do not
resolve correctly, because the resolver may fail if a different document
objects has a Label equal to the property's document object's identifier.
2016-01-08 23:09:00 +01:00