1/////////////////////////////////////////////////////////////////////////////
2// Name:        updatesmgr.h
3// Purpose:     cbSimpleUpdatesMgr class declaration
4// Author:      Aleksandras Gluchovas (@Lithuania)
5// Modified by:
6// Created:     19/10/98
7// RCS-ID:      $Id: updatesmgr.h 35650 2005-09-23 12:56:45Z MR $
8// Copyright:   (c) Aleksandras Gluchovas
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef __UPDATESMGR_G__
13#define __UPDATESMGR_G__
14
15#include "wx/fl/controlbar.h"
16
17/*
18This class implements slightly optimized logic for refreshing
19the areas of frame layout that actually need to be updated.
20*/
21
22class WXDLLIMPEXP_FL cbSimpleUpdatesMgr : public cbUpdatesManagerBase
23{
24    DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr )
25protected:
26
27        // Helper function.
28    bool WasChanged( cbUpdateMgrData& data, wxRect& currentBounds );
29
30public:
31        // Default constructor.
32    cbSimpleUpdatesMgr() {}
33
34        // Constructor taking frame layout panel.
35    cbSimpleUpdatesMgr( wxFrameLayout* pPanel );
36
37        // Notification received from Frame Layout in the order in which
38        // they would usually be invoked.
39    virtual void OnStartChanges();
40
41        // Notification received from Frame Layout in the order in which
42        // they would usually be invoked.
43    virtual void OnRowWillChange( cbRowInfo* pRow, cbDockPane* pInPane );
44
45        // Notification received from Frame Layout in the order in which
46        // they would usually be invoked.
47    virtual void OnBarWillChange( cbBarInfo* pBar, cbRowInfo* pInRow, cbDockPane* pInPane );
48
49        // Notification received from Frame Layout in the order in which
50        // they would usually be invoked.
51    virtual void OnPaneMarginsWillChange( cbDockPane* pPane );
52
53        // Notification received from Frame Layout in the order in which
54        // they would usually be invoked.
55    virtual void OnPaneWillChange( cbDockPane* pPane );
56
57        // Notification received from Frame Layout in the order in which
58        // they would usually be invoked.
59    virtual void OnFinishChanges();
60
61        // Refreshes the parts of the frame layoutthat need an update.
62    virtual void UpdateNow();
63};
64
65#endif /* __UPDATESMGR_G__ */
66
67