OpendTect  6.6
uistratselunits.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: July 2011
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uistratmod.h"
15 #include "uigroup.h"
16 #include "stratunitrefiter.h"
17 class uiStratSelUnitsListItem;
18 class uiTreeView;
19 class uiComboBox;
20 
21 
22 
24 {
25 public:
26 
27  enum Type { Simple, Single, Multi };
28 
29  mExpClass(uiStrat) Setup
30  {
31  public:
32 
34  : type_(t)
35  , pol_(p)
36  , maxnrlines_(12)
37  , autochoosechildparent_(true)
38  , chooseallinitial_(false)
39  , fldtxt_(t==Multi?"Units":"Unit") {}
40 
41  mDefSetupMemb(Type,type)
43  mDefSetupMemb(int,maxnrlines)
45  mDefSetupMemb(bool,chooseallinitial)
46  mDefSetupMemb(bool,autochoosechildparent)
47  };
50 
52  const Strat::NodeUnitRef&,
53  const Setup&);
55 
56  bool isChosen(const Strat::UnitRef&) const;
57  bool isPresent(const Strat::UnitRef&) const;
58  const Strat::UnitRef* firstChosen() const;
60  void setCurrent(const Strat::UnitRef&);
61  void setChosen(const Strat::UnitRef&,bool yn=true);
62  void setExpanded(int dpth=mUdf(int)); // not for Simple
63 
68 
69 protected:
70 
74 
78 
79  void mkBoxFld();
80  void mkTreeFld();
81 
85 
86  inline bool isMulti() const { return setup_.type_==Multi; }
88  void checkChildren(const Strat::UnitRef*,bool);
89  void chooseRelated(const Strat::UnitRef*,bool);
91 
92  uiStratSelUnitsListItem* find(const Strat::UnitRef*);
93  const uiStratSelUnitsListItem* find( const Strat::UnitRef* ur ) const
94  { return const_cast<uiStratSelUnits*>(this)->find(ur); }
95 
96 };
97 
98 
uiStratSelUnits::setup_
Setup setup_
Definition: uistratselunits.h:76
uiStratSelUnits::choiceChg
void choiceChg(CallBacker *)
uiStratSelUnits::find
uiStratSelUnitsListItem * find(const Strat::UnitRef *)
uiStratSelUnits::setCurrent
void setCurrent(const Strat::UnitRef &)
uiTreeView
Definition: uitreeview.h:33
uiStratSelUnits::setExpanded
void setExpanded(int dpth=mUdf(int))
ObjectSet< const Strat::UnitRef >
uiComboBox
Combo box.
Definition: uicombobox.h:32
Strat::NodeUnitRef
UnitRef for units containing other units only.
Definition: stratunitref.h:118
uiStratSelUnits::Type
Type
Definition: uistratselunits.h:27
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiStratSelUnits::~uiStratSelUnits
~uiStratSelUnits()
uiStratSelUnits::treeFinalSel
void treeFinalSel(CallBacker *)
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
uiStratSelUnits::mkTreeFld
void mkTreeFld()
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiStratSelUnits::currentChanged
Notifier< uiStratSelUnits > currentChanged
Definition: uistratselunits.h:64
uigroup.h
uiStratSelUnits::doingautochoose_
bool doingautochoose_
Definition: uistratselunits.h:77
uiStratSelUnits::combo_
uiComboBox * combo_
Definition: uistratselunits.h:71
uiStratSelUnits::uiStratSelUnits
uiStratSelUnits(uiParent *, const Strat::NodeUnitRef &, const Setup &)
find
const BufferString * find(const BufferStringSet &, const char *)
uiStratSelUnits::find
const uiStratSelUnitsListItem * find(const Strat::UnitRef *ur) const
Definition: uistratselunits.h:93
stratunitrefiter.h
uiStratSelUnits::getChosen
void getChosen(ObjectSet< const Strat::UnitRef > &) const
uiGroup
Definition: uigroup.h:54
uiStratSelUnits::checkParent
void checkParent(const Strat::UnitRef *)
uiStratSelUnits::Setup::Setup
Setup(Type t, Strat::UnitRefIter::Pol p)
Definition: uistratselunits.h:33
Strat::UnitRefIter::Pol
Pol
Definition: stratunitrefiter.h:33
Notifier< uiStratSelUnits >
uiStratSelUnits::setChosen
void setChosen(const Strat::UnitRef &, bool yn=true)
uiStratSelUnits::unitChosen
Notifier< uiStratSelUnits > unitChosen
Only issued for Multi.
Definition: uistratselunits.h:65
uiStratSelUnits::isMulti
bool isMulti() const
Definition: uistratselunits.h:86
uiStratSelUnits::checkChildren
void checkChildren(const Strat::UnitRef *, bool)
uiStratSelUnits::mkBoxFld
void mkBoxFld()
uiStratSelUnits::Setup
Definition: uistratselunits.h:30
uiStratSelUnits::firstChosen
const Strat::UnitRef * firstChosen() const
uiStratSelUnits::lvitms_
ObjectSet< uiStratSelUnitsListItem > lvitms_
Definition: uistratselunits.h:73
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiStratSelUnits
Definition: uistratselunits.h:24
uiStratSelUnits::curChg
void curChg(CallBacker *)
uiStratSelUnits::curunit_
const Strat::UnitRef * curunit_
Definition: uistratselunits.h:67
uiStratSelUnits::tree_
uiTreeView * tree_
Definition: uistratselunits.h:72
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
uiStratSelUnits::isChosen
bool isChosen(const Strat::UnitRef &) const
uiStratSelUnits::isPresent
bool isPresent(const Strat::UnitRef &) const
uiParent
Definition: uiparent.h:26
uiStratSelUnits::unitPicked
Notifier< uiStratSelUnits > unitPicked
Only for Single.
Definition: uistratselunits.h:66
uiStratSelUnits::chooseRelated
void chooseRelated(const Strat::UnitRef *, bool)
uiStratSelUnits::unChooseParentIfLast
void unChooseParentIfLast(const Strat::UnitRef *)
Strat::UnitRef
Reference data for a stratigraphic unit.
Definition: stratunitref.h:38
uiStratSelUnits::topnode_
const Strat::NodeUnitRef & topnode_
Definition: uistratselunits.h:75

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