Commit Graph

36 Commits

Author SHA1 Message Date
PaddleStroke
3fa0b68878 Assembly: Implement Bill Of Materials (#14198)
* Assembly: Implementation of BOM

* Assembly: BOM: make it possible for BOM to be made without an assembly.
2024-06-17 11:16:32 -05:00
pre-commit-ci[bot]
222a2520b1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 13:02:35 -04:00
wmayer
159525084d Sheet: Apply clang format 2023-09-10 16:01:37 +02:00
wmayer
1ac09bccc3 Sheet: modernize C++: use equals default 2023-08-22 12:45:58 +02:00
wmayer
ca84a0662d Sheet: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
Uwe
2d50fd36df [Spread] remove unused includes
- also sort includes
- also additions to precompiled header
2022-10-09 20:31:31 +02:00
wmayer
c3279b82b4 Mod: modernize C++: replace 'typedef' with 'using' 2022-08-29 23:21:15 +02:00
wmayer
2062f9ce87 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
ddafb98813 Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
Zheng Lei
5864e17d9d Spreadsheet: improve range binding feature (#6995)
* Spreadsheet: improve range binding feature
2022-06-08 19:19:41 +02:00
wmayer
2c229d3bc0 Spreadsheet: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
Zheng, Lei
0029f3206d Spreadsheet: improve copy/cut/paste cells
Add color bound around user copy/cut ranges. Do not touch Spreadsheet
object when cutting, only do so when pasting.
2021-12-21 21:41:02 -07:00
Zheng, Lei
2a3951ca32 Spreadsheet: change alias handling
No longer add dynamic property for alias, simply rely on
get(Dynamic)PropertyByName() to check for aliases.

Add new API PropertyContainer::getPropertyNamedList() so that
ExpressionCompleter can discover properties with aliases.
2021-12-21 21:41:02 -07:00
Zheng, Lei
68fca40983 Spreadsheet: support cell binding
Cell binding allows one to bind a range of cells of one sheet to another
range of cells of an arbitary sheet, including any empty cells in the
range.

The binding is implemented with PropertyExpressionEngine and
PropertySheet::setPathValue(), which binds a special path of
PropertySheet, such as

    .cells.Bind.A1.D1

to an expression, such as

     tuple(.cells, <<A2>>, <<A5>>)

The A1 and D1 in the example above specifies the binding start and end
cell address. And <<A2>> and <<A5>> are the range of cells to bind to.
Note that you can use any expression that evalutes to string for the
binding destination, e.g. <<A%d>> % B1, which uses the value inside B1
to construct the binding destination. The '.cells' in the tuple shown
above is an example to bind cells of the same PropertySheet. It can be
change to to reference to any other spreadsheet, even those outside the
current document, e.g. Document#Spreadsheet001.cells
2021-12-21 21:41:02 -07:00
Zheng, Lei
127e8098e8 Spreadsheet: add a few context menu options 2021-10-12 14:34:58 -05:00
Chris Hennes
403a569315 [Spreadsheet] Refactor keyboard handling
LineEdit no longer actually handles motion, it simply indicates which
action was taken to cause it to lose focus (e.g. which key was pressed).
It's up to the client code to determine what this means. This allows
significant consolidation of keyboard-handling logic, and the
implementation of more extensive keyboard navigation features.

New keyboard shortcuts include a tab counter to implement auto-return,
plus Ctrl->Arrow, End, Home, Ctrl-End, and Ctrl-Home, matching the
behavior of OpenOffice, LibreOffice, etc.

Block selection via keyboard has also been added by holding down the
shift key during navigation with the arrow keys (this also works in
combination with the Ctrl modifier for region navigation).
2021-10-08 14:55:39 -05:00
mwganson
0be3565dbe [Spreadsheet] add preference page and 3 import/export parameters 2021-09-27 22:05:36 -05:00
luz paz
44636aca2f Spreadsheet: Make all file headers uniform [skip-ci] 2020-11-03 14:52:53 +01:00
Zheng, Lei
e911b69769 Spreadsheet changes
Various changes to support in-place editing, and more.
2019-08-17 15:15:47 +02:00
Zheng, Lei
34ed8a8e00 Spreadsheet: convert PropertySheet to link type property
PropertySheet is changed to derive from PropertyExpressionContainer,
which makes it a link type property that is capable of external linking.
It now relies on the unified link property API to manage object
depenency, and tracking of object life time, relabeling, etc.

This patch also includes various fix and improvement of Spreadsheet,
such as improved recompute efficiency, correct handling of document
label change, etc.
2019-08-17 14:52:09 +02:00
wmayer
f898eafd64 move from deprecated boost.signals to boost.signals2 library 2018-10-30 19:09:03 +01:00
wmayer
a5bc70cca0 remove properties from transactions when being deleted 2017-08-28 21:20:17 +02:00
Yorik van Havre
8f45e13789 Spreadsheet: Added Python version of Spreadhseet::Sheet 2016-06-14 19:16:00 -03:00
Eivind Kvedalen
a21571a652 Spreadsheet: Removed own expression parser and instead use the one in App. 2016-04-02 12:01:04 +02:00
Eivind Kvedalen
1802d94a1a Spreadsheet: Override DocumentObject::renameObjectIdentifiers() to get better renaming support. 2016-02-18 16:54:42 +01:00
Eivind Kvedalen
53dcaccd4e Spreadsheet: Refactored alias checking code, so GUI and Python error messages are aligned. 2016-02-18 16:54:39 +01:00
Eivind Kvedalen
d45a95bf3a Spreadsheet: Issue #2402: Added functionality to get cell address given an alias. 2016-01-26 10:52:00 +01:00
Eivind Kvedalen
87c6af3547 Spreadsheet: Removed setPosition() function. 2015-11-28 12:56:28 +01:00
wmayer
53d323b5e0 + make isReadOnly & isHidden of PropertyContainer non-virtual 2015-11-14 02:07:57 +01:00
Eivind Kvedalen
29695a8ae7 Spreadsheet: Removed unused function. 2015-10-11 09:41:15 +02:00
Eivind Kvedalen
4d5646fa5d Spreadsheet: Replaced own Expression classed by the ones in App. 2015-09-21 14:51:11 +02:00
Eivind Kvedalen
3474419925 Spreadsheet: Updated documentation. 2015-09-21 14:51:02 +02:00
Eivind Kvedalen
3743008cda - Self-reference bug
- Refactoring/clean-up of code
- Dependency tracking of aliased cells
- Various resolution errors
- Rewriting of ranges when columns/rows are inserted/removed
- References to aliases keep their units.
2015-03-04 22:18:20 +01:00
Eivind Kvedalen
1b43ca109b Spreadsheet: Consistently use App::Document::Label as reference for document names when tracking dependencies. 2015-02-17 11:44:55 +01:00
Eivind Kvedalen
d153fb2dbd + Fixed merge of cells to retain value in upper left cell+ Replaced std::map::at() with iterators and find. Removed some superfluous calls to std::map::find()
+ Visual Studio fixes
+ Fixed return values
+ Removed unused variables
2015-02-13 21:53:59 +01:00
Eivind Kvedalen
383ffa6e15 Initial implementation of Spreadsheet module (C++ version) by Eivind Kvedalen.
Various fixes for Windows by
Peter Lama <peterldev94@gmail.com>
Werner Mayer <wmayer@users.sourceforge.net>
2015-02-13 21:53:58 +01:00