[Libreoffice-commits] .: 4 commits - sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Oct 10 19:40:37 PDT 2012


 sc/source/ui/condformat/condformatdlg.cxx      |   17 ++++++++++++++++-
 sc/source/ui/condformat/condformatdlgentry.cxx |    4 ++--
 sc/source/ui/inc/anyrefdg.hxx                  |    1 +
 sc/source/ui/inc/condformatdlg.hxx             |    2 +-
 sc/source/ui/miscdlgs/anyrefdg.cxx             |   25 ++++++++++++++++++-------
 5 files changed, 38 insertions(+), 11 deletions(-)

New commits:
commit 96cf0a4e97a8725b59d8746192c6e4888a1314b8
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 11 04:12:03 2012 +0200

    the formula ref edits need 3D references
    
    Change-Id: I360d8244f6b8feee862e9e750859271b741dcf93

diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index 6bced64..bf4f8b2 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -395,6 +395,7 @@ sal_Bool ScCondFormatDlg::IsRefInputMode() const
     | SCA_COL_ABSOLUTE | SCA_ROW_ABSOLUTE | SCA_TAB_ABSOLUTE
 #define ABS_DREF          ABS_SREF \
     | SCA_COL2_ABSOLUTE | SCA_ROW2_ABSOLUTE | SCA_TAB2_ABSOLUTE
+#define ABS_DREF3D      ABS_DREF | SCA_TAB_3D
 
 void ScCondFormatDlg::SetReference(const ScRange& rRef, ScDocument*)
 {
@@ -408,7 +409,13 @@ void ScCondFormatDlg::SetReference(const ScRange& rRef, ScDocument*)
             RefInputStart(pEdit);
 
         rtl::OUString aRefStr;
-        rRef.Format( aRefStr, ABS_DREF, mpDoc, ScAddress::Details(mpDoc->GetAddressConvention(), 0, 0) );
+        sal_uInt16 n = 0;
+        if(mpLastEdit && mpLastEdit != &maEdRange)
+            n = ABS_DREF3D;
+        else
+            n = ABS_DREF;
+
+        rRef.Format( aRefStr, n, mpDoc, ScAddress::Details(mpDoc->GetAddressConvention(), 0, 0) );
         pEdit->SetRefString( aRefStr );
     }
 }
commit 2134399f0e462fb6721f20c58fcd8470110ff875
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 11 04:00:05 2012 +0200

    lock table only for the range edit field, not for the formula ones
    
    Change-Id: I08880d97d880227cb47d929701e666a49aad5c57

diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index f23bf21..6bced64 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -378,6 +378,14 @@ void ScCondFormatDlg::RefInputDone( sal_Bool bForced )
     ScAnyRefDlg::RefInputDone(bForced);
 }
 
+sal_Bool ScCondFormatDlg::IsTableLocked() const
+{
+    if(mpLastEdit && mpLastEdit != &maEdRange)
+        return sal_False;
+
+    return sal_True;
+}
+
 sal_Bool ScCondFormatDlg::IsRefInputMode() const
 {
     return maEdRange.IsEnabled();
diff --git a/sc/source/ui/inc/condformatdlg.hxx b/sc/source/ui/inc/condformatdlg.hxx
index 3b3cfb3..194d60c 100644
--- a/sc/source/ui/inc/condformatdlg.hxx
+++ b/sc/source/ui/inc/condformatdlg.hxx
@@ -138,7 +138,7 @@ public:
     virtual void SetReference(const ScRange&, ScDocument*);
     virtual sal_Bool IsRefInputMode() const;
     virtual void SetActive();
-    virtual sal_Bool IsTableLocked() const { return sal_True; }
+    virtual sal_Bool IsTableLocked() const;
 
     void InvalidateRefData();
 
commit 68a60bc98a6ad2467a17a917881745cf9310e90f
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 11 03:48:50 2012 +0200

    dat bars should use automatic as default
    
    Change-Id: I67fe25cb62d701d7267932923e94f10e44853ac4

diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 865cfcc..fa47cc0 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -980,8 +980,8 @@ void ScDataBarFrmtEntry::Init()
     mpDataBarData.reset(new ScDataBarFormatData());
     mpDataBarData->mpUpperLimit.reset(new ScColorScaleEntry());
     mpDataBarData->mpLowerLimit.reset(new ScColorScaleEntry());
-    mpDataBarData->mpLowerLimit->SetType(COLORSCALE_MIN);
-    mpDataBarData->mpUpperLimit->SetType(COLORSCALE_MAX);
+    mpDataBarData->mpLowerLimit->SetType(COLORSCALE_AUTO);
+    mpDataBarData->mpUpperLimit->SetType(COLORSCALE_AUTO);
     mpDataBarData->maPositiveColor = COL_LIGHTBLUE;
 }
 
commit b4f430074cfce0bda32dddfb4d0251ea5aec83ab
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Oct 11 03:48:33 2012 +0200

    allow ref edit fields that are not direct children of the ScAnyRefDlg
    
    Change-Id: I966b67b9f62a8c1c3b9dc3394befe48358cbd34e

diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx
index 7aa3207..247edc0 100644
--- a/sc/source/ui/inc/anyrefdg.hxx
+++ b/sc/source/ui/inc/anyrefdg.hxx
@@ -70,6 +70,7 @@ class ScFormulaReferenceHelper
     Point               aOldEditPos;            // Original position of the input field
     Size                aOldEditSize;           // Original size of the input field
     Point               aOldButtonPos;          // Original position of the button
+    Window*             mpOldEditParent;        // Original parent of the edit field and the button
 
     sal_Bool                bEnableColorRef;
     sal_Bool                bHighLightRef;
diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index 99136b9..fa43823 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -60,6 +60,7 @@ ScFormulaReferenceHelper::ScFormulaReferenceHelper(IAnyRefDialog* _pDlg,SfxBindi
  , pAccel( NULL )
  , pHiddenMarks(NULL)
  , nRefTab(0)
+ , mpOldEditParent( NULL )
  , bHighLightRef( false )
  , bAccInserted( false )
 {
@@ -365,6 +366,9 @@ void ScFormulaReferenceHelper::RefInputDone( sal_Bool bForced )
             bAccInserted = false;
         }
 
+        // restore the parent of the edit field
+        pRefEdit->SetParent(mpOldEditParent);
+
         // Fenstertitel anpassen
         m_pWindow->SetText(sOldDialogText);
 
@@ -377,6 +381,7 @@ void ScFormulaReferenceHelper::RefInputDone( sal_Bool bForced )
         // set button position and image
         if( pRefBtn )
         {
+            pRefBtn->SetParent(m_pWindow);
             pRefBtn->SetPosPixel( aOldButtonPos );
             pRefBtn->SetStartImage();
         }
@@ -408,6 +413,19 @@ void ScFormulaReferenceHelper::RefInputStart( formula::RefEdit* pEdit, formula::
         sNewDialogText  = sOldDialogText;
         sNewDialogText.AppendAscii(RTL_CONSTASCII_STRINGPARAM( ": " ));
 
+        mpOldEditParent = pRefEdit->GetParent();
+
+        // Alte Daten merken
+        aOldDialogSize = m_pWindow->GetOutputSizePixel();
+        aOldEditPos = pRefEdit->GetPosPixel();
+        aOldEditSize = pRefEdit->GetSizePixel();
+        if (pRefBtn)
+            aOldButtonPos = pRefBtn->GetPosPixel();
+
+        pRefEdit->SetParent(m_pWindow);
+        if(pRefBtn)
+            pRefBtn->SetParent(m_pWindow);
+
         // Alle Elemente ausser EditCell und Button verstecken
         sal_uInt16 nChildren = m_pWindow->GetChildCount();
         pHiddenMarks = new sal_Bool [nChildren];
@@ -429,13 +447,6 @@ void ScFormulaReferenceHelper::RefInputStart( formula::RefEdit* pEdit, formula::
             }
         }
 
-        // Alte Daten merken
-        aOldDialogSize = m_pWindow->GetOutputSizePixel();
-        aOldEditPos = pRefEdit->GetPosPixel();
-        aOldEditSize = pRefEdit->GetSizePixel();
-        if (pRefBtn)
-            aOldButtonPos = pRefBtn->GetPosPixel();
-
         // Edit-Feld verschieben und anpassen
         Size aNewDlgSize(aOldDialogSize.Width(), aOldEditSize.Height());
         Size aNewEditSize(aNewDlgSize);


More information about the Libreoffice-commits mailing list