OpendTect
7.0
|
Editor for FlatView::AuxData. Allows the end-user to click-drag-release the points in data. Users of the class have the choice if the editor should do the changes for them, or if they want to do changes themself, driven by the callback. More...
Public Member Functions | |
AuxDataEditor (Viewer &, MouseEventHandler &) | |
virtual | ~AuxDataEditor () |
int | addAuxData (FlatView::AuxData *, bool doedit) |
void | enableEdit (int id, bool allowadd, bool allowmove, bool allowdelete) |
void | enablePolySel (int id, bool allowsel) |
int | getAddAuxData () const |
const ObjectSet< AuxData > & | getAuxData () const |
const TypeSet< int > & | getIds () const |
MenuHandler * | getMenuHandler () |
const Geom::PixRectangle< int > & | getMouseArea () const |
void | getPointSelections (TypeSet< int > &ids, TypeSet< int > &idxs) const |
const OD::LineStyle & | getSelectionPolygonLineStyle () const |
bool | getSelectionPolygonRectangle () const |
If not rectangle, it's a polygon. More... | |
int | getSelPtDataID () const |
const TypeSet< int > & | getSelPtIdx () const |
const Point & | getSelPtPos () const |
Rect | getWorldRect (int dataid) const |
bool | isDragging () const |
bool | isSelActive () const |
void | limitMovement (const Rect *) |
const Point * | markerPosAt (const Geom::Point2D< int > &mousepos) const |
MouseEventHandler & | mouseEventHandler () |
void | removeAuxData (int id) |
void | removePolygonSelected (int dataid) |
If dataid ==-1, all pts inside polygon is removed. More... | |
void | setAddAuxData (int id) |
Added points will be added to this set. More... | |
void | setMenuHandler (MenuHandler *) |
void | setSelActive (bool yn) |
void | setSelectionPolygonLineStyle (const OD::LineStyle &) |
void | setSelectionPolygonRectangle (bool) |
If not rectangle, it's a polygon. More... | |
void | setSelectionPolygonVisible (bool) |
void | setView (const Rect &wv, const Geom::Rectangle< int > &mouserect) |
Sower & | sower () |
Viewer & | viewer () |
const Viewer & | viewer () const |
Public Member Functions inherited from CallBacker | |
CallBacker () | |
CallBacker (const CallBacker &) | |
virtual | ~CallBacker () |
bool | attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const |
bool | attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const |
void | detachAllNotifiers () const |
Call from the destructor of your inherited object. More... | |
void | detachCB (const NotifierAccess &, const CallBack &) const |
void | detachCB (const NotifierAccess *notif, const CallBack &cb) const |
virtual bool | isCapsule () const |
bool | isNotifierAttached (const NotifierAccess *) const |
Only for debugging purposes, don't use. More... | |
void | stopReceivingNotifications () const |
virtual CallBacker * | trueCaller () |
Public Attributes | |
Notifier< AuxDataEditor > | addAuxDataChange |
Notifier< AuxDataEditor > | movementFinished |
Notifier< AuxDataEditor > | movementStarted |
Notifier< AuxDataEditor > | releaseSelection |
CNotifier< AuxDataEditor, bool > | removeSelected |
Protected Member Functions | |
int | dataSetIdxAt (const Geom::Point2D< int > &) const |
void | findSelection (const Geom::Point2D< int > &, int &seldatasetidx, TypeSet< int > *selptidxlist) const |
void | getPointSelections (const ObjectSet< AuxData > &polygon, TypeSet< int > &ids, TypeSet< int > &idxs) const |
void | mouseMoveCB (CallBacker *) |
void | mousePressCB (CallBacker *) |
void | mouseReleaseCB (CallBacker *) |
bool | removeSelectionPolygon () |
Returns true if viewer must be notified. More... | |
bool | updateSelection (const Geom::Point2D< int > &) |
Protected Attributes | |
int | addauxdataid_ |
BoolTypeSet | allowadd_ |
BoolTypeSet | allowmove_ |
BoolTypeSet | allowpolysel_ |
BoolTypeSet | allowremove_ |
ObjectSet< AuxData > | auxdata_ |
Rect | curview_ |
BoolTypeSet | doedit_ |
AuxData * | feedback_ |
bool | hasmoved_ |
TypeSet< int > | ids_ |
bool | isselactive_ |
MenuHandler * | menuhandler_ |
Geom::PixRectangle< int > | mousearea_ |
bool | mousedown_ |
MouseEventHandler & | mousehandler_ |
Rect * | movementlimit_ |
ObjectSet< AuxData > | polygonsel_ |
OD::LineStyle | polygonsellst_ |
bool | polygonselrect_ |
Geom::Point2D< int > | prevpt_ |
int | seldatasetidx_ |
Point | selptcoord_ |
TypeSet< int > | selptidx_ |
Sower * | sower_ |
Viewer & | viewer_ |
Friends | |
class | Sower |
Additional Inherited Members | |
Static Public Member Functions inherited from CallBacker | |
static void | createReceiverForCurrentThread () |
static void | removeReceiverForCurrentThread () |
Editor for FlatView::AuxData. Allows the end-user to click-drag-release the points in data. Users of the class have the choice if the editor should do the changes for them, or if they want to do changes themself, driven by the callback.
<>
FlatView::AuxDataEditor::AuxDataEditor | ( | Viewer & | , |
MouseEventHandler & | |||
) |
|
virtual |
int FlatView::AuxDataEditor::addAuxData | ( | FlatView::AuxData * | , |
bool | doedit | ||
) |
doedit | says whether this object should change the auxdata, or if the user of the objects should do it. |
|
protected |
void FlatView::AuxDataEditor::enableEdit | ( | int | id, |
bool | allowadd, | ||
bool | allowmove, | ||
bool | allowdelete | ||
) |
void FlatView::AuxDataEditor::enablePolySel | ( | int | id, |
bool | allowsel | ||
) |
|
protected |
int FlatView::AuxDataEditor::getAddAuxData | ( | ) | const |
const TypeSet<int>& FlatView::AuxDataEditor::getIds | ( | ) | const |
MenuHandler* FlatView::AuxDataEditor::getMenuHandler | ( | ) |
|
inline |
|
protected |
Each point within the limits of the polygons will be put in the typesets.
void FlatView::AuxDataEditor::getPointSelections | ( | TypeSet< int > & | ids, |
TypeSet< int > & | idxs | ||
) | const |
Each point within the limits of the polygons will be put in the typesets.
const OD::LineStyle& FlatView::AuxDataEditor::getSelectionPolygonLineStyle | ( | ) | const |
bool FlatView::AuxDataEditor::getSelectionPolygonRectangle | ( | ) | const |
If not rectangle, it's a polygon.
int FlatView::AuxDataEditor::getSelPtDataID | ( | ) | const |
const TypeSet<int>& FlatView::AuxDataEditor::getSelPtIdx | ( | ) | const |
const Point& FlatView::AuxDataEditor::getSelPtPos | ( | ) | const |
Rect FlatView::AuxDataEditor::getWorldRect | ( | int | dataid | ) | const |
|
inline |
|
inline |
void FlatView::AuxDataEditor::limitMovement | ( | const Rect * | ) |
When movement starts, the movement is unlimited. Movement can be limited once the movement started by calling limitMovement.
const Point* FlatView::AuxDataEditor::markerPosAt | ( | const Geom::Point2D< int > & | mousepos | ) | const |
|
inline |
|
protected |
|
protected |
|
protected |
void FlatView::AuxDataEditor::removeAuxData | ( | int | id | ) |
void FlatView::AuxDataEditor::removePolygonSelected | ( | int | dataid | ) |
If dataid ==-1, all pts inside polygon is removed.
|
protected |
Returns true if viewer must be notified.
void FlatView::AuxDataEditor::setAddAuxData | ( | int | id | ) |
Added points will be added to this set.
void FlatView::AuxDataEditor::setMenuHandler | ( | MenuHandler * | ) |
void FlatView::AuxDataEditor::setSelActive | ( | bool | yn | ) |
void FlatView::AuxDataEditor::setSelectionPolygonLineStyle | ( | const OD::LineStyle & | ) |
void FlatView::AuxDataEditor::setSelectionPolygonRectangle | ( | bool | ) |
If not rectangle, it's a polygon.
void FlatView::AuxDataEditor::setSelectionPolygonVisible | ( | bool | ) |
void FlatView::AuxDataEditor::setView | ( | const Rect & | wv, |
const Geom::Rectangle< int > & | mouserect | ||
) |
User of the class must ensure that both the wv and the mouserect are up to date at all times.
|
inline |
|
protected |
|
inline |
|
inline |
|
friend |
Notifier<AuxDataEditor> FlatView::AuxDataEditor::addAuxDataChange |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Notifier<AuxDataEditor> FlatView::AuxDataEditor::movementFinished |
|
protected |
Notifier<AuxDataEditor> FlatView::AuxDataEditor::movementStarted |
|
protected |
|
protected |
|
protected |
Notifier<AuxDataEditor> FlatView::AuxDataEditor::releaseSelection |
CNotifier<AuxDataEditor,bool> FlatView::AuxDataEditor::removeSelected |
if getSelPtDataID==-1 selection polygon changed else If selPtIdx()==-1, position should be added, else point moved. Boolean is true if this is the end of user interaction
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024