ufe  1.0
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
observableSelection.h
Go to the documentation of this file.
1 #line 1 "E:/jenkins/workspace/ufe-full-windows/ufe/include/observableSelection.h"
2 #ifndef _ufeObservableSelection
3 #define _ufeObservableSelection
4 // ===========================================================================
5 // Copyright 2018 Autodesk, Inc. All rights reserved.
6 //
7 // Use of this software is subject to the terms of the Autodesk license
8 // agreement provided at the time of installation or download, or which
9 // otherwise accompanies this software in either electronic or hard copy form.
10 // ===========================================================================
11 
12 #include "selection.h"
13 #include "subject.h"
14 
15 #include <memory> // unique_ptr
16 
17 UFE_NS_DEF {
18 
19 class SelectionCompositeNotification;
20 
22 
31 {
32 public:
33 
36 
38  ~ObservableSelection() override;
39 
56 
59  bool inCompositeNotification() const override;
60 
61 protected:
62 
64  void beginNotificationGuard() override;
68  void endNotificationGuard() override;
70 
75  void postAppend(const SceneItem::Ptr& item) override;
76 
81  void postRemove(const SceneItem::Ptr& item) override;
82 
84  void postClear() override;
85 
87  void postReplaceWith() override;
88 
89 private:
90 
92 
94  std::unique_ptr<SelectionCompositeNotification> fCompositeNotification;
95 };
96 
97 }
98 
99 #endif /* _ufeObservableSelection */
virtual void postClear()
Observable selection for objects in the scene.
virtual bool inCompositeNotification() const
virtual void postRemove(const SceneItem::Ptr &item)
Observer pattern Subject class.
Definition: subject.h:40
Selection list for objects in the scene.
Definition: selection.h:28
#define UFE_NS_DEF
Definition: ufe.h:35
std::shared_ptr< SceneItem > Ptr
Definition: sceneItem.h:39
virtual void beginNotificationGuard()
Notification guard interface. Implementation in this class is a no-op.
virtual void postAppend(const SceneItem::Ptr &item)
Selection & operator=(const Selection &)
Syntactic convenience that calls replaceWith.
virtual void postReplaceWith()
#define UFE_SDK_DECL
Definition: ufeExport.h:36
std::unique_ptr< SelectionCompositeNotification > fCompositeNotification
Composite notification, when within the scope of a guard.
virtual void endNotificationGuard()
Notification guard interface. Implementation in this class is a no-op.