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

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