]> git.saurik.com Git - wxWidgets.git/blob - utils/framelayout/src/updatesmgr.h
fix for the crash when many listctrl items change state
[wxWidgets.git] / utils / framelayout / src / updatesmgr.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: No names yet.
3 // Purpose: Contrib. demo
4 // Author: Aleksandras Gluchovas (@Lithuania)
5 // Modified by:
6 // Created: 19/10/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Aleksandras Gluchovas
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __UPDATESMGR_G__
13 #define __UPDATESMGR_G__
14
15 #include "controlbar.h"
16
17 /*
18 * class implements slightly optimized logic for refreshing
19 * areas of frame layout - which actually need to be updated.
20 */
21
22 class cbSimpleUpdatesMgr : public cbUpdatesManagerBase
23 {
24 DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr )
25 protected:
26
27 bool WasChanged( cbUpdateMgrData& data, wxRect& currentBounds );
28
29 public:
30
31 cbSimpleUpdatesMgr(void) {}
32
33 cbSimpleUpdatesMgr( wxFrameLayout* pPanel );
34
35 // notificiactions received from Frame Layout (in the order, in which
36 // they usually would be invoked)
37
38 virtual void OnStartChanges();
39
40 virtual void OnRowWillChange( cbRowInfo* pRow, cbDockPane* pInPane );
41 virtual void OnBarWillChange( cbBarInfo* pBar, cbRowInfo* pInRow, cbDockPane* pInPane );
42 virtual void OnPaneMarginsWillChange( cbDockPane* pPane );
43 virtual void OnPaneWillChange( cbDockPane* pPane );
44
45 virtual void OnFinishChanges();
46
47 // refreshes parts of the frame layout, which need an update
48 virtual void UpdateNow();
49 };
50
51 #endif