[Developers] The uiDataPointSet
Bert Bril
Bert.Bril at opendtect.org
Sat May 24 22:08:34 CEST 2008
Hi all,
Further on the DataPointSet.
When you've built a set of data vectors in a DataPointSet, you may
want to show the data to users. You can see this when the user
requests a cross-plot (in 3.1.7, you can see this in the Attribute Set
window, Cross-plot button). Creating such the editor is very simple:
uiDataPointSet::Setup su( "Wobbly data",true); // true -> modal
uiDataPointSet dlg( this, dps, su );
if ( dlg.go() )
{ // User pressed 'Ok'
}
The uiDataPointSet is basically a uiTable with a lot of tools around
it, like cross-plots, statistics, sorting, store/retrieve, etc. When
you make the uiDataPointSet editable (i.e. if you don't set
Setup::isconst_ to true), the DPS will be changed 'live', so of course
you can ask for a CallBack when this happens:
dlg. valueChanged.notify( mCB(this,uiMyDlg,dpsChanged) );
The uiDataPointSet will not revert the set when the user presses
Cancel. If you want to support this, make a copy of the DPS before
launching it. This is done to support very large DataPointSets. Other
tools to support this are the row subselection box to allow displaying
only every Nth row, and in the plotting a similar box to show every
Nth plot point. Also, the cross-plot will show simpler markers when
the amount of points becomes very large.
User can remove rows per point (from the cross-plot window with
Ctrl-click), or by selecting rows in the uiTable, and pressing the
remove rows button.
I'll stop here; there are more features and there will be even more
because of the 'Cross-plotting' sub-project of the big 'British Gas
2008' sponsored project, like:
* Data selection/unselection (e.g. to remove part, or highlight in 3D)
* Data grouping
* Connection to the 3D visualization
* Cross-plot statistics and curves
Bert
--
-- Bert Bril / OpendTect developer at dGB
-- Nijverheidstraat 11-2, 7511 JM Enschede, The Netherlands
-- mailto:Bert.Bril at opendtect.org , http://opendtect.org
-- Tel: +31 534315155 , Fax: +31 534315104
More information about the Developers
mailing list