diff options
Diffstat (limited to 'include/vcl/waitobj.hxx')
-rw-r--r-- | include/vcl/waitobj.hxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/vcl/waitobj.hxx b/include/vcl/waitobj.hxx index daf0e2a68a4f..858f49d4ae9b 100644 --- a/include/vcl/waitobj.hxx +++ b/include/vcl/waitobj.hxx @@ -23,6 +23,9 @@ #include <vcl/dllapi.h> #include <vcl/window.hxx> +#include <stack> +#include <vector> + class VCL_DLLPUBLIC WaitObject { private: @@ -37,6 +40,18 @@ public: ~WaitObject(); }; +class VCL_DLLPUBLIC TopLevelWindowLocker +{ +private: + std::stack<std::vector<VclPtr<vcl::Window>>> m_aBusyStack; +public: + // lock all toplevels, except the argument + void incBusy(const vcl::Window* pIgnore); + // unlock previous lock + void decBusy(); + bool isBusy() const { return !m_aBusyStack.empty(); } +}; + #endif // INCLUDED_VCL_WAITOBJ_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |