CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWModelChangeManager.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWModelChangeManager_h
2 #define Fireworks_Core_FWModelChangeManager_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWModelChangeManager
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu Jan 17 17:37:49 EST 2008
19 // $Id: FWModelChangeManager.h,v 1.5 2009/01/23 21:35:41 amraktad Exp $
20 //
21 
22 // system include files
23 #include "sigc++/signal.h"
24 #include <set>
25 
26 // user include files
30 
31 // forward declarations
32 class FWEventItem;
33 
35 {
36 
37 public:
39  virtual ~FWModelChangeManager();
40 
41  // ---------- const member functions ---------------------
42 
43  // ---------- static member functions --------------------
44 
45  // ---------- member functions ---------------------------
46 
47  void beginChanges();
48  void changed(const FWModelId&);
49  void changed(const FWEventItem*);
50  void endChanges();
51 
52  sigc::signal<void> changeSignalsAreComing_;
53  sigc::signal<void> changeSignalsAreDone_;
54 
55  void newItemSlot(FWEventItem*);
56  void itemsGoingToBeClearedSlot(void);
57 
58 private:
59  FWModelChangeManager(const FWModelChangeManager&); // stop default
60 
61  const FWModelChangeManager& operator=(const FWModelChangeManager&); // stop default
62 
63  // ---------- member data --------------------------------
64  unsigned int m_depth;
65  std::vector<FWModelIds> m_changes;
66  std::set<const FWEventItem*> m_itemChanges;
67  std::vector<FWModelChangeSignal> m_changeSignals;
68  std::vector<FWItemChangeSignal> m_itemChangeSignals;
69 };
70 
72 public:
74  m_manager(&iM)
75  {
77  }
79  {
81  }
82 private:
84 };
85 
86 #endif
std::vector< FWModelChangeSignal > m_changeSignals
std::vector< FWModelIds > m_changes
std::set< const FWEventItem * > m_itemChanges
void newItemSlot(FWEventItem *)
FWModelChangeManager * m_manager
sigc::signal< void > changeSignalsAreDone_
void changed(const FWModelId &)
std::vector< FWItemChangeSignal > m_itemChangeSignals
sigc::signal< void > changeSignalsAreComing_
FWChangeSentry(FWModelChangeManager &iM)
const FWModelChangeManager & operator=(const FWModelChangeManager &)