Commit Graph

62 Commits

Author SHA1 Message Date
PhoneDroid
c4bc1cacbc [ Spreadsheet ]: Update SPDX License Identifiers 2025-11-02 21:36:25 -05:00
Frank David Martínez M
0f2ea5588c [Core] Fix #15558: Direct expression in ternary operator (#22938)
* [Core] Fix #15558: Direct expression in ternary operator

* [Core] Added tests for Non-Numeric conditions in ternary op.

* [Core] prevent relational operator chains at grammar level.

* [Core] Rewrite expressions grammar as a layered grammar.

* [Core] Revert to left associative relops (like C/C++) plus tests.
2025-08-25 21:52:42 +02:00
Frank David Martínez M
d4c38502d8 [Core] Add Boolean Functions to expressions (AND, OR, NOT) (#22506)
* [Core] Add Boolean Functions to expressions (AND, OR, BOOL, NOT)

* [Core] Add `if` function to expressions to overcome ternary operator limitations

* [Core] Update expressions grammar to recognize relational operations as arguments

* [Core] The `if` function has been removed as no consensus was reached regarding its convenience or necessity. Its inclusion was considered potentially confusing or redundant.

* [Core] Make boolean cast based on Confusion threshold.
2025-08-05 03:50:13 +00:00
Benjamin Nauck
a978ef2d73 Spreadsheet: Move "arrange" and "act" to the tests 2025-02-22 20:04:46 +01:00
bofdahof
3b1058ba9b Response to code review 2025-02-22 20:04:46 +01:00
bofdahof
6c7c1294ee break down some large tests into single-assert tests
More still to do
2025-02-22 20:04:46 +01:00
Benjamin Nauck
0ba52f0e22 Make modulo require units to be same or dimensionless
Fixes #19517
2025-02-17 11:31:17 -06:00
wmayer
edb6a25335 Python: deprecated aliases have been removed in Py 3.12 2023-12-02 14:45:55 +01:00
wmayer
4d3c9ce1c5 Sheet: Apply clang format 2023-09-10 16:01:37 +02:00
Daniel-Khodabakhsh
a9ac5b8398 Expressions: Add Vector API expression functions (#10237) 2023-08-15 23:00:16 -05:00
0penBrain
c14891dd3e Spreadsheet: update and add tests 2023-07-23 22:11:08 -04:00
luzpaz
38a01939e0 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
CarlOlson
b778a28b8a update expression grammar to handle parens around cond 2023-03-26 18:48:59 +02:00
Daniel-Khodabakhsh
071200ac8a Add various matrix related expression functions (#8603)
Adds a few new Expression functions with the goal to:

- Simplify Placement, Rotation, Vector and Matrix object creation.
- Add new matrix functions for rotation and translation.
2023-03-11 20:13:23 -06:00
luzpaz
be64da3de5 Spreadsheet: fix header uniformity
+ trailing whitespace
2023-01-22 21:46:17 +01:00
Chris Hennes
3e49a58efe Spreadsheet: Add unit test for #7841
Ensure that aliases can be set on empty cells.
2022-11-27 18:54:56 -06:00
Chris Hennes
0c162d7f09 Spreadsheet: Add getUsedRange() and getNonEmptyRange() 2022-11-10 14:36:54 -06:00
Chris Hennes
f06ec1f28b Spreadsheet: Add Python API for getUsedCells
Also adds access to getNonEmptyCells, and unit tests for both. Designed
to fix #7587.
2022-11-10 14:36:54 -06:00
wmayer
464e1951b0 Spreadsheet: add tests for merging cells and binding cells 2022-06-16 15:05:43 +02:00
wmayer
e4f9a0060b Spreadsheet: PR #6843: add missing unit test 2022-05-09 10:27:52 +02:00
wmayer
818d3cc30e Spreadsheet: [skip ci] issue #6840/#6844: add unit test 2022-05-08 21:29:56 +02:00
wmayer
5220519c09 Spreadsheet: [skip ci] issue #6844: add unit test 2022-05-08 18:59:23 +02:00
wmayer
978f58e8ab Spreadsheet: unit test for expressions using an input spreadsheet
A bug was reported here: https://forum.freecadweb.org/viewtopic.php?p=564502#p564502
2022-01-24 14:20:26 +01:00
wmayer
8525033bcc Test: [skip ci] clean up documents for unit test with cross links 2022-01-15 16:34:13 +01:00
wmayer
90834eecfe Test: [skip ci] add unit test with cross links
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=58603
2022-01-15 14:28:08 +01:00
Chris Hennes
6b16e12d7c [OTHER] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Yorik van Havre
321fd7c840 Merge pull request #4215 from hyarion/feature-spreadsheet-equal-prefix-for-expressions
[Spreadsheet] Only evaluate cell values when prefixed with '='
2021-02-05 13:29:57 +01:00
Benjamin Nauck
51f8ea11d9 Spreadsheet: Add test for undo alias issue 2021-01-30 14:04:57 +01:00
Benjamin Nauck
991e8bfb2b [Spreadsheet] Add unit tests for new input behaviour 2021-01-20 18:55:27 +01:00
Benjamin Nauck
b690a69973 [Spreadsheet] Remove alias from dynamic properties on removeRows/Columns
When removing a row in a spreadsheet which has an assigned alias, the
alias will not be removed from the list of dynamic properties.

This makes it impossible to create a new alias which uses the same name
even if the original was removed (using removeRows/removeColumns)

Fixes #4492
2021-01-04 22:10:58 +01:00
luz paz
abf4c92280 Spreadsheet: Fix header uniformity + trailing whitespace
[skip ci]
2020-11-27 19:39:06 +01:00
Cheuksan Wang
a178990acb Move the aliases before other content of cells
When a user performs insert rows, remove rows, insert columns, or
remove rows, we need to move multiple cells as a batch. The cells are
moved sequentially. For each cell, its dependent alias positions are
looked up and dependencies are added.  However, those cells with
aliases may be moved later in the batch. Thus the earlier dependencies
become wrong. This commit fixes this bug by moving all the aliases
before moving the cells. Unit tests are added to for this bug.

fixes issue #4429
2020-09-13 11:58:54 +02:00
Zheng, Lei
9d66dbbbbf App: fix Expression _moveCells()
The problem is caused by not refreshing ObjectIdentifier internal cache
after change.
2019-12-31 15:23:03 +01:00
DeepSOIC
2e5c0fccdd Spreadsheet: fix tests to use fuzzy placement comparison 2019-10-12 15:39:39 +02:00
Zheng, Lei
e764e6fee3 Spreadsheet: fix test case
Because of change in RotationPy __pow__
2019-10-08 17:53:20 +02:00
Zheng, Lei
1ae4e536ff Spreadsheet: add test case for operation on matrix/placement/rotation 2019-10-07 17:24:31 +02:00
Zheng, Lei
d6ad2f09c0 Spreadsheet: fix test cases due to change in error message 2019-09-28 15:31:36 +02:00
Zheng, Lei
8cbdc3ad5d App: use Python number protocol in Expression
This adds support to do mul/div with matrix and vector, as well as
Python formated string with operator %.
2019-09-28 15:30:34 +02:00
Zheng, Lei
de93446a1c Test cases changes
Slight adjustment of various test cases due to various API changes.
2019-08-17 15:32:48 +02:00
Eivind Kvedalen
51b422ead0 Expressions: Fixed issue #3432; aggregate functions sometimes ignore some of their arguments.
Also updated regression tests in Spreadsheet module.
2018-04-21 22:33:54 +02:00
Eivind Kvedalen
53d4757ba7 Spreadsheet/Expressions: Fixed issue #3363. 2018-03-25 11:53:35 +02:00
Eivind Kvedalen
dd6757bbb8 Spreadsheet: Fix for issue #3225.
Done by adding a selector function to Document::renameObjectIdentifiers(...) to ensure
that the Spreadsheet document object is not rewritten twice.
2017-11-08 23:15:16 +01:00
Eivind Kvedalen
60b90ec8a3 Part::Thickness: This fixes issue #2876 by changing property type for value to include a unit. 2017-07-23 22:14:05 +02:00
Eivind Kvedalen
653da7efb7 Fixed issue #2877: Added hypot() and catet() functions to expression framework. 2017-07-20 18:57:31 +02:00
Eivind Kvedalen
3a33273fce Expressions: Fixed issue #3128; mod(x;y) should support arbitrary units for both arguments. 2017-07-13 12:20:31 +02:00
wmayer
da2941943d close document in spreadsheet tests 2017-07-17 08:09:37 +02:00
Eivind Kvedalen
2714dd82c8 Spreadsheet: Fixed issue #2894: Unit strings could be used as aliases. 2017-03-07 13:45:53 -03:00
Kunda
a7414e5789 source typo fixes pt1 (only on py3 merged code)
issue 0002914
2017-02-27 11:32:47 +01:00
looooo
69bde456bf py3: spreadsheet: gathering spreadsheet relevant commits:
356b3b5736d6a83a91050973f77db9fc005b8551 Update Arch,Fem,Material,Spreadsheet for py3 print
70967107210481e362eab1cef78d15b8ba08c300 py3: Fixes from last rebase
2017-02-18 08:19:25 +01:00
Eivind Kvedalen
7ebaa54bd5 Expressions: Fixed issue #2879. 2017-02-02 10:27:29 +01:00