]> gerrit.simantics Code Review - simantics/platform.git/commit
Spreadsheet updates cell values properly 49/1949/1
authorMiro Richard Eklund <miro.eklund@semantum.fi>
Wed, 25 Jul 2018 09:33:33 +0000 (12:33 +0300)
committerMiro Richard Eklund <miro.eklund@semantum.fi>
Wed, 25 Jul 2018 09:33:33 +0000 (12:33 +0300)
commit5915c1bbd6d0c6125aa3c815c7843339190f28e4
tree964a81d7a26fe3889a7173fd4fd93f2c18e32a9f
parentdfa52ccefe2e4c36965ad3ccf5e19b778cae0d99
Spreadsheet updates cell values properly

Cells referencing other cells weren't updated after change
"8c8283a01e63980527d605936286747006bea601" (see in History view), in
StandardNodeManager.java. I added a new setValue function that takes a
list of Nodes that need to be updated (removes them from valueCache),
which allows only specific cells to be updated when another cell is
updated.
I also removed invalidation code from Spreadsheet's "All.java" class and
added them to the value updated in SpreadsheetNodeManager, which
invalidates recursively the cells the use another cell.
I also made sure that SpreadsheetCells jave the same properties through
their life-cycle, rather than creating a properties map whenever the
properties are called.

gitlab #48
gitlab #54
gitlab #55

Change-Id: I125f644e014310937ed7697e9f44ec33825f9b0f
bundles/org.simantics.simulator.toolkit/src/org/simantics/simulator/toolkit/StandardNodeManager.java
bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetBook.java
bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetCell.java
bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java
bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/function/All.java
bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/SelectionListener.java
bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/SpreadsheetModel.java
bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/TextTableCellEditor.java