OpendTect  6.3
uistratdispdata.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: Bruno
8  Date: Mar 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uistratmod.h"
14 #include "notify.h"
15 #include "color.h"
16 #include "ranges.h"
17 #include "bufstringset.h"
18 
19 
20 namespace Strat
21 {
22  class UnitRef;
23  class LeavedUnitRef;
24  class NodeOnlyUnitRef;
25  class NodeUnitRef;
26  class RefTree;
27 }
28 
29 class uiStratRefTree;
30 class uiTreeViewItem;
31 
33 {
34 public:
35  StratDispData();
36  ~StratDispData();
37 
38  mStruct(uiStrat) Unit
39  {
40  Unit(const char* nm, const char* fullcode=0,
41  const Color& col = Color::White() )
42  : name_( nm )
43  , fullcode_(fullcode)
44  , color_(col)
45  , isdisplayed_(true)
46  {}
47 
48  const char* name() const { return name_.buf(); }
49  const char* fullCode() const { return fullcode_.buf(); }
50 
51  Color color_;
52  Interval<float> zrg_;
53  bool isdisplayed_;
54 
55  int colidx_; //tree depth
56 
57  protected :
58 
59  BufferString name_;
60  BufferString fullcode_;
61  };
62 
63 
64  mStruct(uiStrat) Level
65  {
66  Level(const char* nm,const char* unitcode)
67  : unitcode_(unitcode)
68  , name_( nm )
69  {}
70 
71  const BufferString name_;
72  const BufferString unitcode_;
73  Color color_;
74  float zpos_;
75  };
76 
77 
78  mStruct(uiStrat) Column
79  {
80  Column( const char* nm )
81  : name_(nm)
82  , isdisplayed_(true)
83  {}
84 
85  const BufferString name_;
86  bool isdisplayed_;
87 
88  ObjectSet<Unit> units_;
89  ObjectSet<Level> levels_;
90  };
91 
92  void eraseData();
93 
94  void addCol(Column*);
95  int nrCols() const;
96  Column* getCol(int colidx);
97  const Column* getCol(int colidx) const;
98 
99  void addUnit(int colidx,Unit*);
100  int nrUnits(int colidx) const;
101  Unit* getUnit(int colidx,int uidx);
102  const Unit* getUnit(int colidx,int uidx) const;
103 
104  int nrLevels(int colidx) const;
105  const Level* getLevel(int colidx,int lidx) const;
106 
107  int nrDisplayedCols() const;
108 
109 protected:
111 };
112 
113 
114 
118 {
119 public:
121  bool withaux=true,
122  bool withlvls=true);
124 
125  void setTree();
127 
128  int levelColIdx() const { return levelcolidx_; }
129 
130 protected:
131 
134 
135  bool withauxs_; //lithologies & descriptions
140 
141  void readUnits();
142  void addUnit(const Strat::NodeUnitRef&);
143  void addDescs(const Strat::LeavedUnitRef&);
144  void addLithologies(const Strat::LeavedUnitRef&);
145  void addLevel(const Strat::LeavedUnitRef&);
146  void addAnnot(const char*,Interval<float>& posrg,bool);
147  void readFromTree();
148 
149  void triggerDataChange(CallBacker*);
150  void treeDel(CallBacker*);
151 };
152 
153 
158 {
159 public:
162 
163  uiTreeViewItem* getItemFromTree(const char*);
164 
165  void handleUnitMenu(const char*);
166  void setUnitLvl(const char*);
167  void addUnit(const char*);
168  uiTreeViewItem* setCurrentTreeItem(const char*);
169 
170 protected:
171 
173 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
ObjectSet< Column > cols_
Definition: uistratdispdata.h:110
UnitRef for units containing Leaf units only.
Definition: stratunitref.h:200
FixedString Level()
Definition: keystrs.h:78
#define mStruct(module)
Definition: commondefs.h:162
bool withauxs_
Definition: uistratdispdata.h:135
used to gather all units and tied levels from a tree for display
Definition: uistratdispdata.h:117
int levelcolidx_
Definition: uistratdispdata.h:139
int lithocolidx_
Definition: uistratdispdata.h:137
uiStratRefTree & uitree_
Definition: uistratdispdata.h:172
Strat::RefTree * tree_
Definition: uistratdispdata.h:133
Set of pointers to objects.
Definition: commontypes.h:28
FixedString Unit()
Definition: keystrs.h:140
Definition: uitreeview.h:194
StratDispData & data_
Definition: uistratdispdata.h:132
UnitRef for units containing other units only.
Definition: stratunitref.h:120
Stratigraphy.
Definition: stratlevel.h:25
static Color White()
Definition: color.h:85
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Definition: uistratdispdata.h:32
Tree of UnitRef&#39;s.
Definition: stratreftree.h:27
~uiStratDispToTree()
Definition: uistratdispdata.h:161
Definition: uistratdispdata.h:157
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:24
bool withlevels_
Definition: uistratdispdata.h:136
int levelColIdx() const
Definition: uistratdispdata.h:128
Notifier< uiStratTreeToDisp > newtreeRead
Definition: uistratdispdata.h:126
int desccolidx_
Definition: uistratdispdata.h:138
Displays a Strat::RefTree.
Definition: uistratreftree.h:31

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