Re: [sc-dev] WIKI: Extended description about Excel import/export of spreadsheet functions

2010-12-14 Thread Daniel Rentz

Am 14.12.2010 16:31, schrieb Marina Plakalovic:

Tnx, Daniel.

I needed that one. :)


If there are questions, if you find mistakes, etc... please just write here.


Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] DEV300m84 hangs when saving from Calc

2010-08-09 Thread Daniel Rentz

Hi Regina,

Am 08.08.2010 19:12, schrieb Regina Henschel:


I have build DEV300m84 on WinXP. That works so far, but saving a
spreadsheet document from Calc gives always the Debug Output:

Error: wrong NameAccess
 From File C:/DEV300m84my/xmloff/source/core/SettingsExportHelper.cxx at
Line 406

If I ignore it, the file is saved, but OOo does not react on mouse or
key. I have to kill it with task manager.

Is this a special problem of my build? Is there something to avoid the
problem? It is very annoying when testing my changes.


I'll have a look.

Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Include file error

2010-07-06 Thread Daniel Rentz

rashi dhing schrieb:

This is probably a very basic question but I am getting a compile error
while trying to include the
interpre.hxx  in my module which happens to be located in a new directory
in the sc/source/ui  path.
How can I resolve this ?


There are several existing locations for header files:

sc/inc for usage in entire sc
sc/source/core/inc for headers local to core
sc/source/ui/inc for headers local to ui
sc/source/filter/inc for headers local to filter

Also, headers will be searched in the current directory, so, if you have 
abc.hxx and abc.cxx files in the same directory, and in abc.cxx there is 
code like

  #include abc.hxx
the header file should be found too.

How do you include the header file?


Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] character set is not UTF-8 in analysis_deffuncnames.src

2010-06-17 Thread Daniel Rentz

Regina Henschel schrieb:

Hi all,

I see ANSI character set and not UTF-8 in 
scaddins/source/analysis/analysis_deffuncnames.src.

Is that an error or purpose?


I see. I have no idea how to tell rsc which encoding to use, or if that 
is fixed to ANSI (which would be a bug of course). Will try if german 
umlauts still work.
Anyway, the really best fix would be to generate these string lists from 
the translated resources, so we would have all available languages in 
the lists, not just en and de.



Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Questions about oox/source/xls/formulabase.cxx

2010-06-04 Thread Daniel Rentz

Hi,

Regina Henschel schrieb:


I have now used in analysis_deffuncnames.src an entry:
StringArray ANALYSIS_DEFFUNCNAME_Imcot
{
ItemList =
{
 _xlfnodf.IMCOT; ;
 _xlfnodf.IMCOT; ;
};
};
And for comparison an entry
StringArray ANALYSIS_DEFFUNCNAME_Imcsc
{
ItemList =
{
 IMCSC; ;
 IMCSC; ;
};
};


This are the results, all in setting ODF 1.2 and always saving to xls 
format:


As far as I can see in the binary of the file, the function name is 
stored as _xlfnodf.IMCOT and IMCSC respectively. The order of that 
function names is: addin functions, named references, core functions.


(1) Opening and saving in Excel, then reopening in my build: All 
functions are recognized correctly. It makes no difference using prefix 
_xlfnodf. or not.


Good, I expected that :)

(2) Opening and saving in OOo2.4.3, then reopening in my build: In 
OOo2.4.3 the unknown core functions are marked as #MACRO?, the unknown 
addin functions as #ADDIN? Reopening in my build the core functions are 
recognized, the addin functions are not recognizes and marked as #MACRO? 
Here too, it makes no difference using prefix _xlfnodf. or not.


As the add-in implementation of OOo 2.4.3 does not know about these 
functions, the Excel filter cannot handle them (e.g. it does not get 
them from GetExcelName()).


(3) Opening and saving in Gnumeric, then reopening in my build: All 
functions with prefix _xlfnodf are not recognized, the addin functions 
without prefix are recognized. Reopening in my build all core functions 
are recognized, the addin functions without prefix are recognized, the 
addin functions with prefix are not recognized.


Would be interesting how Gnumeric saves the _xlfnodf functions.

I have introduced the _xlfnodf prefix for Calc-internal functions 
unknown to Excel to prevent name clashes with e.g. Basic macros that 
have the same name. Excel keeps the function names (but cannot work with 
them of course) and writes them out exactly as it has read them, so the 
import filter can convert back the name _xlfnodf.XYZ to the internal 
function XYZ.


I think, in this case you can remove the prefix, because we have add-in 
functions, and not core functions. In the XLS format, the add-in 
functions are written into their own namespace and therefore cannot be 
mixed up with Basic macro calls.




Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Questions about oox/source/xls/formulabase.cxx

2010-06-01 Thread Daniel Rentz

Hi Regina,

Regina Henschel schrieb:

If I use ocExternal the prefix is set, but the functions are not 
distinct, only one name is written and on import the whole function name 
is stripped, so only =(z) remains from =_xlfnodf.IMSECH(z).


I see no way to add the imaginary functions to list saFuncTable_Odf, 
because they have no op-code.


Do I understand you right, that I should try to add the prefix in 
function GetExcelName in /sc/.../addincol.cxx?


Yes, that was the idea, sort of. Sorry, I was not clear enough about 
this. In my eyes, the solution is to not touch the _Odf table, but to 
add the functions into the resource files in scaddins that are used for 
the XCompatibilityNames implementation. This would be in 
scaddins/source/analysis/analysis_deffuncnames.src. These strings are 
returned by the GetExcelName() functions of the addin collection.



Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Questions about oox/source/xls/formulabase.cxx

2010-05-31 Thread Daniel Rentz

Hello,

Regina Henschel schrieb:


Daniel Rentz schrieb:



Right, fix has been integrated into m77
http://qa.openoffice.org/issues/show_bug.cgi?id=79854


Now I have a build based on m78. I made some import/export tests. 
Excel2003 xml is totally broken (issue 94261) and not mentioned below.


Yes, that filter is not in a good state.


== A ==

I have added SEC, CSC, SECH, and CSCH, to saFuncTable_Odf. All four new 
functions have op-codes. Tests look good:


Reloading directly is correct for ods, xls, sdc, and sxc.
Loading and resaving with StarOffice8 (for ods, sdc, and sxc) and 
Excel2010 (for xls) and then loading in my build is correct too.


Good! Did you add them to the sc and oox modules?



== B ==

But I have still questions concerning the new imaginary functions. Those 
functions have no op-code. Need I to add them to saFuncTable_Odf? If 
yes, how can I do it?


Yes, the filters in sc are used for import/export of the XLS format. On 
export, the current behaviour is:
If the function is an add-in function, the XCompatibilityNames interface 
is used to retrieve its name used in the XLS file format (see in file 
sc/source/filter/excel/xeformula.cxx, in function 
XclExpFmlaCompImpl::AppendAddInCallToken(), call to GetExcelName()). So 
I would suggest that this interface returns the _xlfnodf.XYZ function 
names, to not get any name clashes with existing functions in Excel. The 
import filter will try to convert these function names back to add-in 
functions, again with the mentioned interface. But I do not know if this 
will work out of the box. In file sc/source/filter/excel/xiroot.cxx, 
there is a function XclImpRoot::GetScAddInName() that calls 
GetCalcName() if you want to debug it.



I tried to add them to saFuncTableOdf in oox/source/xls/formulabase.cxx, 
but does not know, which values to use for eighth and ninth parameter. I 
have tried all combination of {RR},{VR} and FUNCFLAG_EXTERNAL, 
FUNCFLAG_MACROCALLODF. But it has no effect on my test results.


Currently, the filters in the oox modules are only used to import XLSX 
and XLSB file format. As we cannot export to these formats, the new 
functions should not appear in these files. (It is planned to move the 
old filters from sc to oox, but this is not finished yet.) So, it is 
more important to add them to the sc filters.


To answer the question:
- 8th parameter: The token class codes RR, VR, etc. are important for 
the function parameters, to let Excel distinguish reference, array, and 
value parameters. They do not affect how the function itself is handled. 
If you have regular value parameters, the code VR is sufficient in 
most cases.
- 9th parameter: Special flags. Are used to trigger some special 
behaviour in the filters. All functions unknown by Excel should get the 
FUNCFLAG_MACROCALLODF flag. This will cause the import filter to convert 
the function _xlfnodf.FUNCNAME to FUNCNAME.




The test results are:

== B1 Directly reloading ==
Correct with general setting 'ODF 1.0' in ods, sdc, sxc, and xls
Correct with general setting 'ODF 1.2 extended' in ods, sdc, and xls. It 
fails for sxc (issue 95312).


== B2 Opening and resaving in StarOffice8 and Excel2010, reloading in my 
build ==

Correct with general setting 'ODF 1.0' in xls, sdc, and sxc.
Correct with general setting 'ODF 1.2 extended' in xls and sdc.

In the cases
 'ODF 1.0' with ods and
 'ODF 1.2 extended' with sxc and ods,
the new functions are reloaded with #NAME?, but the cells contain the 
formulas like '=imsech(z)'.
In contrast to issue 95312 the old imaginary functions are handled 
correctly in this round trip through StarOffice8 and Excel2010 
respectively.


Cannot say about the ODF filter, Eike should know better.



Do I miss something, or is that a general error with 'new' addin-functions?

Please have a look at issue 101386. Is it the same problem?


Again, something for Eike.



Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Questions about oox/source/xls/formulabase.cxx

2010-05-17 Thread Daniel Rentz

Regina Henschel schrieb:

Hi Daniel,

Daniel Rentz schrieb:



Same for the equivalent table saFuncTable_Odf in
sc/source/filter/excel/xlformula.cxx.


It seems, that I have to wait till m78, because m76 does not contain 
saFuncTable_Odf and m77 does not build for me.


Right, fix has been integrated into m77
http://qa.openoffice.org/issues/show_bug.cgi?id=79854


Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Debug the Calc Source Code

2010-04-13 Thread Daniel Rentz

rashi dhing schrieb:

  I started building the sc module with debug=true but now I am getting the
following error:

 ../wntmsci12.pro/bin/scuimi.dll : fatal error LNK1169 : one or more
multiply defined symbols found.
dmake: Error code 2, while making ' ../wntmsci12.pro/bin/scuimi.dll

I came across a similar issue from the mail archives:
http://www.mail-archive.com/d...@openoffice.org/msg12074.html


That is exactly the issue that Niklas has mentioned in his previous 
posting. It does not work do compile the entire sc with debug.


quote
In fact, until CWS dr73 is integrated, building the complete sc module 
with debug info will fail, see issue 100534.

/quote

Until this fix will be integrated (one of the next milestones), please 
do the following:


1) Compile the sc module without debug.

cd sc
build killobj
build

2) Build the files you are interested in with debug.

touch source/ui//cxx
build debug=t

3) Do not forget to copy the new DLLs into your OOo installation.


Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Functions in Excel 2010

2010-04-08 Thread Daniel Rentz

Regina Henschel schrieb:


I have started a new Wiki page

http://wiki.services.openoffice.org/wiki/Calc/Drafts/Treatment_of_new_Excel_2010_functions 


Note that the functions are not renamed (as one may read on th Wiki), 
but that the old functions with the old names still exist.



Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] 65,000 lines on calc

2010-03-24 Thread Daniel Rentz

Alexandro Colorado schrieb:

when did OOo Calc (what version #) get past the 65,000 limit on spreadsheets?


It was the 32,000 row limit (now there are 65,536 rows available), and 
the feature announcement was in May 2004:

http://sc.openoffice.org/servlets/ReadMsg?list=featuresmsgNo=157
(hmm, the mail is HTML...)
So this has been gone into OOo 2.0, released in October 2005.

Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Missing second parameter in CEILING

2009-08-12 Thread Daniel Rentz

Regina Henschel schrieb:

Hi Daniel,

I do not answer directly, because it seems that I described my concern 
not good enough. Next try:


== Import ==

Importing an Excel-file with =CEILING(-3.4;) for example gives the 
cellcontent =CEILING(-3.4;;1), because in the current import filter the 
third parameter 1 is added to get Excels rounding away from zero 
behavior. This will be a valid formula in ODF1.2 and calculated as 
CEILING(-3.4;-1;1)= -4. But the formula =CEILING(-3.4;) gives the result 
0 in Excel. Therefore I think, that it would be better, to import the 
formula as =CEILING(-3.4;0;1) which gives 0 in OOo too according to spec 
ODF1.2.


The other problematic import case is Excels formula =CEILING(;value). In 
this case it becomes =CEILING(;value;1), which is an invalid formula in 
ODF1.2. Here too the result in Excel is 0, and an import as 
=CEILING(0;value;1) would give the same result as in Excel.


This is true for the Excel formats xls, xlsx and xlsb. The import filter 
for xml does not alter the Excel formulas and so the formulas in the 
cells are invalid according to ODF1.2. But it could be solved the same 
way with =CEILING(0;value;1) and =CEILING(value;0;1) respectively.


Change the import filter?


Understood and agreed. This can be added in the import filters.
I think it should be then:
- If 1st param empty, replace with 0
- If 2nd param empty, replace with 0
- Add 3rd default param



== Export ==

When the formula in OOo is =CEILING(3.4;;Mode) it is exported to 
=CEILING(3.4;) which results in 0 in Excel. But in OOo the formula 
results in 4. If the formula is exported as =CEILING(3.4;1) it would 
give the correct result in EXCEL.
But for =CEILING(-3.4;;0) in OOo, which results in -3, the current 
export is =CEILING(-3.4;) which result in 0 in Excel which is wrong, but 
the export to =CEILING(-3.4;1) gives an invalid formula and 
=CEILING(-3.4;-1) would result in -4 in Excel, which is wrong too.


When the formula in OOo is =CEILING(3.4) it is calculated as 
CEILING(3.4;1;0)=4. An export as =CEILING(3.4;1) would give correct 
values in Excel.
But =CEILING(-3.4) is calculated as CEILING(-3.4;-1;0)=-3 and 
CEILING(-3.4;1) is invalid again and CEILING(-3.4;-1) result in -4 in 
Excel, which is wrong.


I see no way to make a general export, that gives the same value in 
Excel as in OOo by simply setting or dropping parameters. So what to do 
in export?


Hmm, I see. So the second parameter has to be set according to the 
current value of the first. No idea how to fix this easily...



Daniel


-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Missing second parameter in CEILING

2009-08-06 Thread Daniel Rentz


Moin,

Regina Henschel schrieb:

Ah, IsMissing() is new to me. I can now set the missing second parameter 
to +1 or -1 depending on N. That works at least for CEILING on which I'm 
currently working.


But Excel Import and Export is confusing.
(1) Import:
In cases CEILING(value;) and CEILING(;value) the result in Excel2007 is 
always 0.

On import of CEILING(value;) OOo does this:
.xlsturn to CEILING(value;;1) and show cell content 0.
.xlsxturn to CEILING(value;;1) too, but show cell content Err:511
.xmlturn to CEILING(value;) and show cell content Err:511


Well that indicates that the formula parser in Calc does not handle the 
missing parameter correctly and does not create the svMissing formula 
token. The binary filter (.xls format) inserts that token for its own. 
You may also try the Excel 2007 .xlsb format, that should work too (it 
does build the token array for its own too).




On import of CEILING(;value) OOo does this:
.xlsturn to CEILING(;value;1) and show cell content 0.
.xlsxturn to CEILING(;value;1) too, but show cell content Err:511
.xmlturn to CEILING(;value) and show cell content Err:511


The same I think. XML based filters (.ods, .xlsx) use the internal 
formula parser that forgets to insert the svMissing token. I could fix 
that for the .xlsx format when postprocessing the formula, but that 
would not be of any help for the .ods import.



The errors are shown left as if they are text. The cell content is only 
recalculated, if you edit the cell, but that is another issue.


Because Excel returns 0 in this cases, I think an import to 
CEILING(value;0) and CEILING(0;value) would be a better solution. 
Although I not yet know how to do it.


(2) Export:
Currently OOo drops the third parameter. So the value differs from Excel 
in the cases of (N0 and Mode=0).


When now the second parameter it optional too, how should it be 
exported? Using +1 gives the same result as in OOo for all cases but 
(N0 and Mode=0). So I would prefer that.


Gnumeric goes a total different way. It generates a new expression to 
simulate the behavior with it's two parameter version of CEILING. You 
can see it, when you open an ods-file in Gnumeric. For example 
CEILING(A2;B2;C2) becomes 
=if(0=C2;if(A20;floor(A2;B2);ceiling(A2;B2));ceiling(A2;B2))



What is the desired behavior on import from Excel and export to Excel?


In my eyes, binary filters work as expected, and XML based filters need 
to be adjusted.



Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Re: MS Excel file encryption feature contribution to OO.o

2009-04-07 Thread Daniel Rentz

Hello,

Kohei Yoshida schrieb:


Great!  BTW, the new security framework would probably affect the
password input UI part, but should not affect anything else IMO.


Btw, I am interested in the pw input UI stuff to add it to the ooxml 
filter. Do you have a pointer for me?


Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] The Excel import/export part of i35579.

2009-03-23 Thread Daniel Rentz
maoyg schrieb:
 Hi,Daniel
 I am working the issue 35579 with lvyue, and now I come to the Excel 
 import/export part.
 the Excel has some options,I have added some change,for example, excdefs.hxx 
 added comparison operands,
 the XclImpAutoFilterData::ReadAutoFilter() method in excimp8.cxx added some 
 codes, 
 lcl_GetOperator() method in excrecds.cxx, XclExpAutofilter::AddEntry() method 
 in excrecds.cxx,
 when the calc saved test.xls, this option still can't be saved, but I don't 
 know much about that, 
 can you give me more details? :)
 thanks!

Hello,

I am not familiar with your changes (and IssueZilla seems to lag
currently), which settings did you add to the AutoFilter in Calc?


Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] How to export expanded LOGNORMDIST to Excel

2009-03-18 Thread Daniel Rentz

Eike Rathke schrieb:

Hi Regina,

On Tuesday, 2009-03-17 18:04:12 +0100, Regina Henschel wrote:


But export to Microsoft Excel 2003 XML (.xml) is problematic.
If OOo is set to save in odf1.2, the file opens with errors in Excel.  
All formulae are stripped. The error log says for example

GRUND: Ungültiger Wert
WERT:   of:=LOGNORMDIST(0.6;[.B12];[.B11])
I think, there should not be this kind of WERT, because that form was  
unkown 2003.


That's http://qa.openoffice.org/issues/show_bug.cgi?id=96018


We should consider to drop that filter completely...


Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] How to export expanded LOGNORMDIST to Excel

2009-03-18 Thread Daniel Rentz

Regina Henschel schrieb:

Hi Eike, hi Daniel,

Regina Henschel schrieb:


No more questions for now, I'll continue my tests. Thanks for your help.


Now all works as it should and I'm going to create patches. And have got 
the next problem.


For the file token.cxx in formula/source/core/api I get an odd patch. 
The patch includes the function 
FormulaMissingContext::AddMissingExternal( FormulaTokenArray *pNewArr ) 
although there is nothing changed. (starting around line 1007)


As far as I see, there are DOS line ends in that part. My editor PSPad 
autodetects DOS mode for this file. Having only UNIX line ends, it 
autodetects UNIX correctly.


What to do? Remove the lines from the patch? Or use the patch as it is 
generated?


I suggest to remove these lines from the patch. As far as I know the 
wrong DOS line ends have been replaced in another CWS already. Note that 
all files should contain Unix lineends only, so if possible please 
configure your editor to always use them (and not to auto-detect DOS).



Daniel


-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] How to export expanded LOGNORMDIST to Excel

2009-03-16 Thread Daniel Rentz

Regina Henschel schrieb:

Hi Daniel,

That works. When exporting to xls, I get the correct function structure, 
if there are one, two or three parameters in OOo. If there are four 
parameters in OOo, I get a =#NV entry in German Excel 2007. I think, the 
error message is correct, because the user has to know, that there has 
been something, which is unknown to Excel.


It is a concession that the missing parameters are added, although the 
user who will export to Excel-format should know, that Excel expects 
three parameters. Shouldn't we do the same for saving in old OOo 
formats, especially, when OOo3.0 is set in general to use ODF1.0-format? 
If you agree, that in cases saving to old OOo-formats the missing second 
and third parameters should be added, where is the place to do it?


I don't know the code that exports to ODF, Eike should know more.


To delete the 4th parameter, you can change the function info of this 
function. Go to xlformula.cxx and look for ocLogNormDist, change the 

...


I have done first the changes in formulabase.cxx. That gives no error, 
but I see no effect, so I cannot say if it really works. Then I changed 
xlformula.cxx. That works, now the entry in the xls-file has three 
parameters in all cases.


Yes, formulabase.cxx is currently used for import from XLSX/XLSB format 
only, not export, so that does not have any effect on the XLS export 
filter. It is just a good idea to change both files equally to be 
prepared for the future where formulabase.cxx might be used for 
import/export of the XLS format too. The oox code module already 
contains a nearly complete XLS import filter that is intended to replace 
the old filter code from the sc module sometimes.



I have rethought the problem. It seems no good idea to strip the fourth 
parameter. If it is stripped, there are no errors in Excel, but the 
cells might have different values than OOo, because in OOo you calculate 
the density function and in Excel the cumulative function is calculated. 
The user cannot notice, that the values are wrong, because there are no 
warnings. That is not good and we should not do it. There is no way to 
determine whether the forth parameter is true or false, because it might 
be no constant but a reference.


The same problem is, when saving to old OOo-formats. Using four 
parameters should give an error, when opening in old versions.


Of course this is something that has to be decided before. There are 
functions where stripping a parameter unknown to Excel is desired, 
otherwise this might be not a good idea for other functions. Currently, 
the only way to warn the user is to write #NA instead of the (wrong) 
function argument list, so this is a valid option.


Again, Eike, what do you think?


Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] How to export expanded LOGNORMDIST to Excel

2009-03-12 Thread Daniel Rentz

Hi again,

Daniel Rentz schrieb:

To delete the 4th parameter, you can change the function info of this 
function. Go to xlformula.cxx and look for ocLogNormDist, change the 
line from


{ ocLogNormDist,290,3,  3,  V, { V }, 0, 0 },

to

{ ocLogNormDist,290,3,  3,  V, { V, V, V, C, I }, 0, 0 },


The C means that the 4th parameter is Calc-only and will be stripped 
on export. The trailing I is needed for some internal resons.


Note that I am not sure that this works out of the box (adding and 
deleting parameters for the same function), if not, we have to look a 
bit deeper. Please change the function info in the oox module too, this 
code might be used in the near/far future to export functions:
oox/source/xls/formulabase.cxx, look for LOGNORMDIST (line 498 here). 
Nowadays, that table is used for XLSX/XLSB import only, so no other 
changes are needed.



Regards
Daniel

-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Re: [allsvn] r265030 - cws/ooxml02/offapi/com/sun/star/sheet

2008-12-10 Thread Daniel Rentz

Kohei Yoshida schrieb:

Hi Eike,

On Tue, 2008-12-09 at 20:41 +0100, Eike Rathke wrote:

If there isn't any,
wouldn't it be natural to share the filter's name mapping with VBA?


Absolutely, and that's what I envisioned too.

What we seem to disagree is where to keep the shared filter name mapping
instance.  For me, it seemed natural to keep it with ScCompiler, the
same way we keep the various address convention code within that class,
and have it shared by xls import/export filters and VBA parser.

But you prefer the opcode mapping outside the core, in oox.  That would
work fine for the filters (once the export filter moves to oox).  But
once VBA gets into the mix, it becomes a little ugly since the VBA code
is still in sc.


It may not be enough to add a mapping in the sc core. In oox there is 
some postprocessing code executed for each formula which takes care of 
e.g. missing/unsupported function parameters, add-in/external function 
handling etc. Would it be an option that the oox module offers the xl 
formula parser as a special UNO service that implements the 
com.sun.star.sheet.XFormulaParser interface? So it would be possible for 
any module to instanciate and use such a parser.



Let's say we agree to keep the opcode mapping outside the core (after
all, it's already done).  But the problem, at least in the short-term,
is to 


1) refactor VBA to use the FormulaParser API instead of using ScCompiler
directly (like it does now).

2) move the xls opcode mapping out of oox to a place where it can be
accessed both from oox and sc.


I want to keep all filter related stuff in one module, so I think my 
idea using a service may be a bit better ;-)



Daniel


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] module dep fix code shrink ...

2008-11-27 Thread Daniel Rentz

Hi,

Michael Meeks schrieb:


I just committed a chunk of code to the ooxml02 CWS. This extends the
visibility markup to the classes we use during import and export: which
turned out to be fewer symbols than I had feared (10k vs. 9k symbols),
and splits out all of the calc filters (except for xml) into a separate
library: 'scfilt' which is demand loaded via an abstract interface.


Looks much better, thanks.


In addition - I noticed  fixed a number of problem
symbols. The CWS tune03 seems (some time ago) to have publicly exposed a
number of things without Sc prefixing that could be problematic in
future: eg. 'Collection' 'StrCollection'.  I added an Sc prefix to:
ColToAlpha, Collection, SortedCollection, StrCollection,
TypedStrCollection, AutoFmtPreview, DataObject and SingleRefData -
hopefully that will avoid symbol clash problems in future.


for consistency with SingleRefData, you may also change ComplexRefData.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[sc-dev] CWS ooxml02: some comments

2008-11-27 Thread Daniel Rentz

Hello all

some thoughts and questions about CWS ooxml02:

1) I noticed that you changed filter names and file type names in the 
configuration (module filter). This is not a good idea as these names 
can be considered public API. These strings may be used in macros and 
other programs to use a specific filter for loading/saving a file. So, 
changing the names may break existing macros, even if the new names may 
look more consistent. I decided to start a new naming scheme for the 
OOXML filters after some chat with other collegues, so there is a 
meaning behind the new names. The leading application name before the 
filter name (e.g. Calc MS Excel 2007 XML) denotes that the filter is 
part of the application Calc, while the missing application name before 
the file type name (e.g. MS Excel 2007 XML) denotes something existing 
outside OOo, namely the XML file format invented by MS. I would like to 
change all old filter/type names but cannot do this for the same reason 
as above...


2) What is the new STREAM_FOR_OUTPUT for, that is added besides the 
OUTPUT_STREAM in the media descriptor? Additionally all XOutputStream's 
in oox/core have been changed to XStream.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] *.xls import: formula =Cell(Zeile) is broken

2008-11-26 Thread Daniel Rentz

Oliver Brinzing schrieb:

Hi,

just recieved an excel file with a formula like this:

=DATUM($G$1;MONAT(A$3);((ZELLE(ZEILE;A4))-3))

OO displays Err:502, cause the argument Zeile should be row ...

is it possible to fix the import or localize the arguments ?


Instead of using ZELLE(ZEILE;A4) one could use ZEILE(A4). That works 
in Calc and Excel.


There will always be problems with these dumb localized arguments and 
other stuff (e.g. add-in function names) in Excel. An English Excel does 
not understand the German function names as well and shows an error, 
while all localized Excel versions understand the English names. It has 
been decided that OOo only supports the English names. Of course one 
could think about extending this, but that would be a lot of effort for 
low benefit...



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] The Excel import/export part of EUROCONVERT().

2008-11-25 Thread Daniel Rentz

Daniel Rentz schrieb:

lvyue schrieb:

Hi Daniel,

I made the changes you suggested, but it doesn't work.
it is still =NA()

I'm tracing the code, but I didn't get any clue yet.

If you have findings, please tell me, thank you.


Try to find where compiling the formula breaks. The N/A error is an 
indicator for an error while creating the formula. Then the result is 
dropped, and the N/A error is written instead, to prevent broken 
formulas that would confuse (and may crash) Excel. To correctly create 
the formula, the following places have to be reached. The member mbOk 
tracks the validity of the created formula. It has to remain true all 
the time. otherwise there is an error somewhere.


** XclExpFmlaCompImpl::CreateFormula
The entry point.

** XclExpFmlaCompImpl::Expression
Starts compiling the entire expression.

** XclExpFmlaCompImpl::ProcessFunction
Processes the ocEuroConvert token. The call to 
maFuncProv.GetFuncInfoFromOpCode( eOpCode ) should return the function 
info for the EUROCONVERT function, check pFuncInfo.

A few lines below, the code
if( pFuncInfo-IsMacroFunc() )
aExtFuncData.Set( pFuncInfo-GetMacroFuncName(), false, true );
should be executed and should write the function name EUROCONVERT into 
 the aExtFuncData struct.   


** XclExpFmlaCompImpl::ProcessParam
Starts processing the first parameter of the EUROCONVERT function. Here, 
the filter should find that extra processing is needed for EUROCONVERT 
(due to the EXC_FUNC_PAR_EXCELONLY flag) and should call...


** XclExpFmlaCompImpl::AppendDefaultParam
Should call your new AppendEuroToolToken() which should execute 
without error (mbOk should be true afterwards). Check that the 
\001\010EUTOTOOL.XLA link is created correctly (it should because it 
already exists in the test file you sent me) :-)


Forgot one:

** XclExpFmlaCompImpl::FinishFunction
check that the parameter count is handled correctly. nParamCount 
should contain the value 4, if the EUROCONVERT function has 3 
parameters. nXclFuncIdx should contain 255. The else part with the 
comment variable number of parameters should be executed.



** XclExpFmlaCompImpl::FinalizeFormula
Creates the N/A on any error (if mbOk is false).


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Sun Microsystems GmbH
Nagelsweg 55
20097 Hamburg
Germany
Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] The Excel import/export part of EUROCONVERT().

2008-11-25 Thread Daniel Rentz

lvyue schrieb:

Hi Daniel,

I made the changes you suggested, but it doesn't work.
it is still =NA()

I'm tracing the code, but I didn't get any clue yet.

If you have findings, please tell me, thank you.


Try to find where compiling the formula breaks. The N/A error is an 
indicator for an error while creating the formula. Then the result is 
dropped, and the N/A error is written instead, to prevent broken 
formulas that would confuse (and may crash) Excel. To correctly create 
the formula, the following places have to be reached. The member mbOk 
tracks the validity of the created formula. It has to remain true all 
the time. otherwise there is an error somewhere.


** XclExpFmlaCompImpl::CreateFormula
The entry point.

** XclExpFmlaCompImpl::Expression
Starts compiling the entire expression.

** XclExpFmlaCompImpl::ProcessFunction
Processes the ocEuroConvert token. The call to 
maFuncProv.GetFuncInfoFromOpCode( eOpCode ) should return the function 
info for the EUROCONVERT function, check pFuncInfo.

A few lines below, the code
if( pFuncInfo-IsMacroFunc() )
aExtFuncData.Set( pFuncInfo-GetMacroFuncName(), false, true );
should be executed and should write the function name EUROCONVERT into 
 the aExtFuncData struct.	


** XclExpFmlaCompImpl::ProcessParam
Starts processing the first parameter of the EUROCONVERT function. Here, 
the filter should find that extra processing is needed for EUROCONVERT 
(due to the EXC_FUNC_PAR_EXCELONLY flag) and should call...


** XclExpFmlaCompImpl::AppendDefaultParam
Should call your new AppendEuroToolToken() which should execute 
without error (mbOk should be true afterwards). Check that the 
\001\010EUTOTOOL.XLA link is created correctly (it should because it 
already exists in the test file you sent me) :-)


** XclExpFmlaCompImpl::FinalizeFormula
Creates the N/A on any error (if mbOk is false).


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[sc-dev] Application modules become dependent from module oox?

2008-11-21 Thread Daniel Rentz

Hello,

with some surprise I have seen hundrets of check ins in the CWS ooxml02 
with the goal to implement OOXML export filters. For Calc this seems to 
be done by extending the binary BIFF export filter. As it looks this 
makes it necessary to export headers from and linking against oox thus 
making the sc module dependent from oox. I wonder if this design 
decision with such an impact has been discussed somewhere before. The 
oox module has been started to be independent from most modules to make 
the entire office a bit more modular. Remember all the rants from users 
and developers about the monolithic office we currently have.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Application modules become dependent from module oox?

2008-11-21 Thread Daniel Rentz

Jonathan Pryor schrieb:

On Fri, 2008-11-21 at 11:57 +0100, Daniel Rentz wrote:
with some surprise I have seen hundrets of check ins in the CWS ooxml02 
with the goal to implement OOXML export filters. For Calc this seems to 
be done by extending the binary BIFF export filter. As it looks this 
makes it necessary to export headers from and linking against oox thus 
making the sc module dependent from oox. I wonder if this design 
decision with such an impact has been discussed somewhere before.


It wasn't actually discussed at all, and no thought went into it; it was
the easiest thing to do.


The oox module has been started to be independent from most modules to
make the entire office a bit more modular.


Understood.

So, what's the solution to this?  In particular, a reasonably fast
solution as I'd like to get this merged for OpenOffice.org 3.1. :-)

I see the following solutions:

1. Leave the dependency, merge ooxml02 for 3.1, and work to remove it 
   for 3.2+.


2. Split out oox's XmlFilterBase  dependent types into a helper library
   (or perhaps use comphelper?), and depend on this helper library from
   both sc  oox.

3. Implement BIFF/OOXML export within oox.

(1) is obviously the easiest, requiring no immediate work, and the work
to remove it for 3.2+ could be (2) or (3).

I'm not sure how feasible (2) actually is -- it looks doable, but I'm
not sure what hidden issues will show up, nor what library it would be
appropriate to move FilterBase, XmlFilterBase, ZipStorage, etc. into.
Cursory discussions suggest that comphelper may be a good destination,
as sc already indirectly depends upon comphelper, so it's not really
adding anything that wasn't there before.


I don't like (2). I think best thing is to do (1), and think about (3) 
for 3.x as you suggested.



(3) isn't really viable, not short term, though I understand that the
long term plan is to obsolete sc/source/filter/excel in favor of using
oox for saving .xls files.


Ok. So, as it is now means there is less potential for source code 
conflicts while working on import (me) and export (you) :-)




Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Application modules become dependent from module oox?

2008-11-21 Thread Daniel Rentz

Daniel Rentz schrieb:

Jonathan Pryor schrieb:

On Fri, 2008-11-21 at 11:57 +0100, Daniel Rentz wrote:
with some surprise I have seen hundrets of check ins in the CWS 
ooxml02 with the goal to implement OOXML export filters. For Calc 
this seems to be done by extending the binary BIFF export filter. As 
it looks this makes it necessary to export headers from and linking 
against oox thus making the sc module dependent from oox. I wonder if 
this design decision with such an impact has been discussed somewhere 
before.


It wasn't actually discussed at all, and no thought went into it; it was
the easiest thing to do.


The oox module has been started to be independent from most modules to
make the entire office a bit more modular.


Understood.

So, what's the solution to this?  In particular, a reasonably fast
solution as I'd like to get this merged for OpenOffice.org 3.1. :-)

I see the following solutions:

1. Leave the dependency, merge ooxml02 for 3.1, and work to remove it 
   for 3.2+.


2. Split out oox's XmlFilterBase  dependent types into a helper library
   (or perhaps use comphelper?), and depend on this helper library from
   both sc  oox.

3. Implement BIFF/OOXML export within oox.

(1) is obviously the easiest, requiring no immediate work, and the work
to remove it for 3.2+ could be (2) or (3).

I'm not sure how feasible (2) actually is -- it looks doable, but I'm
not sure what hidden issues will show up, nor what library it would be
appropriate to move FilterBase, XmlFilterBase, ZipStorage, etc. into.
Cursory discussions suggest that comphelper may be a good destination,
as sc already indirectly depends upon comphelper, so it's not really
adding anything that wasn't there before.


I don't like (2). I think best thing is to do (1), and think about (3) 
for 3.x as you suggested.


... reading this ... should have written a reason for disliking (2) :-)
As you said, separating the base code from filter code may raise hidden 
issues and would make everything more complicated (working/building in 2 
or more modules etc)... And I think this filter stuff is a little bit 
too special for comphelper.



Daniel


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] The Excel import/export part of EUROCONVERT().

2008-10-21 Thread Daniel Rentz

Daniel Rentz schrieb:

case T_Ext:
{
UINT16 n = pElement[ nId ];
EXTCONT* p = ( n  nP_Ext )? ppP_Ext[ n ] : NULL;

if( p )
+   {
+   if( p-eId == ocExternal )


Oh no, there is a typo, it has to be:

+   if( p-eId == ocEuroConvert )

of course





Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] The Excel import/export part of EUROCONVERT().

2008-10-17 Thread Daniel Rentz
Lvyue schrieb:
 Hi, Daniel 
 I have add what you advised in sc/source/filter,
 a new book type in xllink.hxx,
 in xilink.cxx, XclImpSupbook::XclImpSupbook(), 
 a new type in enum XclImpExtNameType (and set it in 
 XclImpExtName::XclImpExtName() ),
 and I also add a case for the new xlExt*** type.
 
 now, when imported, the formula EUROCONVERT can be caculated, but the name 
 shown in is wrong,
 it appears as EUROCONVERTEUROCONVERT(..).

If the formula calculates correctly, that means, the formula structure
created by the filter is correct (there is only one ocEuroConvert
token). Maybe the resource containing the function name is wrong. Could
you attach a diff of your changes? That would help to judge what is
going wrong.

 
 I'm confused, I wonder you can tell me what I'm missing. :(


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About the ExternalDocLinks API in CWS mooxlsc

2008-09-03 Thread Daniel Rentz

Hello Kohei

looking at XExternalSheetCache::[sg]etCellValue(), I suggest to swap the 
parameters nRow and nColumn, because cell addresses are passed around in 
the entire sc module that way, and it is the member order in 
com::sun::star::table::CellAddress.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About the ExternalDocLinks API in CWS mooxlsc

2008-09-03 Thread Daniel Rentz

Daniel Rentz schrieb:

Hello Kohei

looking at XExternalSheetCache::[sg]etCellValue(), I suggest to swap the 
parameters nRow and nColumn, because cell addresses are passed around in 
the entire sc module that way, and it is the member order in 
com::sun::star::table::CellAddress.


... see also com::sun::star::sheet::XCellRangeAccess::getCellByPosition()
;)


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About the ExternalDocLinks API in CWS mooxlsc

2008-09-03 Thread Daniel Rentz

Hi Kohei,

some more thoughts... :-)

Do we really need the SheetName string member in the 
ExternalReference struct? How about transporting the index of the 
cache in the Sheet member of the SingleReference/ComplexReference? The 
index should be available as attribute in XExternalSheetCache similar to 
the TokenIndex attribute in XExternalDocLink. This would allow to use 
external multi-sheet ranges, because the ComplexReference will contain 
two cache indexes.


The only thing we will lose is the possibility to encode sheet-local 
external names. But as we do not support internal sheet-local names yet, 
we have to think about a (consistent) solution for both cases in the future.


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[sc-dev] About the ExternalDocLinks API in CWS mooxlsc

2008-08-29 Thread Daniel Rentz

Hi Kohei


some thoughts about the new ExternalDocLinks API in CWS mooxlsc...

First, there is no documentation in the IDL files, please consider to 
add some ;-)


I think, a cleaner way to implement the service ExternalDocLinks is to 
make it a container, i.e. to support the interfaces XNameAccess, 
XIndexAccess, and XEnumerationAccess, similar to e.g. the DDELinks 
service. The interface XExternalDocLinks would add the new method 
addDocLink() that looks for an existing link or creates a new one, and 
returns the index. The XNameAccess uses the URLs as names.


The elements of the container could implement the new service 
ExternalDocLink which is a container too. Elements are the 
ExternalSheetCache objects, names of the elements are the sheet names in 
the external document. A new interface XExternalDocLink adds the method 
addSheetCache() that looks for an existing cache similar to above.


To do: do we need API to remove something from the cache, or an entire 
cache, or even an entire external linked document?


Yes I know, that would be a little bit more work, but would make the new 
API more consistent to the existing Calc API. :-)



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About the ExternalDocLinks API in CWS mooxlsc

2008-08-29 Thread Daniel Rentz

Kohei Yoshida schrieb:

Hey Daniel,

On Fri, 2008-08-29 at 09:29 +0200, Daniel Rentz wrote:

Hi Kohei


some thoughts about the new ExternalDocLinks API in CWS mooxlsc...

First, there is no documentation in the IDL files, please consider to 
add some ;-)


Well, real men use code as the documentation. ;-)


Yes, I know ;-)


The elements of the container could implement the new service 
ExternalDocLink which is a container too. Elements are the 
ExternalSheetCache objects, names of the elements are the sheet names in 
the external document. A new interface XExternalDocLink adds the method 
addSheetCache() that looks for an existing cache similar to above.


That was in fact pretty much my first version, then I realized that it
was not consistent with the internal API from ScExternalRefManager, so I
simplified it by removing the container class.

But I can add it back for consistency's sake with the DDELink API.  It
just will be mostly a glue code though since internally there is no doc
link container for each linked document.


Yes, would be nice to have it. As you said, not so difficult to 
implement, as only container read-access is provided. And gives more 
freedom to use it externally.



To do: do we need API to remove something from the cache, or an entire 
cache, or even an entire external linked document?


I think we do, eventually.  I would like to eventually export much of
ScExternalRefManager's functionality via API so that we could use it for
export filters as well as automation.  But I'm still on my first
version, so not all of its functionality is made available yet.


Ok, I wrote all that came into my mind :)


Yes I know, that would be a little bit more work, but would make the new 
API more consistent to the existing Calc API. :-)


Well, I'm all for API's consistency.  But keep in mind that I'm not
through with my API yet.  I checked it in so that we can start our
discussion on API design (like this one). :-)


I saw that Juergen Schmidt asked something too, on the [EMAIL PROTECTED] list.


Looking forward to have this feature, thanks for your work :-)


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About the ExternalDocLinks API in CWS mooxlsc

2008-08-29 Thread Daniel Rentz

Kohei Yoshida schrieb:

On Fri, 2008-08-29 at 09:29 +0200, Daniel Rentz wrote:

To do: do we need API to remove something from the cache, or an entire
cache, or even an entire external linked document?


I don't think it makes sense to add API to remove individual cell cache
from a table, since I can't think of a use case for it.  So,  I think it
would make sense just to add API to remove entire cache per linked
document, and/or remove all caches for all linked documents.


Agreed, that would be enough.


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Calc Autoformatting Error

2008-08-12 Thread Daniel Rentz

Leonard Mada schrieb:

Hi Daniel,

Thank you. Indeed, this did it.

[I must say I did search up and down through the Options Dialog for a 
suitable option at no success.]


Though I still miss an UNDO option in the context menu.


I don't miss it, for me ALT+BS is much faster ;-)


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Calc Autoformatting Error

2008-08-11 Thread Daniel Rentz

Leonard Mada schrieb:

Hello everyone,

I try to enter in a Calc cell:
Diabetes mellitus Typ IIb

but the last part gets converted automatically to Typ Iib. How do I 
undo this?


This is obvious a serious bug. Why does Calc autoformat something it is 
NOT supposed to do?


try to uncheck
Tools - AutoCorrection - Options - Two capitals


Regards
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Multiline formulae support

2008-08-08 Thread Daniel Rentz

Hi,

Eike Rathke schrieb:

Some potential issues:
- Compatibility with Excel possibly needs discussing. We've not been  
compatible with Excel in the past and this patch does not make it 100%  
compatible, rather it improves compatibility, and improves further where  
Excel gets it wrong IMHO.


I really don't have any problem with Calc being superior to Excel at
some places ;-)  But being different here may result in documents being
displayed with different row heights when imported, something that
sometimes makes users act strangely..


As Excel does not support multiline formula results, chances are low 
that there are many Excel documents really using '\n' in formula results.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Issue for #VALUE! on Excel import ?

2008-08-07 Thread Daniel Rentz

Cor Nouws schrieb:

Hi Eike,


Solution would be to always generate an error in such case.


You mean an error if an formula holds an non numeric argument. This is 
the same as Excel does, 'only' with this difference that Excel in some 
formulas uses text that can be interpreted as number, and in other also 
simply neglects it. Which - with my limited knowledge - looks as a sort 
of a mess. And I have the impression that it differs over various 
versions of Excel as well.

 Anyone with basic or comprehensive data on the way different
versions of Excel handles text in different formula's??
Would be much appreciated! (reason further below)
So the Excel way is not something I propose.


I have a few Excel versions lying around here, and cannot find any 
differences.


Tested Excel versions:
- Excel 3.0a German UI
- Excel 4.0 German UI
- Excel 5.0 German UI
- Excel 2003 German UI
- Excel 2003 English UI
- Excel 2007 English UI

I have made the following test:

A1: 1.5
A2: '1.5
A3: '1.500
A4: '1,500
A5: text

A6: =A1+A2+A3+A4
A7: =SUM(A1,A2,A3,A4)
A8: =SUM(A1:A4)
A9: =1.5+1.5+1.500+1,500
A10: =SUM(1.5,1.5,1.500,1,500)

A11: =A1+A2+A3+A4+A5
A12: =SUM(A1,A2,A3,A4,A5)
A13: =SUM(A1:A5)
A14: =1.5+1.5+1.500+1,500+text
A15: =SUM(1.5,1.5,1.500,1,500,text)

Using locale en-US, the results of the formula cells are:

A6 = 1504.5
A7 = 1.5
A8 = 1.5
A9 = 1504.5
A10 = 1504.5
A11 = #VALUE!
A12 = #VALUE!
A13 = 1.5
A14 = 1.5
A15 = #VALUE!

- 1.5 and 1.500 are interpreted as 1.5
- 1,500 is interpreted as 1500
- the addition operator always tries to convert text to numbers
- the SUM function ignores text cells, but converts literal text

Using locale de-DE, the results of the formula cells are:

A6 = 41072
A7 = 1,5
A8 = 1,5
A9 = 41072
A10 = 41072
A11 = #VALUE!
A12 = #VALUE!
A13 = 1,5
A14 = 1,5
A15 = #VALUE!

- 1.5 is interpreted as 1st of May 2008, resulting in 39569
- 1.500 is interpreted as 1500
- 1,500 is interpreted as 1.5


Do you have other examples that I may test in different Excel versions?


Regards
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] start issue92313

2008-08-06 Thread Daniel Rentz
yunjingtao schrieb:
 hi, Daniel
 can you explain these 
 SFX_STYLE_FAMILY_CHAR
 SFX_STYLE_FAMILY_PARA
 SFX_STYLE_FAMILY_FRAME
 SFX_STYLE_FAMILY_PAGE
 to me?

Open a Writer document and the Stylist (Format-Styles or key F11). On
top you see different buttons for different types of styles for
paragraphs (SFX_STYLE_FAMILY_PARA), characters (SFX_STYLE_FAMILY_CHAR),
pages (SFX_STYLE_FAMILY_PAGE), or text frames (SFX_STYLE_FAMILY_FRAME).

Now open a Calc document and the Stylist. You see that Calc uses page
styles (SFX_STYLE_FAMILY_PAGE) and cell styles (SFX_STYLE_FAMILY_PARA) only.

In Calc, all styles are ScStyleSheet objects (sc/inc/stlsheet.hxx)
derived from SfxStyleSheet (svtools/inc/style.hxx). The SfxStyleSheet
class is able to store the style family.

 should I disable the Delete contex menu item appeared 
 after having remove the protection ?

Yes, try to find the place where the context menu item is disabled
(there should be some code that checks whether the style is built-in).
Then, when protection is disabled, something similar has to be done.




Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] How to use erfc() or getErfc() from scaddins in sc ?

2008-08-05 Thread Daniel Rentz


Hi Regina,

Regina Henschel schrieb:

Hi Daniel, hi Kohei,

I've learned now, that I can get erfc(z) by GetUpRegIGamma(0.5,z^2), so 
I need no copypaste. GetUpRegIGamma is a private function of 
ScInterpreter, in file interpr6.cxx. But now I have the next problem:


The structure now is:
We have a public function
void ScInterpreter::ScBetaDist()

Inside this, and in some other functions too, there is a call to the 
private function

double ScInterpreter::GetBetaDist

This function is so complex, that I thought, it would be a good idea to 
swap out some steps into local functions. For example, I have defined a 
function

lcl_GetBetaHelperContFrac
which calculates a continued fraction needed for GetBetaDist. Thats 
works good, because it uses only 'normal' functions.


But the next part, which I want to modularize, is the algoritm known as 
BASYM (Didonato/Morris algoritm 708). It is a part of about 90 lines. 
Unfortunately it needs the private functions

double ScInterpreter::GetUpRegIGamma( double fA, double fX )
and
double ScInterpreter::GetLogBeta(double fAlpha, double fBeta)

How to solve this? I know, if I would make it a private function of 
ScInterpreter too, I can access GetUpRegIGamma and GetLogBeta. But is 
that the structure you want? Are there other, better ways to get access 
to that functions?


Are ScInterpreter::GetUpRegIGamma() and ScInterpreter::GetLogBeta() 
static (A), can they be static (B), or do they actually use members or 
other non-static functions of ScInterpreter (C)?


(A) remove them from ScInterpreter and make them local functions.
(B) same as (A)
(C) it does not help, BASYM has to be a private member of ScInterpreter.


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] macro fails with oo 3.0 - returns byte instead of string array !

2008-07-21 Thread Daniel Rentz

Oliver Brinzing schrieb:

Hi Daniel,

But I'm not an expert, and as the code below is not specific to the 
Calc API, you probably should ask on the [EMAIL PROTECTED] or [EMAIL PROTECTED] mailing list.


i found out what is going wrong, just run the new example ...
i think this is a bug ...

can you confirm ?


Yes, confirmed. Behaviour changed between 2.4.1 and 3.0, and looks wrong 
in 3.0.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About issue25018

2008-07-18 Thread Daniel Rentz
yunjingtao schrieb:
 Daniel schrieb:
 Please do not rely on the item state only, but test the contents of the
 item too. See the example for the FID_MERGE_TOGGLE item in the same
 file: the test   ... = SFX_ITEM_DEFAULT 
 makes sure that the item exists (it has state DEFAULT or SET), and
 that it is possible to use the item returned in the pItem parameter of
 the QueryState function. Try to combine the GetValue() test into the else 
 if ...; 
 
 hi, Daniel
 I made some changes and submitted another patch to issue25018. 
 I don't know whether I understood you completely.
 The variable bIsFullScreen I add is used to test.  

Hello,


Some comments on the new attached patch: You query the state of item
nSlot which is currently SID_CANCEL (nSlot is used in the
switch/case). But we need to query the current state of the
SID_WIN_FULLSCREEN slot. Next, you call pTabViewShell-Escape() when
fullscreen is enabled, and disble fullscreen if it is already off.

Please try the following:

1) Add two functions to ScCellShell, as I mentioned in my last mail:

bool IsFullScreen() const
{
   ... query the state of the SID_WIN_FULLSCREEN slot as described
before (use QueryState and SfxBoolItem::GetValue)
}

void SetFullScreen( bool bSet )
{
   ... put a new bool item for the SID_WIN_FULLSCREEN slot
}

This is done to improve readability of the code.

2) Now it is possible to add a simple two-liner to the SID_CANCEL
handler in cellsh3.cxx, something like

  ...
  else if( IsFullScreen() )
  SetFullScreen( false );
  else
  ...


Hope this helps
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] macro fails with oo 3.0 - returns byte instead of string array !

2008-07-18 Thread Daniel Rentz

Oliver Brinzing schrieb:

Hi,

are there any known issues with the basic engine in oo 3.0 ?
i tried m23/m25 with same results ...

i have code *similar* to the snippet below, which will filter Named Ranges
of a calc document, for example all Named Ranges starting with X_XXX ...
it will return an array of strings, containing the cell ranges ...

debugging the program show's that the array contains bytes instead of 
string.

mRanges() shows type: String, mX() shows type Byte ...

btw: i can not reproduce the bug with the example below
   no problems with oo 2.4.1 at all...

any hints are welcome
Oliver


Hi Oliver,

What happens if you set mX as Variant?
But I'm not an expert, and as the code below is not specific to the Calc 
API, you probably should ask on the [EMAIL PROTECTED] or [EMAIL PROTECTED] mailing list.


Regards
Daniel



REM  *  BASIC  *
OPTION EXPLICIT

Sub Main

Dim mX() as String

mX() = Test()

'after the call mX() sometimes has Byte Values instead of String !
'for example: mX(0) = 1, mX(0) = 0, ...

MsgBox mX(0) mX(1)
End Sub

Function Test() as Variant
Dim mRanges(100) as String
mRanges(0) = 1
mRanges(1) = $A$1:$B$10

' mRanges is a String Typ (correct)
Test = mRanges()
End Function




--
Sun Microsystems GmbH
Nagelsweg 55
20097 Hamburg
Germany
Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] About issue25018

2008-07-14 Thread Daniel Rentz
yunjingtao schrieb:
 hi, Daniel

 I submitted a patch to issue25018. Using some test cases, I checked
 it, and it's ok. Hope you review it, and if possible,give me some
 advice. If there is no problem with it, assign me issues please.

 I have one question and wish you answer it at your convenience.The
 function SfxBindings::QueryState can return SfxItemState, but I don't
 understand what the several state types mean, such as
 SFX_ITEM_SET,SFX_ITEM_DONTCARE and so on, can you explain them for
 me? In this patch the return value is 32,eaque to SFX_ITEM_DEFAULT.

Please do not rely on the item state only, but test the contents of the
item too. See the example for the FID_MERGE_TOGGLE item in the same
file: the test
   ... = SFX_ITEM_DEFAULT 
makes sure that the item exists (it has state DEFAULT or SET), and
that it is possible to use the item returned in the pItem parameter of
the QueryState function (see below for more info about the states). Try
to combine the GetValue() test into the else if ...; or even better,
add two helper functions to ScCellShell: bool IsFullScreen() const and
void SetFullScreen( bool bSet ). This would make it more readable.

There are 6 item state constants defined in svtools/poolitem.hxx:

#define SFX_ITEM_UNKNOWN0x
for unknown items.

#define SFX_ITEM_DISABLED   0x0001
for disabled items (e.g. gray icons in toolbars).

#define SFX_ITEM_READONLY   0x0002
for read-only items.

#define SFX_ITEM_DONTCARE   0x0010
for items with mixed values in the current context (e.g. different
colors in a range of cells). Therefore the QueryState() function cannot
return an item.

#define SFX_ITEM_DEFAULT0x0020
for the predefined value of an item defined in the item pool (e.g. no
background color for a sheet cell). The QueryState() function returns
an item that contains this default value.

#define SFX_ITEM_SET0x0030
for a changed value (e.g. some color for a sheet cell). The QueryState()
function returns an item with this value.


Only *one* of the states DONTCARE, DEFAULT, or SET can be set at a
time, but the flags DISABLED and READONLY may be combined with the
state. Therefore it is possible to make the test = SFX_ITEM_DEFAULT
as you can see in the FID_MERGE_TOGGLE example above.


If you need more issues, please have a look in my issue list:
http://qa.openoffice.org/issues/buglist.cgi?issue_status=UNCONFIRMEDissue_status=NEWissue_status=STARTEDissue_status=REOPENEDemail1=dremailtype1=exactemailassigned_to1=1email2=emailtype2=exactemailreporter2=1issueidtype=includeissue_id=changedin=votes=chfieldfrom=chfieldto=chfieldvalue=short_desc=short_desc_type=allwordslong_desc=long_desc_type=allwordsissue_file_loc=issue_file_loc_type=fulltextstatus_whiteboard=status_whiteboard_type=fulltextkeywords=keywords_type=anytokensfield0-0-0=nooptype0-0-0=noopvalue0-0-0=cmdtype=doitnewqueryname=order=%27%27Submit+query=Submit+query

Of course I will try to find some issues too... Here are some more User
Interface issues:
http://qa.openoffice.org/issues/show_bug.cgi?id=89173
http://qa.openoffice.org/issues/show_bug.cgi?id=40679
http://qa.openoffice.org/issues/show_bug.cgi?id=91532


DR-NN: please correct me if something with the item stuff is wrong...


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] about issue86945

2008-07-01 Thread Daniel Rentz
yunjingtao schrieb:
 Daniel wrote:
 The aEdComment gets the focus though you do not pass WB_TABSTOP to
 its c'tor?
 
 hi, Daniel Thank you for you reply. Yes, exactly. The aEdComment gets
 the focus, I think the reason is because of WB_DIALOGCONTROL |
 WB_TABSTOP in ScScenarioWindow constructor, so TAB key can travel
 aLbScenario and aEdComment. I add WB_NOTABSTOP to avoid this. I

It is OK that the edit gets the focus, I just didn't expect that this
works without the WB_TABSTOP flag. Please do not disable this with the
WB_NOTABSTOIP flag.

 submit a patch to this issue. Please check it. It works well on my
 computer.

The remaining patch is ok, nice work. I will apply it in my next CWS.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Values depending on linked and not available spreadsheet - xls-viewer OOO

2008-04-25 Thread Daniel Rentz

Eike Rathke schrieb:

Hi Cor,

On Thursday, 2008-04-17 10:10:19 +0200, Cor Nouws wrote:

Easy to fix as you suggested. Only saving as xls and re-opening, again 
shows #NA ...

Saving as ods does save the results.


It seems that interim results of external references aren't saved to
Excel file format. Daniel?


They are saved as long as the referenced range does not exceed a size of 
1024 cells. This has been done to prevent memory problems with files 
that reference an entire sheet in an external document, see 
http://www.openoffice.org/issues/show_bug.cgi?id=70418. AFAIK, Excel 
does only save the results of non-empty external cells, that would be an 
option for the export filter too.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] three issues

2008-04-21 Thread Daniel Rentz

Eike Rathke schrieb:

Hi YunJingtao,

On Tuesday, 2008-04-15 09:43:32 +0800, YunJingtao wrote:


hi, Daniel


As you Cc'ed Daniel's personal account I assume that he answered
directly, as usual. However, for transparency I'd prefer if people
didn't Cc personal accounts if the receiver reads the mailing list
anyway, in order to make replies go always to the mailing list.
Otherwise it looks like your questions were never answered..

Either that, or Daniel should use the GroupReply/ReplyAll function of
his mail reader to break the silence ;-)


Good point, will do so now... ;)

Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] another problem related i10755

2008-01-29 Thread Daniel Rentz
YunJingtao schrieb:
 
   Yes.Following these steps Data-Define Range, you can find that the dialog 
 are the same and the same mistakes.

   According to your advice, I try to fix the function UpdateNames() and add 
 some code.
 at the begining:

 //aEdName.Clear();
 String aNewEntry = aEdName.GetText();   //get the name the mouse selected
 NameSelectHdl(0);
 USHORT  nNamePos = aEdName.GetEntryPos( aNewEntry);  //get the postion
 USHORT  nStoreNamePos = aEdName.InsertEntry(aNewEntry, nNamePos);  //store 
 and at the end:
 aEdName.GetSelectEntryPos(nStoreNamePos);  //restore
 but this doesn't work. Maybe I am wrong, any advice?

Hello

Try using the functions ComboBox::GetTopEntry() and
ComboBox::SetTopEntry() (see vcl/inc/combobox.hxx). This should be
easier. These functions get/set the first visible entry (and thus the
scrollbar position) in the list.


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] another problem related i10755

2008-01-25 Thread Daniel Rentz
YunJingtao schrieb:
 hi, Daniel

 Same phenomenon happens when Define Range(Data-Define Range). They
 are all related to ScrollBar. What should we do next?

Hello

the dialog should behave correctly for all functions (Add, Remove,
Modify). Are there other places where the name list is cleared and
rebuilt? My impression was that by fixing the UpdateNames() function,
all these functions are fixed.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] issue10755

2008-01-21 Thread Daniel Rentz
YunJingtao schrieb:
 hi, Daniel
 Do you mean that I should use ListBox instead of ComboBox?

Sorry, ComboBox is correct, no need to change this (I didn't check what
class is used in the dialog).


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] issue10755

2008-01-17 Thread Daniel Rentz
Hello,

   This morning seeing the status and resolution of Issue3866 were changed to 
 resolved 
 and wontfix, I read them as it needn't fix now, so today I begin to fix the 
 issu10755.
   So simple the description of the issue10755 is that it is difficult for me 
 to reproduce
 the wrong phenomenon it mentions. Can you depict it in details?

In the Insert-Name-Define dialog, add a lot of entries until you have
more than are visible in the listbox (type a new unique name, click to a
cell of the sheet, press Add, repeat). Now, scroll to the last entry,
select it, select another cell, click Modify. Now, the list jumps back
to top, but should stay at its old position.

Hope that helps. If not, feel free to ask again.


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Iimporting OpenXML files with more than 65K rows?

2007-11-15 Thread Daniel Rentz

Kirill S. Palagin schrieb:

Thanks for the link.
Actually I meant our specification for the import and how we are
handling spreadsheets with more than 65K rows on import, not full spec
of OpenXML.


Contents out of the limits of the current document are truncated. After 
import, this will be shown in a warning box. There is no specification 
for that. Do you want to know something specific?


Regards
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Our plan to improve Calc functionality related tophonetic text

2007-08-23 Thread Daniel Rentz

Kohei,

Kohei Yoshida schrieb:

As for the OOXML file, the texts with ruby are represented as follows.

sst xmlns=http://schemas.openxmlformats.org/spreadsheetml/2006/main;
count=2 uniqueCount=2
si
t吉田浩平/t
rPh sb=0 eb=2
tヨシダ/t
/rPh
rPh sb=2 eb=4
tコウヘイ/t
/rPh
phoneticPr fontId=1/
/si
si
t私は今アメリカで働いています。/t
rPh sb=0 eb=1
tワタシ/t
/rPh
rPh sb=2 eb=3
tイマ/t
/rPh
rPh sb=8 eb=9
tハタラ/t
/rPh
phoneticPr fontId=1/
/si
/sst

And this appears inside the sharedStrings.xml fragment.


Just for interest: what do these examples mean in English? I want to add 
them into our filter test documents.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Our plan to improve Calc functionality related to phonetic text

2007-08-21 Thread Daniel Rentz

Daniel Rentz schrieb:

Kohei Yoshida schrieb:

On Mon, 2007-08-20 at 18:39 +0200, Niklas Nebel wrote:

Kohei Yoshida wrote:

Ok, but I don't think the ruby text is entirely a formatting attribute
of the text.  I consider that a part of the raw text data.
When querying for raw text, as in formulas, or text export, do you 
expect the ruby text to be included? 


If the caller requests the ruby to be included, then yes, otherwise no.
Of course the default behavior should be to exclude the ruby text when
the string instance is queried for raw data, but that doesn't mean the
ruby text data should not be there.


The way Excel works is as following: Think about a situation where cell 
A1 contains a text and phonetic text. The formula =A1 will return the 
main text only, and the formula =PHONETIC(A1) will return the phonetic 
text only. Formula cells with text results will never contain phonetic 
text information, so if you have the formulas above in cell A2 and A3, 
and call =PHONETIC(A2) and =PHONETIC(A3) in other cells, the result will 
be an empty string in both cases.


While I am playing with that... If a text cell does not contain phonetic 
text, the PHONETIC function call returns the main text instead of an 
empty string. Of course, as mentioned, this does not happen with formula 
cells.



Regards
Dainel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Our plan to improve Calc functionality related to phonetic text

2007-08-21 Thread Daniel Rentz

Kohei Yoshida schrieb:

On Mon, 2007-08-20 at 18:39 +0200, Niklas Nebel wrote:

Kohei Yoshida wrote:

Ok, but I don't think the ruby text is entirely a formatting attribute
of the text.  I consider that a part of the raw text data.
When querying for raw text, as in formulas, or text export, do you 
expect the ruby text to be included? 


If the caller requests the ruby to be included, then yes, otherwise no.
Of course the default behavior should be to exclude the ruby text when
the string instance is queried for raw data, but that doesn't mean the
ruby text data should not be there.


The way Excel works is as following: Think about a situation where cell 
A1 contains a text and phonetic text. The formula =A1 will return the 
main text only, and the formula =PHONETIC(A1) will return the phonetic 
text only. Formula cells with text results will never contain phonetic 
text information, so if you have the formulas above in cell A2 and A3, 
and call =PHONETIC(A2) and =PHONETIC(A3) in other cells, the result will 
be an empty string in both cases.


That would be consistent with XHTML 
ruby markup, but different from Excel.


Is that really different from Excel?  Because Excel is where the idea of
embedding the ruby into the raw text string came from.


As mentioned, only in text cells, not at all places where strings are 
used, such as formula results.



Regards
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Our plan to improve Calc functionality related tophonetic text

2007-08-21 Thread Daniel Rentz

Eike Rathke schrieb:

Hi Kohei,

On Tuesday, 2007-08-21 08:12:13 -0400, Kohei Yoshida wrote:


What I meant to say was that Excel embeds the ruby text directly into
string data in the shared string table, instead of storing it as a cell
attribute.


As part of the string? How is it distinguished?


Talking about BIFF, each string may contain two kinds of additional 
data, first the portion formatting (rich text aka edit text), second the 
phonetic text, including all positioning data. Similar in OOXML, 
effectively an entry in the shared string table is the complete string 
cell, including portion formatting and phonetic text.



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Formula import for OOXML

2007-08-07 Thread Daniel Rentz

Hi Kohei


Also, how are we dealing with Excel's shared formulas?


I have implemented shared formula import for the OOX and BIFF filters. 
They are as good as the underlying formula import. The only outstanding 
task is to hide the generated defined names __shared_??? that are used 
to simulate shared formulas in Calc. We will do this when Niklas is back 
from vacation.



Gotcha.  I was just wondering about the status of shared formulas,
because I had noticed some recalculation problem upon loading of
documents containing shared formulas.  Anyway, I trust that problem will
be worked on as part of solving the above problem (?)


I am not aware of such a problem, please check with the latest code 
changes and let me know about any problem.


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Formula import for OOXML

2007-08-03 Thread Daniel Rentz

Leonard Mada schrieb:


What are shared formulas?

Is it the same as the concept I presented in a previous e-mail, where
one can have a default formula for a column? This is indeed a very
useful feature to have in OOo Calc and is one issue that gets into my
TOP 5 of major design flaws of existing spreadsheets.


You cannot create shared formulas by yourself, neither in Calc nor in 
Excel. Excel creates them automatically e.g. when pasting a formula cell 
to a range selection. They are not visible in the user interface. A 
similar concept to have a named formula definition for multiple cells 
are defined names (Insert-Name-Define).



It definitely helps reduce the spaghetti code inherent to
spreadsheets and is also an important concept when extending the
simple spreadsheet to multidimensional spreadsheets. I will file a
new feature request when I will have some time.


Shared formulas are intended to reduce memory usage and file size, don't 
know if they would help you. What do you mean with spaghetti code?


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Rubber/Pencil function for Calc

2007-06-22 Thread Daniel Rentz

Max Giesbert schrieb:

actually i have problems with the very first line of code you sent:

acc =
ThisComponent.CurrentController.Frame.ComponentWindow.AccessibleContext

i am doing development right now using java. so i do get the
ComponentWindow by:

XWindow window = xController.getFrame().getComponentWindow();

but how do i get the AccessibleContext from XWindow?


The Window should support the XAccessible interface, which in turn 
contains one function getAccessibleContext() that returns the 
XAccessibleContext interface.


XAccessible acc = 
(XAccessible)UnoRuntime.queryInterface(XAccessible.class, window);

XAccessibleContext accessibleContext = acc.getAccessibleContext();


Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Rubber/Pencil function for Calc

2007-06-21 Thread Daniel Rentz

Max Giesbert schrieb:

Thx again. feels like i am already there. i got the XCell now from the
Target but how can i get the location of the cell on the screen. i read
about XAccessibleComponent but XCell doesn't seem to implement it...


I have written a tiny test script in Basic recently, that gets the 
XAccessible for the first sheet in the first open Calc document. Maybe 
this helps you to continue... Some ideas how to proceed: You can get the 
parent of the sheet, this is the container of all sheets, to be able to 
get the n-th sheet. From the sheet you can call 
getAccessibleCellAt(row,column) to access the cells. Note that the lines 
in the code below may be broken into several lines.




Sub Main
	acc = 
ThisComponent.CurrentController.Frame.ComponentWindow.AccessibleContext
	table = GetAccessibleForRole( acc, 
com.sun.star.accessibility.AccessibleRole.TABLE )

If Not IsNull( table ) Then
...
EndIf
End Sub

Function GetAccessibleForRole( acc As Object, role As Integer ) As Object
If IsNull( acc ) Then Exit Function

count = acc.AccessibleChildCount
If count = 0 Then Exit Function

For i = 0 To count - 1
child = acc.getAccessibleChild( i ).AccessibleContext
If child.AccessibleRole = role Then
GetAccessibleForRole = child
Exit Function
EndIf
Next

For i = 0 To count - 1
		child = GetAccessibleForRole( acc.getAccessibleChild( i 
).AccessibleContext, role )

If Not IsNull( child ) Then
GetAccessibleForRole = child
Exit Function
EndIf
Next
End Function

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] sheetViews context handling strategy

2007-03-21 Thread Daniel Rentz

Kohei Yoshida schrieb:

Hi all,

So, worksheet element has a child element called sheetViews, which
contains a group of sheetView elements. It contains view data such as
the cursor position, active sheet etc.

Here is a problem with importing these view settings. For us to set such
view data, we have to gain access to the current controller, which is
not available at time of file import. It appears to be set after the
import is complete. This may be reasonable since a file typically gets
loaded before the corresponding application frame gets shown.

I have also looked into getting a XViewDataSupplier instance from the
model since there is a model instance during import, but so far no luck.
I have not looked far enough into this, but my gut feeling is that, the
view data needs to be set before we can query for its instance, which it
is not during import (correctly me if I'm wrong).

Now, since we need to keep our design of the oox::xls code reasonably
close to the design of the existing Excel binary filter, it's probably
logical to do something similar to what the binary filter currently does
for the view settings.

I've discovered that the binary filter creates an instance of
ScExtTabSettings for each sheet to temporarily store view settings of
their respective sheet during import, and use ScExtTabSettingsCont as a
container and ScExtDocOptions to control the life cycle of those
ScExtTabSettings instances. Once the import is complete, the filter
calls PostDocLoad() to commit the view settings collected during import.

I could see us doing something similar for SpreadsheetML import. We
would still need to work out a way to do equivalent of PostDocLoad(),
but at least for now, we could create view setting container classes to
start collecting view data during import.


Yes, these container structs can be designed very similar to the 
existing structs in the core. Don't know if we want to stick to the 
existing approach of creating a sequence property values and passing it 
to the view settings interface.


Btw, an existing equivalent of PostDocLoad() is 
WorkbookFragment::endDocument().



Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Metadata section of XLS files

2006-12-15 Thread Daniel Rentz

René Peinl wrote:

Hi guys, I'm sorry to bother you with this, but you seem to be the
only people reachable outside Microsoft that know about the XLS file
format. I've dealt myself a lot with the XML versions and also did
some minor enhancements to the OO XSLTs that convert WordML to OO,
but now I need some help with the binary version. I'm trying to write
a comparison function that compares two versions of a document with
each other and should return true if the documents have the same
content and false otherwise. I'm using an MD5 hash to do this. The
reason is, that I want to eliminate versions of documents in
Sharepoint where only metadata has changed. Unfortunately, Sharepoint
is so clever that it writes Metadata not only into its own database,
but also inside the document itself, if it is an office document
type. Therefore I want to strip off the header (and trailer) that
contains metadata. For doc files this is quite easy. I just had to
remove (or overwrite with zeros) the first 2554 and the last 1520
bytes and compare the files afterwards. Unfortunately this strategy
does not work with XLS files. It seems that every sheet inside the
file has it's own copy of metadata. Can you give me any advice, how
to get rid of the metadata (just for the comparison). Is there any
byte sequence I can search for and then overwrite the next x byte
with zeros? I would be really thankful for any help. Thanks a lot and



We have a complete description of the OLE2 container file format:
http://sc.openoffice.org/compdocfileformat.pdf

Regards
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Spreadsheet functions' issues

2006-01-04 Thread Daniel Rentz

Hi,

Eike Rathke schrieb:


Last year ;) Muthu Subramanian sent me a mail in which he asked whether
we're already working on specific issues he picked to work on. I asked
him to repeat the question on the mailing list because I want to keep
discussion public, but he didn't show up since. Nevertheless
I investigated the issues he listed and following is the status, or was
on December 15th.

On Fri, Dec 02, 2005 at 23:33:40 +0530, Muthu Subramanian wrote:


Function Incompatibility
  http://www.openoffice.org/issues/show_bug.cgi?id=3866   : NETWORKDAYS
  http://www.openoffice.org/issues/show_bug.cgi?id=32269  : SERIESSUM


Daniel, your AddIn area: are you planning to work on it?


These are minor changes (input checking only), you can fix them, 
otherwise I may do it when working on other add-in issues.



Daniel


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] open office calc question.

2005-10-10 Thread Daniel Rentz

Hi,

Askanthea wrote:

I dont know if you can help but i got your email from the -to do page.
 
If I have a long column of variables for example numbers 1-100 in cells 
a1-a100 when i try to print it comes out on 2 or 3 pages - i want the 
finished result to appear on one page but in 2 or 3 columns without 
changing my origional data.
 
Im sure there is an option within msoffice to do this.


Hmm, I'm not so sure about this. Do you remember any details, how to 
achieve this in MS Excel?


Best regards
Daniel

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [sc-dev] Functions needed?

2005-05-17 Thread Daniel Rentz
Hi,
Kohei Yoshida schrieb:
On 5/17/05, Daniel Rentz [EMAIL PROTECTED] wrote:
Yes, it is. It also includes information about differences between the
varios versions of Excel, e.g. available functions and different
parameter counts.
Cool.  That's even better.  Thanks for the clarification.
One addition: Note that this document does not contain any of the 
Analysis add-in functions. Only built-in functions are listed.

Regards
Daniel
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]