Hi Juergen and Niklas.

Yes, I would love to see OpenOffice in the financial markets. However,
as always, the problem is the inertia: people are not very keen to
change. Unfortunately, the company I work for is a very big one and I
don't have any influence in those types of decision. I can only just
advertise OpenOffice to my colleagues (which I do).

Thanks for the information on the NetBeans plugin. I will consider
this possibility.

I wasn't very clear in my explanation. Let me try again:

> 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.

That was my first thought (I don't have any personal preference for
F9). However, as I said in my bug report (issue #105743) the OOo help
states (more than once) that "F9 recalculates all changed formulas in
the CURRENT sheet". Moreover, this is also said in a few places in the
website, e.g.,

1) 
http://wiki.services.openoffice.org/wiki/Documentation/OOo3_User_Guides/Calc_Guide/Function_key_shortcuts
2) 
http://documentation.openoffice.org/manuals/oooauthors2/0313CG-KeyboardShortcuts.pdf

and, I guess, in some printed books as well. Therefore, the patch I've
submitted changes the code to conciliate it with the documentation in
eletronic and hard-copy format.

Regarding issue 29370, as far as I understand, it's related more on
how each cell is recalculated (method ScFormulaCell::Interpret) than
whether it's in the current sheet or not.

>> 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.

Yes, I came across this issue before but I couldn't find it again. It
was exactly this that I had in mind when I said "there are no volatile
functions in OpenOffice add-ins". I do understand that this is a
complicated matter that, probably, implies a change in the UNO API.

However, this is not the intention of the patch I'm talking about.
What I have in mind is implement a short-cut, say Shift+F9, to
recalculate ALL cells in the CURRENT sheet (regardless if the formula
contains add-in or built-in functions). The patch would implement a
method to do more or less what ScDocumen::CalcAll does but eliminating
the loop which goes though all sheets. It would rather do the job only
in the current sheet.

> 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.

What I meant here was that this exact instructions don't work. I
haven't filled a issue for that one because for me it's difficult to
reproduce the bug without the help of an add-in (possibly, it only
happens with add-in functions). I do have implemented an add-in which
shows the problem but, as I said, it would be hard to submit the
add-in code and all the complementary files need to produce a .oxt
file. Anyway, what happens when I follow your instructions is that the
add-in function is not called and the whole array is filled with
blanks. The only way to make the right result appears is pressing
either F9 (after a change) or Shift+Ctrl+F9.

To finish... All I'm saying happens when automatic calculation is turned off.

Best regards,
Cassio.

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

Reply via email to