Issue 97407

Summary: IDL states long for property FormulaResultType
Product: Calc Reporter: daniel.rentz
Component: programmingAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: issues, jsc
Version: OOo 3.0   
Target Milestone: ---   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description daniel.rentz 2008-12-18 18:36:58 UTC
IDL states long for property SheetCell::FormulaResultType, but Calc returns enum
CellContentType.
Comment 1 daniel.rentz 2009-02-04 09:22:36 UTC
DR->JSC: What is the correct solution for this problem?

IDL documentation of property com.sun.star.sheet.SheetCell.FormulaResultType
(http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/SheetCell.html#FormulaResultType)
states "long" as property data type which should be a constant of
com.sun.star.sheet.FormulaResult
(http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/FormulaResult.html),
but the implementation in OOo Calc returns a value of the enum
com.sun.star.table.CellContentType
(http://api.openoffice.org/docs/common/ref/com/sun/star/table/CellContentType.html),
either TEXT or VALUE.

The only place where FormulaResultType is correctly used, is the method
com.sun.star.sheet.XCellRangesQuery.queryFormulaCells
(http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/XCellRangesQuery.html#queryFormulaCells).

There are already Basic macros out there that rely on the enum return type. The
disadvantage: it is not possible to detect that a formula returns an error result.
Comment 2 jsc 2009-05-14 09:23:18 UTC
mmh, difficult question.

I would suggest that you propose this API change for an incompatible API change
for OO.o4.0 and fix all places where it is used. Probably you have rethink the
whole stuff how you can solve the problem error result ... 

Once it is accepted as API change we need some docu explaining it and a
migration guide for API users. More details later
Comment 3 daniel.rentz 2009-05-14 09:49:04 UTC
To be clear here: Do you suggest to keep the current IDL and fix the wrong Calc
implementation, or do you suggest to change the IDL to the current behaviour of
Calc?
Comment 4 jsc 2009-05-14 10:16:33 UTC
i mean fix it in the way that make most sense. I would prefer a clean, clear and
intuitive API. But you are the expert and can decide it better. If you decide to
change API, please discuss it publicly and think about a dependencies (macros,
extensions, ...)  
Comment 5 daniel.rentz 2009-10-14 16:13:44 UTC
new target