OpendTect  6.3
uistratreftree.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: Bert
8  Date: June 2007
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uistratmod.h"
14 #include "callback.h"
15 #include "ranges.h"
16 #include "stratunitref.h"
17 #include "uistring.h"
18 
19 class uiPixmap;
20 class uiParent;
21 class uiTreeView;
22 class uiTreeViewItem;
23 namespace Strat {
24  class RefTree;
25  class NodeUnitRef;
26 }
27 
28 
33 public:
34 
36  ~uiStratRefTree();
37 
38  void setTree();
39  void setTree(Strat::RefTree&,bool force =false);
40 
41  const Strat::RefTree* tree() const { return tree_; }
42 
43  uiTreeView* treeView() { return lv_; }
44  const uiTreeView* treeView() const { return lv_; }
45  uiTreeViewItem* getLVItFromFullCode(const char*) const;
46  void expand(bool) const;
47  void makeTreeEditable(bool) const;
48  void handleMenu(uiTreeViewItem*);
49  void updateUnitsPixmaps();
50  void updateLithoCol();
51  void moveUnit(bool);
52  bool canMoveUnit(bool);
53 
54  bool anyChg() const { return anychange_; }
55  void setNoChg() { anychange_ = false; }
56 
57  void setEntranceDefaultTimes();
58  bool haveTimes() const;
59 
60 protected:
61 
63 
65  bool anychange_;
66 
67  void rClickCB(CallBacker*);
68  void mousePressedCB(CallBacker*);
69 
70  void insertSubUnit(uiTreeViewItem*);
71  void subdivideUnit(uiTreeViewItem*);
72  void updateUnitProperties(uiTreeViewItem*);
73  void removeUnit(uiTreeViewItem*);
74  void assignLevelBoundary(uiTreeViewItem*);
75  bool isLeaved(uiTreeViewItem*) const;
76 
77  void setUnitLvl(const char*);
78 
79  BufferString getFullCodeFromLVIt(const uiTreeViewItem*) const;
80  void insertUnitInLVIT(uiTreeViewItem*,int,
81  const Strat::UnitRef&) const;
82 
83  void addNode(uiTreeViewItem*,const Strat::NodeUnitRef&,bool);
84  uiPixmap* createUnitPixmap(const Color&) const;
85  //becomes yours!
86  Strat::NodeUnitRef* replaceUnit(Strat::NodeUnitRef&,bool byleaved);
87  void addLithologies(Strat::LeavedUnitRef&,
88  const TypeSet<int>&);
89 
90  void setNodesDefaultTimes(const Strat::NodeUnitRef&);
91  void getAvailableTime(const Strat::NodeUnitRef&,
92  Interval<float>&) const;
93  void ensureUnitTimeOK(Strat::NodeUnitRef&);
94  int getChildIdxFromTime(const Strat::NodeUnitRef&,
95  float) const;
96 
97  friend class uiStratDispToTree;
98 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
UnitRef for units containing Leaf units only.
Definition: stratunitref.h:200
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
bool anychange_
Definition: uistratreftree.h:65
const Strat::RefTree * tree() const
Definition: uistratreftree.h:41
Definition: uiparent.h:24
Definition: uitreeview.h:194
uiTreeView * lv_
Definition: uistratreftree.h:64
UnitRef for units containing other units only.
Definition: stratunitref.h:120
void setNoChg()
Definition: uistratreftree.h:55
Definition: uitreeview.h:29
Reference data for a stratigraphic unit.
Definition: stratunitref.h:36
Off-screen pixel-based paint device.
Definition: uipixmap.h:33
uiTreeView * treeView()
Definition: uistratreftree.h:43
const uiTreeView * treeView() const
Definition: uistratreftree.h:44
Stratigraphy.
Definition: stratlevel.h:25
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Tree of UnitRef&#39;s.
Definition: stratreftree.h:27
Strat::RefTree * tree_
Definition: uistratreftree.h:62
bool anyChg() const
Definition: uistratreftree.h:54
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
Displays a Strat::RefTree.
Definition: uistratreftree.h:31

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