On 11/15/09 17:28, Cassio Neri wrote:
What are the issues with OOo Calc and what could be done? Please,
forgive me if I'm wrong, but I think:

1. Currently, there is no way to recalculate all changed formulas in
current sheet. Although the documentation says that F9 does so, in
fact, it doesn't. I've recently reported this bug

http://qa.openoffice.org/issues/show_bug.cgi?id=105743

I'm working on this issue and I going to submit a patch. With this
patch F9 recalculates all changed formulas in current sheet. This is
in accordance with OOo documentation. However it's in opposition with
my own suggestion in the bug report (that is, to use Shift+F9 as in
Excel). I've changed my mind because I found many places (in the web
and in OOo help) stating this behavior for F9.

I'll come back to this issue below.

I'm not sure if it's good to change the existing behavior of F9 this way. In fact we have a request to include external references in F9 (see issue 29370), so maybe adding a new shortcut for current-sheet-only would be better.

2. As far as I know, there are no volatile functions in OpenOffice
add-ins. Of course, the OOo API allows add-in functions to return
volatile results. This is much more powerful than what we need and
consequently more complex to implement. All we need is to tell OOo
that some formulas must always be considered out of date even if they
don't seem to be.

Recall that in Excel, Shift+F9 recalculates all changed formulas in
the current sheet. Since for the add-ins that I'm considering all
functions are volatile, it implies that Shift+F9 recalculates all
(add-in) formulas in current sheet. Therefore, we can avoid any change
in the OOo API while keeping the same user's felling provided that
Shift+F9 recalculates all cells in the current sheet.

I hope I can make a patch for that.

We have the open issue 69903 for this. It's not a matter of a simple patch, because we need a way for an add-in to signal that a function should always be recalculated.

Having considered issues 1 and 2 above, in a more general way, we have
issue number 3:

3. The majority of users work with automatic calculation turned on.
For this reason, I guess, OOo is not very well tested when automatic
calculation is turned off. I already found and reported another bug in
this set up.

http://qa.openoffice.org/issues/show_bug.cgi?id=106135

Yes, thanks for reporting it.

4. Sometimes, we want to recalculate just one cell which calls an
add-in function. In Excel it's enough to double click on the cell to
start it's edition and then press Enter without modifying anything. I
don't really know if Excel recalculates anyway or only because the
add-in function is volatile. OOo realizes that we haven't change
anything it doesn't recalculate. That's not a big issue. A simple
workaround is to make a fake change (e.g. one can press LeftArrow
before pressing Enter).

Unfortunately, it doesn't work when the result is an array. That's a
big issue. I would like to report a bug but I can't give a simple way
to reproduce it. The problem is that I have to provide the complete
code for an add-in. The is not a simple task: The simplest add-in I
can think of requires 4 files (one C++, one IDL and two XML) and
complicated instructions on how to build it.

For an array formula, you have to select the array, edit the formula, move the text cursor, then press Shift-Ctrl-Enter to input an array formula again. Yes, it's a bit cumbersome. Maybe we also need an explicit way to recalculate single formulas, or formulas in a selection.

Niklas

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to