OpendTect  6.6
view2ddata.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  CopyRight: (C) dGB Beheer B.V.
7  Author: Umesh Sinha
8  Date: Apr 2010
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiviewer2dmod.h"
15 #include "callback.h"
16 #include "refcount.h"
17 
18 #include "view2ddataman.h"
19 
20 class uiFlatViewWin;
22 
23 mExpClass(uiViewer2D) Vw2DDataObject : public CallBacker
25 public:
26 
27  virtual const char* getClassName() const { return "Not impl"; }
28 
29  int id() const { return id_; }
30  void setID(int nid) { id_ = nid; }
31 
32  const char* name() const;
33  virtual void setName(const char*);
34 
35  virtual NotifierAccess* deSelection() { return 0; }
36 
37  virtual bool fillPar(IOPar&) const;
38  virtual bool usePar(const IOPar&);
39 
40  static const char* sKeyMID() { return "ID"; }
41 
42 protected:
44 
45  virtual void triggerDeSel() {}
46 
47  int id_;
49 
50  friend class Vw2DDataManager;
51 };
52 
53 
55 {
56 public:
57 
58  virtual bool fillPar(IOPar&) const;
59  virtual bool usePar(const IOPar&);
60 
61  const EM::ObjectID& emID() const { return emid_; }
62 
63 protected:
66 
69  virtual void setEditors() = 0;
70 
72 };
73 
74 
75 #define _mCreateVw2DDataObj(clss,id,win,editors) \
76 { \
77  return (clss*) createInternal(id,win,editors); \
78 } \
79  \
80 private: \
81  static Vw2DDataObject* createInternal(const EM::ObjectID&, \
82  uiFlatViewWin*,const ObjectSet<uiFlatViewAuxDataEditor>&); \
83  clss(const clss&); \
84  clss& operator =(const clss&); \
85 public: \
86  static void initClass(); \
87  static const char* getStaticClassName(); \
88  \
89  virtual const char* getClassName() const; \
90 protected:
91 
92 #define _mDeclVw2DConstr(clss,oid,win,ed) \
93  clss(const EM::ObjectID& oid,uiFlatViewWin* win, \
94  const ObjectSet<uiFlatViewAuxDataEditor>& ed); \
95 public:
96 
97 #define mCreateVw2DDataObj(clss,oid,win,ed) \
98  _mCreateVw2DDataObj(clss,oid,win,ed) \
99  _mDeclVw2DConstr(clss,oid,win,ed)
100 
101 
102 #define mImplVisVwr2DInitClass( clss) \
103 void clss::initClass() \
104 { \
105  Vw2DDataManager::factory().addCreator( \
106  clss::createInternal, #clss ); \
107 }
108 
109 #define mCreateVw2DFactoryEntryNoInitClass( clss ) \
110 const char* clss::getStaticClassName() { return #clss; } \
111 const char* clss::getClassName() const \
112 { return clss::getStaticClassName(); } \
113 Vw2DDataObject* clss::createInternal(const EM::ObjectID& oid, \
114  uiFlatViewWin* win,const ObjectSet<uiFlatViewAuxDataEditor>& eds) \
115 { \
116  return new clss(oid,win,eds); \
117 }
118 
119 
120 #define mCreateVw2DFactoryEntry( clss) \
121 mImplVisVwr2DInitClass( clss ); \
122 mCreateVw2DFactoryEntryNoInitClass( clss );
123 
124 
Vw2DEMDataObject
Definition: view2ddata.h:55
Vw2DDataObject::triggerDeSel
virtual void triggerDeSel()
Definition: view2ddata.h:45
ObjectSet< uiFlatViewAuxDataEditor >
Vw2DDataObject::mRefCountImpl
mRefCountImpl(Vw2DDataObject) public
Definition: view2ddata.h:24
Vw2DEMDataObject::emID
const EM::ObjectID & emID() const
Definition: view2ddata.h:61
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Vw2DDataObject::id_
int id_
Definition: view2ddata.h:47
Vw2DDataManager
Definition: view2ddataman.h:24
Vw2DEMDataObject::setEditors
virtual void setEditors()=0
callback.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Vw2DEMDataObject::viewerwin_
uiFlatViewWin * viewerwin_
Definition: view2ddata.h:67
Vw2DDataObject::usePar
virtual bool usePar(const IOPar &)
Vw2DEMDataObject::auxdataeditors_
const ObjectSet< uiFlatViewAuxDataEditor > & auxdataeditors_
Definition: view2ddata.h:71
NotifierAccess
Interface class for Notifier. See comments there.
Definition: notify.h:22
Vw2DDataObject::sKeyMID
static const char * sKeyMID()
Definition: view2ddata.h:40
uiFlatViewAuxDataEditor
Flatview auxiliary data editor.
Definition: uiflatauxdataeditor.h:23
uiFlatViewWin
Base class for windows containing one or more uiFlatViewer(s).
Definition: uiflatviewwin.h:31
Vw2DDataObject::fillPar
virtual bool fillPar(IOPar &) const
Vw2DDataObject::name_
BufferString * name_
Definition: view2ddata.h:48
Vw2DDataObject::name
const char * name() const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
Vw2DEMDataObject::fillPar
virtual bool fillPar(IOPar &) const
Vw2DDataObject::Vw2DDataObject
Vw2DDataObject()
Vw2DDataObject::setName
virtual void setName(const char *)
refcount.h
Vw2DDataObject::deSelection
virtual NotifierAccess * deSelection()
Definition: view2ddata.h:35
Vw2DEMDataObject::Vw2DEMDataObject
Vw2DEMDataObject(const EM::ObjectID &, uiFlatViewWin *, const ObjectSet< uiFlatViewAuxDataEditor > &)
Vw2DEMDataObject::usePar
virtual bool usePar(const IOPar &)
view2ddataman.h
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Vw2DEMDataObject::emid_
EM::ObjectID emid_
Definition: view2ddata.h:68
Vw2DDataObject
Definition: view2ddata.h:24

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