On Tue, 2012-10-02 at 00:36 +0200, Markus Mohrhard wrote:
IMHO we need t least a similar set as Excel for the interoperability but maybe you have ideas or feel there are some missing.
:-) and just to head-off the 'we could theme this' idea - IMHO, while
we will store the icons in the images.zip - I strongly recommend that
they are not themed - so people's documents don't look different in
different configurations of LibreOffice ;-)
I attach a screenshot of the sets we have to interoperate with, and a
sample document in case it helps - I re-ordered the sets into grouped
categories to try to highlight the symbol re-use going on there. The
arrows for example appear to be the same five arrows in different sets /
combinations and re-coloured.
Is suspect we could re-use the existing network-manager signal strength
icon as well - if we can find it under CCBySA / CC0 / MPL etc.
Many thanks !
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
Attachment:
conditional.xlsx
Description: MS-Excel 2007 spreadsheet
From ab905f6398df6655645eb43aab49fa3519ad4dd9 Mon Sep 17 00:00:00 2001
From: Michael Meeks <michael.meeks@suse.com>
Date: Fri, 28 Sep 2012 11:50:31 +0100
Subject: [PATCH 1/3] improve conditional formatting height calculations.
Change-Id: If5080892b820d268ffef22111d0caee217586b56
---
sc/source/ui/condformat/condformatdlg.cxx | 37 +++++++++++++----------------
1 file changed, 16 insertions(+), 21 deletions(-)
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index 5c6d0f2..9fe983f 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -494,30 +494,25 @@ void ScCondFrmtEntry::HideColorScaleElements()
void ScCondFrmtEntry::SetHeight()
{
- if(mbActive)
+ long nPad = LogicToPixel(Size(42,2), MapMode(MAP_APPFONT)).getHeight();
+
+ // Calculate maximum height we need from visible widgets
+ sal_uInt16 nChildren = GetChildCount();
+
+ long nMaxHeight = 0;
+ for(sal_uInt16 i = 0; i < nChildren; i++)
{
- Size aSize = GetSizePixel();
- switch (meType)
- {
- case CONDITION:
- case FORMULA:
- aSize.Height() = 120;
- break;
- case COLORSCALE:
- aSize.Height() = 200;
- break;
- case DATABAR:
- aSize.Height() = 200;
- break;
- default:
- break;
- }
- SetSizePixel(aSize);
+ Window *pChild = GetChild(i);
+ if(!pChild || !pChild->IsVisible())
+ continue;
+ Point aPos = pChild->GetPosPixel();
+ Size aSize = pChild->GetSizePixel();
+ nMaxHeight = std::max(aPos.Y() + aSize.Height(), nMaxHeight);
}
- else
+ Size aSize = GetSizePixel();
+ if(nMaxHeight > 0)
{
- Size aSize = GetSizePixel();
- aSize.Height() = 40;
+ aSize.Height() = nMaxHeight + nPad;
SetSizePixel(aSize);
}
}
--
1.7.10.4