1 /////////////////////////////////////////////////////////////////////////////// 2 // Name: wx/wupdlock.h 3 // Purpose: wxWindowUpdateLocker prevents window redrawing 4 // Author: Vadim Zeitlin 5 // Created: 2006-03-06 6 // RCS-ID: $Id: wupdlock.h 37842 2006-03-07 01:50:21Z VZ $ 7 // Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org> 8 // Licence: wxWindows licence 9 /////////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_WUPDLOCK_H_ 12 #define _WX_WUPDLOCK_H_ 13 14 #include "wx/window.h" 15 16 // ---------------------------------------------------------------------------- 17 // wxWindowUpdateLocker prevents updates to the window during its lifetime 18 // ---------------------------------------------------------------------------- 19 20 class wxWindowUpdateLocker 21 { 22 public: 23 // create an object preventing updates of the given window (which must have 24 // a lifetime at least as great as ours) wxWindowUpdateLocker(wxWindow * win)25 wxWindowUpdateLocker(wxWindow *win) : m_win(win) { win->Freeze(); } 26 27 // dtor thaws the window to permit updates again ~wxWindowUpdateLocker()28 ~wxWindowUpdateLocker() { m_win->Thaw(); } 29 30 private: 31 wxWindow *m_win; 32 33 DECLARE_NO_COPY_CLASS(wxWindowUpdateLocker) 34 }; 35 36 #endif // _WX_WUPDLOCK_H_ 37 38