CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 //
20 
21 // system include files
22 #include "sigc++/signal.h"
23 #include <set>
24 
25 // user include files
29 
30 // forward declarations
31 class FWEventItem;
32 
34 public:
36  virtual ~FWModelChangeManager();
37 
38  // ---------- const member functions ---------------------
39 
40  // ---------- static member functions --------------------
41 
42  // ---------- member functions ---------------------------
43 
44  void beginChanges();
45  void changed(const FWModelId&);
46  void changed(const FWEventItem*);
47  void endChanges();
48 
49  sigc::signal<void> changeSignalsAreComing_;
50  sigc::signal<void> changeSignalsAreDone_;
51 
52  void newItemSlot(FWEventItem*);
53  void itemsGoingToBeClearedSlot(void);
54 
55  FWModelChangeManager(const FWModelChangeManager&) = delete; // stop default
56 
57  const FWModelChangeManager& operator=(const FWModelChangeManager&) = delete; // stop default
58 
59 private:
60  // ---------- member data --------------------------------
61  unsigned int m_depth;
62  std::vector<FWModelIds> m_changes;
63  std::set<const FWEventItem*> m_itemChanges;
64  std::vector<FWModelChangeSignal> m_changeSignals;
65  std::vector<FWItemChangeSignal> m_itemChangeSignals;
66 };
67 
69 public:
72 
73 private:
75 };
76 
77 #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
const FWModelChangeManager & operator=(const FWModelChangeManager &)=delete
sigc::signal< void > changeSignalsAreComing_
FWChangeSentry(FWModelChangeManager &iM)