summaryrefslogtreecommitdiff
path: root/sc/inc/conditio.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc/conditio.hxx')
-rw-r--r--sc/inc/conditio.hxx20
1 files changed, 20 insertions, 0 deletions
diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx
index 08f188a7c5a9..4300c80ba190 100644
--- a/sc/inc/conditio.hxx
+++ b/sc/inc/conditio.hxx
@@ -41,6 +41,7 @@
#include <memory>
#include <set>
+class RepaintInIdle;
class ScFormulaCell;
class ScTokenArray;
struct ScRefCellValue;
@@ -443,6 +444,8 @@ private:
};
mutable std::unique_ptr<ScConditionEntryCache> mpCache;
+
+ std::unique_ptr<RepaintInIdle> mpRepaintTask;
};
// single condition entry for conditional formatting
@@ -606,6 +609,23 @@ public:
void CalcAll();
};
+class RepaintInIdle final : public Idle
+{
+ ScConditionalFormat* mpCondFormat;
+
+public:
+ RepaintInIdle(ScConditionalFormat* pCondFormat)
+ : Idle("Contitional Format Repaint Idle")
+ , mpCondFormat(pCondFormat)
+ {}
+
+ void Invoke() override
+ {
+ if (mpCondFormat)
+ mpCondFormat->DoRepaint();
+ }
+};
+
struct CompareScConditionalFormat
{
using is_transparent = void;