OpendTect  6.3
uiodprmantreeitem.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Satyaki Maitra
8  Date: August 2016
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "uitoolsmod.h"
15 #include "uiodtreeitem.h"
16 #include "dbkey.h"
17 #include "sharedobject.h"
18 #include "odpresentationmgr.h"
19 
20 class SharedObject;
21 namespace OD { class PresentationManagedViewer; }
22 
23 
26 public:
28  virtual ~uiPresManagedTreeItem();
29 
30  virtual OD::ObjPresentationInfo* getObjPRInfo() const { return 0; }
31  const DBKey& storedID() const { return storedid_; }
32 
33  void setDataObj(SharedObject*);
34  void emitPRRequest(OD::PresentationRequestType);
35  virtual void handleItemCheck(bool triggerdispreq=true) {}
36  virtual void prepareForShutdown();
37  virtual OD::ViewerID getViewerID() const =0;
38 
39 protected:
40 
42 
43  inline RefMan<SharedObject>& dataObj() { return dataobj_; }
44  inline const RefMan<SharedObject>& dataObj() const { return dataobj_; }
45 
47  void objChangedCB(CallBacker*);
48  virtual void handleObjChanged(const ChangeData&) {}
49 
50 private:
51 
53 
54 };
55 
56 
59 public:
61  virtual ~uiPresManagedParentTreeItem();
62  void setPRManagedViewer(OD::PresentationManagedViewer&);
63 
64  void getLoadedChildren(OD::ObjPresentationInfoSet&) const;
65  void showHideChildren(const OD::ObjPresentationInfo&,bool);
66  void removeChildren(const OD::ObjPresentationInfo&);
67  void addChildren(const OD::ObjPresentationInfoSet&);
68  bool selectChild(const OD::ObjPresentationInfo&);
69  void emitChildPRRequest(const OD::ObjPresentationInfo&,
71  virtual uiPresManagedTreeItem*
73  { return 0; }
74 
75  virtual const char* childObjTypeKey() const =0;
76 
77 protected:
78 
79  virtual void objAddedCB(CallBacker*);
80  virtual void objVanishedCB(CallBacker*);
81  virtual void objShownCB(CallBacker*);
82  virtual void objHiddenCB(CallBacker*);
83  virtual void objOrphanedCB(CallBacker*);
84 
85  virtual OD::ViewerID getViewerID() const =0;
86 
87 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: uiodprmantreeitem.h:57
Definition: odpresentationmgr.h:123
const DBKey & storedID() const
Definition: uiodprmantreeitem.h:31
Definition: uiodtreeitem.h:22
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Definition: sharedobject.h:18
virtual void handleObjChanged(const ChangeData &)
Definition: uiodprmantreeitem.h:48
Definition: odpresentationmgr.h:36
RefMan< SharedObject > & dataObj()
Definition: uiodprmantreeitem.h:43
DBKey storedid_
Definition: uiodprmantreeitem.h:41
Definition: uistring.h:88
Monitorable::ChangeData ChangeData
Definition: uiodprmantreeitem.h:46
Definition: uiodprmantreeitem.h:24
virtual OD::ObjPresentationInfo * getObjPRInfo() const
Definition: uiodprmantreeitem.h:30
virtual uiPresManagedTreeItem * addChildItem(const OD::ObjPresentationInfo &)
Definition: uiodprmantreeitem.h:72
const RefMan< SharedObject > & dataObj() const
Definition: uiodprmantreeitem.h:44
PresentationRequestType
Definition: odpresentationmgr.h:32
virtual void handleItemCheck(bool triggerdispreq=true)
Definition: uiodprmantreeitem.h:35
Definition: odpresentationmgr.h:89
OpendTect.
Definition: commontypes.h:25
Definition: monitorable.h:113
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: odpresentationmgr.h:60
RefMan< SharedObject > dataobj_
Definition: uiodprmantreeitem.h:52

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017