OpendTect  6.6
visselman.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: Kris Tingdahl
8  Date: Jan 2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 
16 #include "visbasemod.h"
17 #include "callback.h"
18 #include "sets.h"
19 
20 class SoSelection;
21 class SoNode;
22 class SoPath;
23 
24 namespace Threads { class Mutex; }
25 
26 namespace visBase
27 {
28 
29 class Scene;
30 class DataObject;
31 class DataManager;
32 class Selectable;
33 
44 {
45 public:
47  virtual ~SelectionManager();
48 
49  void setAllowMultiple(bool yn);
50  bool allowMultiple() const { return allowmultiple_; }
51 
52  void select(int id,bool keepoldsel=false)
53  { select( id, keepoldsel, true ); }
54  void deSelect(int id) { deSelect( id, true ); }
55  void deSelectAll() { deSelectAll( true ); }
56  void updateSel(int id) { updateSel( id, true ); }
57 
58  const TypeSet<int>& selected() const { return selectedids_; }
59 
63 
64  // for implementing pick-based reselection
66 
67  void fillPar(IOPar&,TypeSet<int>&) const {}
68  void usePar(const IOPar&) {}
69 
70 protected:
71  void select(int id,bool keep,bool lock);
72  void deSelect(int id,bool lock);
73  void deSelectAll(bool lock);
74  void updateSel(int id,bool lock);
75 
79 };
80 
81 } // namespace visBase
82 
visBase::SelectionManager::setAllowMultiple
void setAllowMultiple(bool yn)
visBase::SelectionManager::updateSel
void updateSel(int id)
Definition: visselman.h:56
Threads::Mutex
Is a lock that allows a thread to have exlusive rights to something.
Definition: thread.h:45
visBase::SelectionManager::selected
const TypeSet< int > & selected() const
Definition: visselman.h:58
visBase
Definition: visannot.h:43
visBase::SelectionManager::mutex_
Threads::Mutex & mutex_
Definition: visselman.h:78
visBase::SelectionManager::allowMultiple
bool allowMultiple() const
Definition: visselman.h:50
visBase::SelectionManager::fillPar
void fillPar(IOPar &, TypeSet< int > &) const
Definition: visselman.h:67
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visBase::SelectionManager::reselnotifier
CNotifier< SelectionManager, int > reselnotifier
Definition: visselman.h:65
visBase::SelectionManager::~SelectionManager
virtual ~SelectionManager()
callback.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visBase::SelectionManager::deselnotifier
CNotifier< SelectionManager, int > deselnotifier
Definition: visselman.h:61
visBase::SelectionManager::deSelect
void deSelect(int id, bool lock)
visBase::SelectionManager::selectedids_
TypeSet< int > selectedids_
Definition: visselman.h:76
visBase::SelectionManager
SelectionManager handles DataObject that can be selected. If an object can be selected,...
Definition: visselman.h:44
visBase::SelectionManager::SelectionManager
SelectionManager()
visBase::SelectionManager::select
void select(int id, bool keepoldsel=false)
Definition: visselman.h:52
visBase::SelectionManager::allowmultiple_
bool allowmultiple_
Definition: visselman.h:77
visBase::SelectionManager::updateselnotifier
CNotifier< SelectionManager, int > updateselnotifier
Definition: visselman.h:62
visBase::SelectionManager::deSelect
void deSelect(int id)
Definition: visselman.h:54
visBase::SelectionManager::select
void select(int id, bool keep, bool lock)
visBase::SelectionManager::selnotifier
CNotifier< SelectionManager, int > selnotifier
Definition: visselman.h:60
visBase::SelectionManager::updateSel
void updateSel(int id, bool lock)
visBase::SelectionManager::deSelectAll
void deSelectAll()
Definition: visselman.h:55
visBase::SelectionManager::deSelectAll
void deSelectAll(bool lock)
sets.h
Threads
interface to threads that should be portable.
Definition: atomic.h:23
CNotifier
Notifier with automatic capsule creation.
Definition: notify.h:171
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visBase::SelectionManager::usePar
void usePar(const IOPar &)
Definition: visselman.h:68
TypeSet< int >

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