ooo-build r14018 - in trunk: . patches/dev300
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r14018 - in trunk: . patches/dev300
- Date: Mon, 22 Sep 2008 18:54:10 +0000 (UTC)
Author: kyoshida
Date: Mon Sep 22 18:54:10 2008
New Revision: 14018
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14018&view=rev
Log:
2008-09-22 Kohei Yoshida <kyoshida novell com>
* patches/dev300/chart-skip-hidden-cells-chart2.diff: fixed a bug where
no data points were displayed when making a chart from Writer, Impress
or Draw (n#427545).
* patches/dev300/apply:
* patches/dev300/chart-skip-hidden-cells-sc.diff:
* patches/dev300/chart-refresh-mark-range-dirty.diff: removed the patch
as it's been combined with the first patch.
Removed:
trunk/patches/dev300/chart-refresh-mark-range-dirty.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
trunk/patches/dev300/chart-skip-hidden-cells-chart2.diff
trunk/patches/dev300/chart-skip-hidden-cells-sc.diff
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Mon Sep 22 18:54:10 2008
@@ -761,8 +761,8 @@
sc-goalseek-higher-precision.diff, kohei
# skip data in hidden cells when rendering charts.
-chart-skip-hidden-cells-chart2.diff, n#404190, i#81209, kohei
-chart-skip-hidden-cells-sc.diff, n#404190, i#81209, kohei
+chart-skip-hidden-cells-chart2.diff, n#404190, i#81209, n#427545, kohei
+chart-skip-hidden-cells-sc.diff, n#404190, i#81209, n#425617, kohei
# When filtering by date, strip off the time element from each value.
calc-filter-by-date-strip-time.diff, n#414303, kohei
@@ -1760,9 +1760,6 @@
calc-external-defined-names-offapi.diff, i#3740, i#4385, n#355685, kohei
calc-external-defined-names-officecfg.diff, i#3740, i#4385, n#355685, kohei
-# mark data range dirty to force full re-calculation.
-chart-refresh-mark-range-dirty.diff, n#425617, kohei
-
[ CalcSolver ]
SectionOwner => kohei
Modified: trunk/patches/dev300/chart-skip-hidden-cells-chart2.diff
==============================================================================
--- trunk/patches/dev300/chart-skip-hidden-cells-chart2.diff (original)
+++ trunk/patches/dev300/chart-skip-hidden-cells-chart2.diff Mon Sep 22 18:54:10 2008
@@ -86,11 +86,33 @@
m_bDirty = false;
}
return m_aExplicitCategories;
+diff --git chart2/source/tools/UncachedDataSequence.cxx chart2/source/tools/UncachedDataSequence.cxx
+index bcf99f7..1fa3b00 100644
+--- chart2/source/tools/UncachedDataSequence.cxx
++++ chart2/source/tools/UncachedDataSequence.cxx
+@@ -79,7 +79,7 @@ UncachedDataSequence::UncachedDataSequence(
+ const OUString & rRangeRepresentation )
+ : OPropertyContainer( GetBroadcastHelper()),
+ UncachedDataSequence_Base( GetMutex()),
+- m_bIsHidden( true ),
++ m_bIsHidden( false ),
+ m_xDataProvider( xIntDataProv ),
+ m_aSourceRepresentation( rRangeRepresentation ),
+ m_xModifyEventForwarder( new ModifyListenerHelper::ModifyEventForwarder())
+@@ -93,7 +93,7 @@ UncachedDataSequence::UncachedDataSequence(
+ const OUString & rRole )
+ : OPropertyContainer( GetBroadcastHelper()),
+ UncachedDataSequence_Base( GetMutex()),
+- m_bIsHidden( true ),
++ m_bIsHidden( false ),
+ m_xDataProvider( xIntDataProv ),
+ m_aSourceRepresentation( rRangeRepresentation ),
+ m_xModifyEventForwarder( new ModifyListenerHelper::ModifyEventForwarder())
diff --git chart2/source/view/main/VDataSeries.cxx chart2/source/view/main/VDataSeries.cxx
-index 7fdddce..608f548 100644
+index fdee8d7..83bad66 100644
--- chart2/source/view/main/VDataSeries.cxx
+++ chart2/source/view/main/VDataSeries.cxx
-@@ -108,7 +108,7 @@ namespace
+@@ -110,7 +110,7 @@ namespace
void VDataSequence::init( const uno::Reference< data::XDataSequence >& xModel )
{
Modified: trunk/patches/dev300/chart-skip-hidden-cells-sc.diff
==============================================================================
--- trunk/patches/dev300/chart-skip-hidden-cells-sc.diff (original)
+++ trunk/patches/dev300/chart-skip-hidden-cells-sc.diff Mon Sep 22 18:54:10 2008
@@ -1,5 +1,5 @@
diff --git sc/inc/chart2uno.hxx sc/inc/chart2uno.hxx
-index 2d98a5f..4f53e17 100644
+index e9d9d47..9126e8e 100644
--- sc/inc/chart2uno.hxx
+++ sc/inc/chart2uno.hxx
@@ -59,6 +59,7 @@
@@ -10,15 +10,16 @@
class ScDocument;
-@@ -382,6 +383,7 @@ public:
- // static ScChart2DataSequence* getImplementation( const com::sun::star::uno::Reference<
+@@ -380,5 +381,8 @@ public:
// com::sun::star::uno::XInterface> xObj );
+private:
++ void markRangeDirty(const ScRange& rRange) const;
++
// Implementation --------------------------------------------------------
ScRangeListRef GetRangeList() { return m_xRanges; }
-@@ -389,8 +391,26 @@ public:
+@@ -387,8 +391,26 @@ private:
void RefChanged();
DECL_LINK( ValueListenerHdl, SfxHint* );
@@ -46,10 +47,10 @@
::com::sun::star::chart2::data::DataSequenceRole m_aRole;
sal_Bool m_bHidden;
diff --git sc/inc/unonames.hxx sc/inc/unonames.hxx
-index 4193574..fcfd0fb 100644
+index ad84ca3..18c858b 100644
--- sc/inc/unonames.hxx
+++ sc/inc/unonames.hxx
-@@ -606,6 +606,7 @@
+@@ -610,6 +610,7 @@
// Chart2
#define SC_UNONAME_ISHIDDEN "IsHidden"
#define SC_UNONAME_ROLE "Role"
@@ -58,10 +59,10 @@
// Solver
#define SC_UNONAME_TIMEOUT "Timeout"
diff --git sc/source/ui/unoobj/chart2uno.cxx sc/source/ui/unoobj/chart2uno.cxx
-index 676ce91..926ec0b 100644
+index 28223a8..e2be940 100644
--- sc/source/ui/unoobj/chart2uno.cxx
+++ sc/source/ui/unoobj/chart2uno.cxx
-@@ -1287,6 +1287,11 @@ void SAL_CALL ScChart2LabeledDataSequence::removeModifyListener( const uno::Refe
+@@ -1319,6 +1319,11 @@ void SAL_CALL ScChart2LabeledDataSequence::removeModifyListener( const uno::Refe
// DataSequence ==============================================================
@@ -73,7 +74,7 @@
ScChart2DataSequence::ScChart2DataSequence( ScDocument* pDoc,
const uno::Reference < chart2::data::XDataProvider >& xDP,
const ScRangeListRef& rRangeList)
-@@ -1342,6 +1347,73 @@ void ScChart2DataSequence::RefChanged()
+@@ -1374,6 +1379,73 @@ void ScChart2DataSequence::RefChanged()
}
}
@@ -147,7 +148,7 @@
void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint)
{
-@@ -1356,8 +1428,10 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
+@@ -1388,8 +1460,10 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
{
// delayed broadcast as in ScCellRangesBase
@@ -159,7 +160,7 @@
lang::EventObject aEvent;
aEvent.Source.set((cppu::OWeakObject*)this);
-@@ -1367,7 +1441,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
+@@ -1399,7 +1473,7 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
m_pDocument->AddUnoListenerCall( *m_aValueListeners[n], aEvent );
}
@@ -168,7 +169,7 @@
}
}
}
-@@ -1433,72 +1507,19 @@ uno::Sequence< uno::Any> SAL_CALL ScChart2DataSequence::getData()
+@@ -1465,72 +1539,19 @@ uno::Sequence< uno::Any> SAL_CALL ScChart2DataSequence::getData()
if ( !m_pDocument)
throw uno::RuntimeException();
@@ -251,7 +252,7 @@
return aSeq;
}
-@@ -1511,67 +1532,18 @@ uno::Sequence< double > SAL_CALL ScChart2DataSequence::getNumericalData()
+@@ -1543,67 +1564,18 @@ uno::Sequence< double > SAL_CALL ScChart2DataSequence::getNumericalData()
if ( !m_pDocument)
throw uno::RuntimeException();
@@ -327,7 +328,7 @@
return aSeq;
}
-@@ -1583,49 +1555,15 @@ uno::Sequence< rtl::OUString > SAL_CALL ScChart2DataSequence::getTextualData( )
+@@ -1615,49 +1587,15 @@ uno::Sequence< rtl::OUString > SAL_CALL ScChart2DataSequence::getTextualData( )
if ( !m_pDocument)
throw uno::RuntimeException();
@@ -385,7 +386,20 @@
return aSeq;
}
-@@ -1926,6 +1864,13 @@ uno::Any SAL_CALL ScChart2DataSequence::getPropertyValue(
+@@ -1886,7 +1824,11 @@ void SAL_CALL ScChart2DataSequence::addModifyListener( const uno::Reference< uti
+ {
+ ULONG nCount = m_xRanges->Count();
+ for (ULONG i=0; i<nCount; i++)
+- m_pDocument->StartListeningArea( *m_xRanges->GetObject(i), m_pValueListener );
++ {
++ ScRange aRange = *m_xRanges->GetObject(i);
++ m_pDocument->StartListeningArea( aRange, m_pValueListener );
++ markRangeDirty(aRange);
++ }
+ }
+
+ acquire(); // don't lose this object (one ref for all listeners)
+@@ -1973,6 +1915,13 @@ uno::Any SAL_CALL ScChart2DataSequence::getPropertyValue(
aRet <<= m_aRole;
else if ( rPropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( SC_UNONAME_ISHIDDEN)))
aRet <<= m_bHidden;
@@ -399,3 +413,41 @@
else
throw beans::UnknownPropertyException();
// TODO: support optional properties
+@@ -2027,6 +1976,37 @@ void SAL_CALL ScChart2DataSequence::removeVetoableChangeListener(
+ OSL_ENSURE( false, "Not yet implemented" );
+ }
+
++void ScChart2DataSequence::markRangeDirty(const ScRange& rRange) const
++{
++ if (!m_pDocument)
++ return;
++
++ const ScAddress &s = rRange.aStart, &e = rRange.aEnd;
++ SCTAB nTab1 = s.Tab(), nTab2 = e.Tab();
++ SCCOL nCol1 = s.Col(), nCol2 = e.Col();
++ SCROW nRow1 = s.Row(), nRow2 = e.Row();
++ for (SCTAB nTab = nTab1; nTab <= nTab2; ++nTab)
++ {
++ for (SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
++ {
++ for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow)
++ {
++ ScAddress aAddr(nCol, nRow, nTab);
++ ScBaseCell* pBaseCell = m_pDocument->GetCell(aAddr);
++ if (!pBaseCell || pBaseCell->GetCellType() != CELLTYPE_FORMULA)
++ continue;
++
++ ScFormulaCell* pFCell = static_cast<ScFormulaCell*>(pBaseCell);
++ ScTokenArray* pArray = pFCell->GetCode();
++ if (!pArray)
++ continue;
++
++ pFCell->SetDirty();
++ }
++ }
++ }
++}
++
+ // XUnoTunnel
+
+ // sal_Int64 SAL_CALL ScChart2DataSequence::getSomething(
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]