[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