diff options
Diffstat (limited to 'sc/source/ui')
-rw-r--r-- | sc/source/ui/dbgui/foptmgr.cxx | 1 | ||||
-rw-r--r-- | sc/source/ui/docshell/externalrefmgr.cxx | 3 | ||||
-rw-r--r-- | sc/source/ui/inc/pfiltdlg.hxx | 2 | ||||
-rw-r--r-- | sc/source/ui/inc/uiitems.hxx | 1 | ||||
-rw-r--r-- | sc/source/ui/inc/undodat.hxx | 1 | ||||
-rw-r--r-- | sc/source/ui/undo/undobase.cxx | 1 | ||||
-rw-r--r-- | sc/source/ui/unoobj/chart2uno.cxx | 31 | ||||
-rw-r--r-- | sc/source/ui/view/gridwin4.cxx | 1 |
8 files changed, 28 insertions, 13 deletions
diff --git a/sc/source/ui/dbgui/foptmgr.cxx b/sc/source/ui/dbgui/foptmgr.cxx index 603a9a3a5eea..007c24de3764 100644 --- a/sc/source/ui/dbgui/foptmgr.cxx +++ b/sc/source/ui/dbgui/foptmgr.cxx @@ -45,6 +45,7 @@ #include "dbcolect.hxx" #include "viewdata.hxx" #include "document.hxx" +#include "queryparam.hxx" #define _FOPTMGR_CXX #include "foptmgr.hxx" diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 3d2251dde51f..e42368123a82 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -1061,8 +1061,11 @@ void ScExternalRefLink::DataChanged(const String& /*rMimeType*/, const Any& /*rV else { // The source document has changed. + ScDocShell* pDocShell = ScDocShell::GetViewData()->GetDocShell(); + ScDocShellModificator aMod(*pDocShell); pMgr->switchSrcFile(mnFileId, aFile, aFilter); maFilterName = aFilter; + aMod.SetDocumentModified(); } } diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx index 4009f06417dc..2896df74d818 100644 --- a/sc/source/ui/inc/pfiltdlg.hxx +++ b/sc/source/ui/inc/pfiltdlg.hxx @@ -53,8 +53,8 @@ #ifndef _COMBOBOX_HXX //autogen #include <vcl/combobox.hxx> #endif -#include "global.hxx" // -> ScQueryParam #include "address.hxx" +#include "queryparam.hxx" //------------------------------------------------------------------ diff --git a/sc/source/ui/inc/uiitems.hxx b/sc/source/ui/inc/uiitems.hxx index bfa1603adb80..23e266bded17 100644 --- a/sc/source/ui/inc/uiitems.hxx +++ b/sc/source/ui/inc/uiitems.hxx @@ -34,6 +34,7 @@ #include "scdllapi.h" #include "conditio.hxx" #include "sortparam.hxx" +#include "queryparam.hxx" #include "paramisc.hxx" #include <svl/poolitem.hxx> diff --git a/sc/source/ui/inc/undodat.hxx b/sc/source/ui/inc/undodat.hxx index 3e92fc5fd5fa..40d9073e2e0a 100644 --- a/sc/source/ui/inc/undodat.hxx +++ b/sc/source/ui/inc/undodat.hxx @@ -36,6 +36,7 @@ #include "rangelst.hxx" // ScRangeListRef #include "markdata.hxx" #include "sortparam.hxx" +#include "queryparam.hxx" #include "pivot.hxx" class ScDocShell; diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx index 200db8673cd2..09e8f452c1c6 100644 --- a/sc/source/ui/undo/undobase.cxx +++ b/sc/source/ui/undo/undobase.cxx @@ -45,6 +45,7 @@ #include "undodraw.hxx" #include "dbcolect.hxx" #include "attrib.hxx" +#include "queryparam.hxx" #include "globstr.hrc" // STATIC DATA ----------------------------------------------------------- diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx index 07ed8709ab01..9febe948e79e 100644 --- a/sc/source/ui/unoobj/chart2uno.cxx +++ b/sc/source/ui/unoobj/chart2uno.cxx @@ -2935,6 +2935,9 @@ void ScChart2DataSequence::BuildDataCache() ::std::list<sal_Int32>::const_iterator itr = aHiddenValues.begin(), itrEnd = aHiddenValues.end(); for (;itr != itrEnd; ++itr, ++pArr) *pArr = *itr; + + // Clear the data series cache when the array is re-built. + m_aMixedDataCache.realloc(0); } void ScChart2DataSequence::RebuildDataCache() @@ -3127,7 +3130,6 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint if ( m_bGotDataChangedHint && m_pDocument ) { m_aDataArray.clear(); - m_aDataArray.clear(); lang::EventObject aEvent; aEvent.Source.set((cppu::OWeakObject*)this); @@ -3302,19 +3304,24 @@ uno::Sequence< uno::Any> SAL_CALL ScChart2DataSequence::getData() throw uno::RuntimeException(); BuildDataCache(); - sal_Int32 nCount = m_aDataArray.size(); - uno::Sequence<uno::Any> aSeq(nCount); - uno::Any* pArr = aSeq.getArray(); - ::std::list<Item>::const_iterator itr = m_aDataArray.begin(), itrEnd = m_aDataArray.end(); - for (; itr != itrEnd; ++itr, ++pArr) + + if (!m_aMixedDataCache.getLength()) { - if (itr->mbIsValue) - *pArr <<= itr->mfValue; - else - *pArr <<= itr->maString; - } + // Build a cache for the 1st time... - return aSeq; + sal_Int32 nCount = m_aDataArray.size(); + m_aMixedDataCache.realloc(nCount); + uno::Any* pArr = m_aMixedDataCache.getArray(); + ::std::list<Item>::const_iterator itr = m_aDataArray.begin(), itrEnd = m_aDataArray.end(); + for (; itr != itrEnd; ++itr, ++pArr) + { + if (itr->mbIsValue) + *pArr <<= itr->mfValue; + else + *pArr <<= itr->maString; + } + } + return m_aMixedDataCache; } // XNumericalDataSequence -------------------------------------------------- diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 9648931fbc69..f3b8603e3b64 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -74,6 +74,7 @@ #include "inputopt.hxx" #include "fillinfo.hxx" #include "dpcontrol.hxx" +#include "queryparam.hxx" #include "sc.hrc" #include <vcl/virdev.hxx> |