- static Variant DEFAULT = Variant.ofInstance("Pending external reference");
-
- class ExternalRefData {
- private Variant value = DEFAULT;
- public ExternalRefData(long referenceKey, ExternalRef ref) {
- ref.listen(context, new ExternalRefListener() {
-
- boolean isDisposed = false;
-
- @Override
- public void newValue(Variant newVariant) {
- SpreadsheetCell cell = cellByReferenceKey(referenceKey);
- if(cell.content instanceof SpreadsheetSCLConstant) {
- SpreadsheetSCLConstant ssc = (SpreadsheetSCLConstant)cell.content;
- if(ssc.content.equals(ref)) {
- value = newVariant;
- fireChanges(invalidate(cell));
- return;
- }
- }
- isDisposed = true;
- }
- @Override
- public boolean isDisposed() {
- if(isDisposed)
- return true;
- return SpreadsheetBook.this.isDisposed();
- }
- });
- }
- }