On 10/05/12 03:02, Markus Mohrhard wrote: > Hey, > > I just reached a state where I can think about adding support for > color scales into ODF. Normally this would not be such a big deal but > for color scales we face several problems. > > Color scales are a form of conditional formatting but our current > conditional formatting system is based on styles where color scales ( > and data bars ) don't fit in. The problem is now that conditional > formatting is part of the styles in ODF and applied to a cell through > a style. I have the same problem internally but there I was able to > circumvent that problem till now by implementing a own set of data > structures for color scales. > > The current structure of a conditional format in ods looks like: > > <style:style style:name="ce1" style:family="table-cell" > style:parent-style-name="Default"> > <style:map style:condition="cell-content()=1" > style:apply-style-name="Untitled1" > style:base-cell-address="Sheet1.D5"/> > <style:map style:condition="cell-content()<0" > style:apply-style-name="Untitled2" > style:base-cell-address="Sheet1.D5"/> > <style:map style:condition="cell-content-is-between(2,3)" > style:apply-style-name="Untitled3" > style:base-cell-address="Sheet1.D5"/> > </style:style> > > Now we have color scales which are no longer bound to styles because > they calculate the correct formatting information based on the value > of the cell. I would not want to add them to the existing style based > system because they don't fit into there. We will need to add > different conditions for them and different ways to represent them. > > In OOXML normal conditional formats are represented in the > [sheetx].xml file and refer to formatting changes in the styles > section. Color scales however are represented in the same structure > but contain all their information as sub elements. The structure of > the attached test file is: > > <conditionalFormatting sqref="C2:D5"> > <cfRule type="colorScale" priority="1"> > <colorScale> > <cfvo type="num" val="0"/> > <cfvo type="num" val="10"/> > <color rgb="FF63BE7B"/> > <color rgb="FFFFEF9C"/> > </colorScale> > </cfRule> > </conditionalFormatting> > > I'm open for suggestions how I can add this sanely to ods. I would > like to support as much from MSO 2010's color scale feature as > possible but have no idea yet what I can achieve in the remaining 4 > weeks.
i wonder how exactly this works... some vague ideas: does it interpolate based on the cell value from the minimum in a range where the style is applied to a maximum? <style:style style:name="ce1" style:family="table-cell"> <style:map style:color-scale-minimum="FFFFFF"/> <style:map style:color-scale-maximum="000000"/> </style:style> or rather not reuse style:map which wants to map to other styles, how about this: <style:style style:name="ce1" style:family="table-cell"> <style:color-scale style:color-scale-minimum="FFFFFF" style:color-scale-maximum="000000"/> </style:style> or can you set some specific values and it interpolates beyond those as well? <style:style style:name="ce1" style:family="table-cell"> <style:color-scale style:color-scale-minimum="CCCCCC" style:color-scale-minimum-value="3" style:color-scale-maximum="444444" style:color-scale-maximum-value="42"/> </style:style> but probably i have missed something _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice