2012/8/3 Rob Weir <[email protected]> > On Thu, Aug 2, 2012 at 9:30 AM, Kejia Ye <[email protected]> wrote: > > Hi All, > > > > I'd like to propose a new Simple API which could apply user customized > > styles to table. The similar function can be found in OpenOffice as ' > Table > >> AutoFormat', which refers to 5 cell properties, number format, font, > > alignment, borders and background. Customers usually have their own > > customized table styles to process specified kind of data. So it would be > > nice to let them define the styles once and apply them everywhere they > need. > > >
One thing need be consider that how the customized table styles be stored. it seems that there doesn't have a table style object in AOO applicatio. > > As for the input of the style, an easy way is to let customers create > their > > own styles in a document and the API can import the document and find the > > specific table by its name, like Table.applyStyle(TemplateFile, > TableName). > > This would be easy for customers, they don't need to know more about the > > style definition and can create their styles by any word processor, like > > OpenOffice. But this would leave complex details to the API > implementation, > > since not all the word processors support the <table:table-template> by > > now, the styles applied on a table may not be easy to extract. > > > It's hard to read the table styles from template and also it's hard to apply this customized table style to target table. > > OK. Hopefully you have looked at the markup that is generated when > you use table AutoFormat in OpenOffice. If you do you will see that > it is not really the same thing as a style definition on ODF. > AutoFormat is more like a template, a collection of multiple table, > column and cell styles that look good together. But the ODF that > OpenOffice generates is just separate style definitions. There is no > high-level support for <table:table-template>. > > Two other things that make this more complicated: > > 1) If the user wants to later edit the document in their editor, and > manually create a new table, it will be hard for them to make it look > like the same styles as the one created by the Toolkit. Compare > this to creating normal named styles for text or paragraphs or lists. > These style names would show up in the styles lists in the OpenOffice > UI so the user can pick them. But new AutoFormat templates are not > put in the OpenOffice UI. Maybe this is OK for your use? 2) Need to be careful about interaction with the table size. > > A) You probably can't apply the AutoFormat to an empty table, since > there are no cells to apply the styles to, > > B) If you add rows or columns to a table after the AutoFormat is > applied, then you need logic to determine how the new table elements > "inherit" styles from neighboring rows and columns of the table. > > Easiest case would be to apply AutoFormat after the table is at its > final size. But it is hard to predict what order a user will do > things. > > C) If you "import" a table AutoFormat from another table, it is easy > if both tables are the exact same size. But if they are different, > then you will need some logic to figure out what the pattern is. For > example, is it a shaded row header and column header with alternating > row colors? or something else. If there are just a handful of common > patterns that we recognize then this is easy. > > Or maybe the cleanest thing is to just borrow the tabe:table-template > definition, and use that in the API, but serialize it as separate > styles. And then if OpenOffice supports table-template in the future, > we can change the serialization logic, but user code would remain the > same. In other words, we could use table:table-template as a good > abstraction in the toolkit. > > Does anyone else have ideas? > >From the description this requirement is more like a application level operation. maybe it's not suite provide as a API until OpenOffice support the table-template. > -Rob > > > Meanwhile, I saw there were some similar topics around customized default > > styles(https://issues.apache.org/jira/browse/ODFTOOLKIT-137) on JIRA, > but > > I'm not sure whether they're overlapped to some extent. And there've been > > no updates about that topic for some time, so if someone is still working > > on that issue please let me know and any comments are welcome. > > > > Regards, > > > > Kejia Ye >
