Commit Graph

359 Commits

Author SHA1 Message Date
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
Eivind Kvedalen
5f26cd9d7c ObjectIdentifier: Resolve document name on both identifier and Label. 2016-01-08 23:09:00 +01:00
Eivind Kvedalen
9cc45e6ff2 ObjectIdentifier::resolve() should set documentName to internal name, not the Label property. 2016-01-08 23:09:00 +01:00
Eivind Kvedalen
009d0c03b4 Document/PropertyExpressionEngine: Added onDocumentRestored function, to update internals of PropertyExpressionEngine after loading a document from disk. 2016-01-08 23:08:55 +01:00
Eivind Kvedalen
905cd3b1d2 App: Added template<class P> class AtomicPropertyChangeInterface. 2016-01-08 23:08:39 +01:00
wmayer
061c67cbf8 + expose onDocumentRestored to Python feature classes 2016-01-05 19:05:48 +01:00
Mateusz Skowroński
cd2db00f22 QString::fromAscii() is obsolete in Qt5. Replace it with fromLatin1().
This change is Qt4/Qt5 neutral.
2016-01-05 16:07:25 +01:00
Mateusz Skowroński
d5c074f80d QString::toAscii() is obsolete in Qt5. Replace it with toLatin1().
This change is Qt4/Qt5 neutral.
2016-01-05 16:06:48 +01:00
wmayer
50d7793442 + introduce proper enum for property status to replace plain integers 2016-01-01 15:36:24 +01:00
wmayer
c2de4059c9 + add template class to add feature types with dynamic properties but without extended Python binding 2015-12-31 15:34:24 +01:00
wmayer
b3bfdaafcf + add overloaded addObject() method to Document class to add existing DocumentObject 2015-12-31 15:32:47 +01:00
wmayer
e9e9a38865 + improve exception handling in initialization scripts 2015-12-29 23:42:29 +01:00
wmayer
7c359b7b30 + handle exceptions when restoring dynamic properties 2015-12-21 18:24:12 +01:00
Eivind Kvedalen
df660dc280 PropertyExpressionEngine/DocumentObject: Track object deletes and update dependencies accordingly. 2015-12-21 14:11:13 +01:00
Eivind Kvedalen
7b25d454b5 PropertyExpressionEngine::slotObjectRenamed(...): return immediately if the property's owner is not part of an object (e.g on the undo stack). 2015-12-21 14:11:13 +01:00
Eivind Kvedalen
9c7b9ed2c0 PropertyExpressionEngine::slotObjectRenamed(...): only change the object if it is absolutely necessary,
or else the object will in most cases be touched, leading to unnecessary recomputes.
2015-12-21 14:11:12 +01:00
Eivind Kvedalen
65a610d1cb Expression/ObjectIdentifier: changed return type of renameDocumentObject and renameDocument,
to be able to signal that a rename actually took place.
2015-12-21 14:11:12 +01:00
Eivind Kvedalen
83d221e161 DocumentObject: Don't emit signal if Label hasn't actually changed. 2015-12-21 14:11:11 +01:00
wmayer
0b0d258afd + make method cancelObservation() not pure virtual 2015-12-19 11:31:59 +01:00
Eivind Kvedalen
823b5205bb NumberExpression: Added std::setprecision to keep precision of number in double to string conversion. 2015-12-18 22:05:32 +01:00
Eivind Kvedalen
6f39eed25e PropertyPlacement: Fixed setting of angle (missing deg to radian conversion). 2015-12-18 22:05:31 +01:00
Eivind Kvedalen
7760c6ac18 ObjectIdentifier: Added std::setprecision to keep precision of double to string conversion. 2015-12-18 22:05:31 +01:00
DeepSOIC
4f2992db54 API: improve built-in docu for copyObject and moveObject 2015-12-16 20:45:54 +03:00
DeepSOIC
dd8027a839 API: fix document.copyObject not working when with dependencies
copyObject failed with an error when attempting to copy an object with
dependencies from one document to another.

http://forum.freecadweb.org/viewtopic.php?f=22&t=13533&p=108288#p108288
2015-12-16 20:45:53 +03:00
wmayer
acf3b34711 + implement PropertyExpressionEngine::getPyObject 2015-12-13 22:40:07 +01:00
Timothy Hobbs
7da3c663c6 Application.cpp English editing
Edit English in comments and warning messages
2015-12-12 01:22:14 +01:00
Stefan Tröger
dcad131357 Expressions: Fix property editor behavior
- change responsibility of python code emition
- Correct python code handling for expressions
- handle constraints expressions handling
2015-12-09 14:08:50 +01:00
Stefan Tröger
4203a6f35b Expressions: Integrate into the property editor
- basic infrastructure for handling of expressions
- port the unit properties editor to support expressions
- port placement editor to support expressions
- expressions for double spinbox
- expressions in sketch constraints
2015-12-09 14:08:48 +01:00