OpendTect  6.3
uidatapointset.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: Feb 2008
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiiocommon.h"
14 #include "uidialog.h"
15 #include "datapointset.h"
16 #include "bufstringset.h"
17 #include "iopar.h"
18 
19 class uiTable;
20 class uiSpinBox;
21 class uiCheckBox;
22 class uiToolBar;
23 class uiIOObjSelDlg;
24 class uiStatsDisplayWin;
26 class uiDPSDispPropDlg;
27 class uiVariogramDisplay;
28 
31 namespace Stats { template <class T> class RunCalc; }
32 
44 public:
45 
46  typedef int TColID;
47  typedef int TRowID;
50 
51  mStruct(uiIo) Setup : public uiDialog::Setup
53  public:
54  Setup(const uiString& wintitl,bool ismodal=false);
55 
56  mDefSetupMemb(uiString,wintitle)
57  mDefSetupMemb(bool,isconst)
58  mDefSetupMemb(bool,canaddrow)
59  mDefSetupMemb(bool,directremove)
60  mDefSetupMemb(bool,allowretrieve)
61  mDefSetupMemb(int,initialmaxnrlines)
62 
63  };
64 
65 
67  const Setup&,
68  DataPointSetDisplayMgr* mgr=0);
69  ~uiDataPointSet();
70 
71  DataPointSet& pointSet() { return *dps_; }
72  const DataPointSet& pointSet() const { return *dps_; }
73 
74  bool is2D() const;
75  int size() const { return drowids_.size(); }
77 
78  void setZFactor( float f, const uiString& unnm )
79  { zfac_ = f; zunitnm_ = unnm; }
81 
82  uiTable* table() { return tbl_; }
83  uiToolBar* ioToolBar() { return iotb_; }
84  uiToolBar* dispToolBar() { return disptb_; }
85  uiToolBar* manipToolBar() { return maniptb_; }
86 
87  const char* userName(DRowID did) const;
88  Stats::RunCalc<float>& getRunCalc(DColID) const;
89 
90  IOPar& storePars() { return storepars_; }
91  const IOPar& storePars() const { return storepars_; }
93 
95 
99 
101  DataPointSet::DataRow& after) const
102  { before = beforechgdr_; after = afterchgdr_; }
103 
104  void setCurrent(DColID,DRowID);
105  void setCurrent(const DataPointSet::Pos&,DColID);
106 
107  // Note that groups start at 1!
108  // Thus bss.get(0) => group 1.
109  void setGroupNames( const BufferStringSet& bss )
110  { grpnames_ = bss; }
111  const BufferStringSet& groupNames() const { return grpnames_; }
112  const char* groupName(int) const;
113  void setGroupType( const char* nm )
114  { grptype_ = nm; }
115  const char* groupType() const { return grptype_; }
116 
117  DRowID dRowID(TRowID tid=-99) const;
118  TRowID tRowID(DRowID did=-99) const;
119  DColID dColID(TColID tid=-99) const;
120  TColID tColID(DColID did=-99) const;
121 
122  bool isSelectionValid(DRowID) const;
123  void addRow(const DataPointSet::DataRow&);
124 
125  void notifySelectedCell();
126  void reDoTable();
127  bool posDispTypeChgd() { return posdisptypechgd_; }
128 
129  int getSelectionGroupIdx(int selaareaid) const;
130 
131  const DataPointSetDisplayMgr* displayMgr() const { return dpsdispmgr_; }
133  { dpsdispmgr_ = dispmgr; }
134 
135  void calcSelectedness();
136  void setDisp(DataPointSetDisplayProp*);
137  void showXY(bool yn);
138  void showZ(bool yn);
139 
141 
142 protected:
143 
146  float zfac_;
151 
156  float eachrow_;
158  float percentage_;
159  TColID xcol_;
160  TColID ycol_;
161  TColID y2col_;
162  TColID sortcol_;
163  TColID statscol_;
169  bool showbids_;
171 
173 
174  static const char* sKeyMinDPPts()
175  { return "Minimum pts for Density Plot"; }
186  uiDPSDispPropDlg* dpsdisppropdlg_;
187 
188  void mkToolBars();
189 
190  // default returns current row/col
191  float getVal(DColID,DRowID,bool userunits) const;
192 
193  void calcIdxs();
194  void calcSortIdxs();
195  void redoAll();
196  void updColNames();
197  void fillPos(TRowID);
198  void fillData(TRowID);
199  void handleAxisColChg();
200  void removeHiddenRows();
201  bool saveOK();
202  bool doSave();
203  void setSortedCol(TColID);
204  void unSelXCol();
205 
206  void rowAddedCB(CallBacker*);
207  void initWin(CallBacker*);
208  void selXCol(CallBacker*);
209  void selYCol(CallBacker*);
210  void unSelYCol(CallBacker*);
211  void colStepL(CallBacker*);
212  void colStepR(CallBacker*);
213  void rowClicked(CallBacker*);
214  void selChg(CallBacker*);
215  void valChg(CallBacker*);
216  void eachChg(CallBacker*);
217  void toggleXYZ(CallBacker*);
218  void setSortCol(CallBacker*);
219  void showCrossPlot(CallBacker*);
220  void showStatsWin(CallBacker*);
221  void retrieve(CallBacker*);
222  void save(CallBacker*);
223  void manage(CallBacker*);
224  void delSelRows(CallBacker*);
225  void showStatusMsg(CallBacker*);
226  void closeNotify(CallBacker*);
227  void showSelPts(CallBacker*);
228  void removeSelPts(CallBacker*);
229  void addColumn(CallBacker*);
230  void removeColumn(CallBacker*);
231  void compVertVariogram(CallBacker*);
232  void chgPosDispType(CallBacker*);
233 
234  bool acceptOK();
235  bool rejectOK();
236  void showPtsInWorkSpace(CallBacker*);
237  void applClosingCB(CallBacker*);
238 
241  void xplotSelChg(CallBacker*);
242  void xplotRemReq(CallBacker*);
243  void xplotClose(CallBacker*);
244  void getXplotPos(DColID&,DRowID&) const;
245 
247  void statsClose(CallBacker*);
248  void showStats(DColID);
249 
250  bool isDisp(bool) const;
251  void handleSelRows();
252  void setStatsMarker(DRowID);
253  void handleGroupChg(DRowID);
254 
256 
257 private:
258 
259  int initVars();
260 
261 public:
262  float getValue( DColID did, DRowID rid ,
263  bool userunits ) const
264  { return getVal(did,rid,userunits); }
265  void setUnsavedChg( bool chg )
266  { unsavedchgs_ = chg; }
267  int nrPosCols() const;
268 };
Definition: uitoolbar.h:30
#define mExpClass(module)
Definition: commondefs.h:157
float getVal(int colid, int rid) const
bool unsavedchgs_
Definition: uidatapointset.h:167
description of properties of dialog.
Definition: uidialog.h:49
void setGroupNames(const BufferStringSet &bss)
Definition: uidatapointset.h:109
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
float eachrow_
Definition: uidatapointset.h:156
TypeSet< TRowID > trowids_
often -1
Definition: uidatapointset.h:153
uiTable * table()
Definition: uidatapointset.h:82
FixedString Setup()
Definition: keystrs.h:113
uiDataPointSetCrossPlotWin * xplotwin_
Definition: uidatapointset.h:240
Set of data points with group selection.
Definition: datapointset.h:47
bool showbids_
Definition: uidatapointset.h:169
TColID xcol_
Definition: uidatapointset.h:159
TColID ycol_
Definition: uidatapointset.h:160
DataPointSet::DataRow beforechgdr_
Definition: uidatapointset.h:165
const IOPar & storePars() const
Definition: uidatapointset.h:91
#define mStruct(module)
Definition: commondefs.h:162
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
DataPointSet & pointSet()
Definition: uidatapointset.h:71
bool is2D(GeomType gt)
Definition: seistype.h:32
TypeSet< TRowID > revsortidxs_
Definition: uidatapointset.h:155
uiToolBar * ioToolBar()
Definition: uidatapointset.h:83
TColID sortcol_
Definition: uidatapointset.h:162
int dispxytbid_
Definition: uidatapointset.h:183
void setDisplayMgr(DataPointSetDisplayMgr *dispmgr)
Definition: uidatapointset.h:132
int RowID
Definition: datapointset.h:51
int TRowID
Definition: uidatapointset.h:47
int ColID
Definition: datapointset.h:52
Definition: uitable.h:29
bool fillingtable_
Definition: uidatapointset.h:168
const DataPointSet & pointSet() const
Definition: uidatapointset.h:72
IOPar storepars_
Definition: uidatapointset.h:148
DataPointSet crossplotter.
Definition: uidatapointsetcrossplot.h:45
Definition: uistring.h:88
Definition: uiparent.h:24
uiToolBar * maniptb_
Definition: uidatapointset.h:179
Set of BufferString objects.
Definition: bufstringset.h:25
ObjectSet< uiVariogramDisplay > variodlgs_
Definition: uidatapointset.h:255
Real Coord3D-position storable in BinIDValueSet + trc nr.
Definition: datapointset.h:59
void getChanges(DataPointSet::DataRow &before, DataPointSet::DataRow &after) const
Definition: uidatapointset.h:100
DataPointSet display manager.
Definition: dpsdispmgr.h:102
Definition: uidialog.h:40
TypeSet< DRowID > drowids_
Definition: uidatapointset.h:152
Definition: uiioobjseldlg.h:33
#define mDeclInstanceCreatedNotifierAccess(clss)
Definition: notify.h:235
Set of pointers to objects.
Definition: commontypes.h:28
ObjectSet< Stats::RunCalc< float > > runcalcs_
Definition: uidatapointset.h:164
uiToolBar * disptb_
Definition: uidatapointset.h:178
float plotpercentage_
Definition: uidatapointset.h:157
Notifier< uiDataPointSet > valueChanged
Definition: uidatapointset.h:92
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
const DataPointSetDisplayMgr * displayMgr() const
Definition: uidatapointset.h:131
Notifier< uiDataPointSet > selPtsToBeShown
Definition: uidatapointset.h:94
bool posdisptypechgd_
Definition: uidatapointset.h:170
static const char * sKeyMinDPPts()
Definition: uidatapointset.h:174
bool posDispTypeChgd()
Definition: uidatapointset.h:127
float zfac_
Definition: uidatapointset.h:146
DataPointSet::RowID DRowID
Definition: uidatapointset.h:49
void setUnsavedChg(bool chg)
Definition: uidatapointset.h:265
DataPointSetDisplayMgr * dpsdispmgr_
Definition: uidatapointset.h:172
TColID statscol_
Definition: uidatapointset.h:163
CNotifier< uiDataPointSet, int > rowRemoved
Definition: uidatapointset.h:98
DataPointSet::ColID DColID
Definition: uidatapointset.h:48
Data Point Set Cross Plotter Main window.
Definition: uidatapointsetcrossplotwin.h:26
Interface for DataPointSet Displays.
Definition: dpsdispmgr.h:35
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
Notifier< uiDataPointSet > rowAdded
Definition: uidatapointset.h:96
uiToolBar * iotb_
Definition: uidatapointset.h:177
void setGroupType(const char *nm)
Definition: uidatapointset.h:113
Definition: uispinbox.h:22
int dispztbid_
Definition: uidatapointset.h:184
float percentage_
Definition: uidatapointset.h:158
Data point with group. Group 0 means &#39;inactive&#39;, it can never be selected.
Definition: datapointset.h:103
uiCheckBox * showbidsfld_
Definition: uidatapointset.h:181
uiIOObjSelDlg * curseldlg_
Definition: uidatapointset.h:185
int size() const
number of displayable rows
Definition: uidatapointset.h:75
TColID y2col_
Definition: uidatapointset.h:161
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BufferString grptype_
Definition: uidatapointset.h:150
Edit DataPointSet.
Definition: uidatapointset.h:42
Definition: uivariogram.h:43
BufferStringSet grpnames_
Definition: uidatapointset.h:149
RefMan< DataPointSet > dps_
Definition: uidatapointset.h:144
TypeSet< TRowID > sortidxs_
Definition: uidatapointset.h:154
Statistics.
Definition: array2dinterpol.h:27
CNotifier< uiDataPointSet, int > rowToBeRemoved
Definition: uidatapointset.h:97
Stats display main window. See uistatsdisplay.h for details.
Definition: uistatsdisplaywin.h:23
uiStatsDisplayWin * statswin_
Definition: uidatapointset.h:246
uiDPSDispPropDlg * dpsdisppropdlg_
Definition: uidatapointset.h:186
int TColID
Definition: uidatapointset.h:46
const BufferStringSet & groupNames() const
Definition: uidatapointset.h:111
uiSpinBox * percfld_
Definition: uidatapointset.h:180
int xplottbid_
Definition: uidatapointset.h:182
uiTable * tbl_
Definition: uidatapointset.h:176
Definition: uibutton.h:130
uiToolBar * manipToolBar()
Definition: uidatapointset.h:85
DataPointSet::DataRow afterchgdr_
Definition: uidatapointset.h:166
const char * groupType() const
Definition: uidatapointset.h:115
uiString zunitnm_
Definition: uidatapointset.h:147
Setup setup_
Definition: uidatapointset.h:145
void setZFactor(float f, const uiString &unnm)
Default is SI().zDomain().userFactor()
Definition: uidatapointset.h:78
IOPar & storePars()
Definition: uidatapointset.h:90
uiToolBar * dispToolBar()
Definition: uidatapointset.h:84
float getValue(DColID did, DRowID rid, bool userunits) const
Definition: uidatapointset.h:262

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