summaryrefslogtreecommitdiff
path: root/sc/inc/listenercontext.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-03-15 11:14:24 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-03-15 11:48:18 -0400
commit8b368d808e90561a9b34658e6b811a8fad83088f (patch)
tree7be36455e9f68310059d9181a77e553de0ad5134 /sc/inc/listenercontext.hxx
parent3ced80133a171bc528ed4600f1d00daadfdbb21b (diff)
Unregister all listeners first then re-register them.
It's safe this way in case we are transferring them within the same column. Any empty broadcasters are checked and purged at the end. Change-Id: Ib2d46e616cde4923720ad21cb101d3a97dc8c5d9
Diffstat (limited to 'sc/inc/listenercontext.hxx')
-rw-r--r--sc/inc/listenercontext.hxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/sc/inc/listenercontext.hxx b/sc/inc/listenercontext.hxx
index c0260ef8be1a..501f1d2023fd 100644
--- a/sc/inc/listenercontext.hxx
+++ b/sc/inc/listenercontext.hxx
@@ -58,6 +58,18 @@ public:
void purgeEmptyBroadcasters();
};
+class PurgeListenerAction : public ColumnSpanSet::Action, boost::noncopyable
+{
+ ScDocument& mrDoc;
+ boost::scoped_ptr<ColumnBlockPosition> mpBlockPos;
+
+public:
+ PurgeListenerAction( ScDocument& rDoc );
+
+ virtual void startColumn( SCTAB nTab, SCCOL nCol );
+ virtual void execute( const ScAddress& rPos, SCROW nLength, bool bVal );
+};
+
}
#endif