diff options
Diffstat (limited to 'sc/inc/conditio.hxx')
-rw-r--r-- | sc/inc/conditio.hxx | 20 |
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; |