Implements a weak reference to an object. More...
#include <mitkWeakPointer.h>


Public Types | |
| typedef TObjectType | ObjectType |
| typedef Message1< const itk::Object * > | itkObjectEvent |
Public Member Functions | |
| WeakPointer () | |
| WeakPointer (const WeakPointer< ObjectType > &p) | |
| WeakPointer (ObjectType *p) | |
| ~WeakPointer () | |
| ObjectType * | operator-> () const |
| operator ObjectType * () const | |
| template<typename R > | |
| bool | operator== (R r) const |
| template<typename R > | |
| bool | operator!= (R r) const |
| ObjectType * | GetPointer () const |
| bool | operator< (const WeakPointer &r) const |
| bool | operator> (const WeakPointer &r) const |
| bool | operator<= (const WeakPointer &r) const |
| bool | operator>= (const WeakPointer &r) const |
| bool | IsNotNull () const |
| bool | IsNull () const |
| WeakPointer & | operator= (const WeakPointer &r) |
| WeakPointer & | operator= (ObjectType *r) |
| ObjectType * | Print (std::ostream &os) const |
| void | OnObjectDelete (const itk::Object *caller, const itk::EventObject &) |
| Gets called when the object is deleted or modified. | |
| void | OnObjectModified (const itk::Object *caller, const itk::EventObject &) |
Public Attributes | |
| itkObjectEvent | ObjectDelete |
| AddEvent is emitted when the object pointed to gets deleted. | |
| itkObjectEvent | ObjectModified |
| AddEvent is emitted when the object pointed to gets modified. | |
Implements a weak reference to an object.
Extends the standard itk WeakPointer by listening to delete events of itk::Objects. When an itk::Object is deleted the WeakPointer sets its internal Pointer to 0. This enables checking against 0 and avoids crashes by accessing changed memory. Furthermore it dispatches Modified events with the mitkMessageDelegate system which is much easier to use.
Definition at line 40 of file mitkWeakPointer.h.
| typedef Message1<const itk::Object*> mitk::WeakPointer< TObjectType >::itkObjectEvent |
Definition at line 46 of file mitkWeakPointer.h.
| typedef TObjectType mitk::WeakPointer< TObjectType >::ObjectType |
Extract infoirmation from template parameter.
Definition at line 44 of file mitkWeakPointer.h.
| mitk::WeakPointer< TObjectType >::WeakPointer | ( | ) | [inline] |
Constructor.
Definition at line 56 of file mitkWeakPointer.h.
: m_DeleteObserverTag(-1)
, m_ModifiedObserverTag(-1)
, m_Pointer(0)
{
}
| mitk::WeakPointer< TObjectType >::WeakPointer | ( | const WeakPointer< ObjectType > & | p ) | [inline] |
Copy constructor.
Definition at line 64 of file mitkWeakPointer.h.
: m_DeleteObserverTag(-1)
, m_ModifiedObserverTag(-1)
, m_Pointer(p.m_Pointer)
{
this->AddDeleteAndModifiedObserver();
}
| mitk::WeakPointer< TObjectType >::WeakPointer | ( | ObjectType * | p ) | [inline] |
Constructor to pointer p.
Definition at line 73 of file mitkWeakPointer.h.
: m_DeleteObserverTag(-1),
m_ModifiedObserverTag(-1),
m_Pointer(p)
{
this->AddDeleteAndModifiedObserver();
}
| mitk::WeakPointer< TObjectType >::~WeakPointer | ( | ) | [inline] |
Destructor.
Definition at line 82 of file mitkWeakPointer.h.
{
this->RemoveDeleteAndModifiedObserver();
m_Pointer = 0;
}
| ObjectType* mitk::WeakPointer< TObjectType >::GetPointer | ( | ) | const [inline] |
Access function to pointer.
Definition at line 110 of file mitkWeakPointer.h.
Referenced by QmitkImageCropper::CropImage(), QmitkDataStorageTreeModel::GetDataStorage(), QmitkDataStorageTableModel::GetDataStorage(), QmitkDataStorageComboBox::GetDataStorage(), QmitkPropertiesTableModel::GetPropertyList(), mitk::WeakPointer< mitk::PointSetInteractor >::operator=(), mitk::SimpleHistogramCache::operator[](), QmitkDataStorageTableModel::SetDataStorage(), QmitkDataStorageComboBox::SetDataStorage(), QmitkPropertiesTableModel::SetPropertyList(), and QmitkImageCropper::SurroundingCheck().
{ return m_Pointer; }
| bool mitk::WeakPointer< TObjectType >::IsNotNull | ( | ) | const [inline] |
Test if the pointer has been initialized
Definition at line 130 of file mitkWeakPointer.h.
Referenced by QmitkMeasurement::AddFigureToDataStorage(), QmitkImageCropper::CreateNewBoundingObject(), QmitkVolumetryView::CreateOverlayChild(), QmitkSlicesInterpolator::GetDataStorage(), mitk::SegmentationSink::InsertBelowGroupNode(), mitk::SegmentationSink::LookForPointerTargetBelowGroupNode(), QmitkMeasurement::NodeAddedInDataStorage(), QmitkVolumetryView::OnCalculateVolume(), QmitkColourImageProcessingView::OnConvertImageMaskColorToRGBAImage(), QmitkColourImageProcessingView::OnConvertToRGBAImage(), QmitkVolumetryView::OnImageSelected(), QmitkSlicesInterpolator::OnInterpolationActivated(), QmitkSimpleMeasurement::OnSelectionChanged(), QmitkVolumetryView::OnTimeSeriesButtonClicked(), QmitkPropertiesTableModel::Reset(), QmitkDataStorageTableModel::Reset(), QmitkDataStorageComboBox::Reset(), QmitkDataStorageTreeModel::SetDataStorage(), QmitkDataStorageComboBox::SetDataStorage(), QmitkPointListViewWidget::SetPointSet(), QmitkPropertiesTableModel::SetPropertyList(), QmitkImageCropper::SurroundingCheck(), QmitkVolumetryView::UpdateSlider(), and QmitkDataStorageComboBox::~QmitkDataStorageComboBox().
{ return m_Pointer != 0; }
| bool mitk::WeakPointer< TObjectType >::IsNull | ( | ) | const [inline] |
Definition at line 132 of file mitkWeakPointer.h.
Referenced by QmitkDataStorageTreeModel::AddNode(), QmitkImageCropper::CropImage(), QmitkPointListViewWidget::keyPressEvent(), mitkWeakPointerTest(), QmitkColourImageProcessingView::OnCombineRGBA(), QmitkColourImageProcessingView::OnConvertImageMaskColorToRGBAImage(), QmitkColourImageProcessingView::OnConvertToRGBAImage(), QmitkVolumeVisualizationView::OnEnableLOD(), QmitkVolumeVisualizationView::OnEnableRendering(), QmitkVolumeVisualizationView::OnRenderMode(), QmitkMeasurement::PlanarFigureInitialized(), and QmitkPointListViewWidget::Update().
{ return m_Pointer == 0; }
| void mitk::WeakPointer< TObjectType >::OnObjectDelete | ( | const itk::Object * | caller, |
| const itk::EventObject & | |||
| ) | [inline] |
Gets called when the object is deleted or modified.
Definition at line 159 of file mitkWeakPointer.h.
{
// do not unsubscribe from this object. this would invalidate the iterator of the
// event listener vector (in itk::Object) and would lead to a crash
// instead: do nothing->object is going to be dead soon...
//this->RemoveDeleteAndModifiedObserver();
m_Pointer = 0;
m_DeleteObserverTag = -1;
m_ModifiedObserverTag = -1;
ObjectDelete.Send(caller);
}
| void mitk::WeakPointer< TObjectType >::OnObjectModified | ( | const itk::Object * | caller, |
| const itk::EventObject & | |||
| ) | [inline] |
Definition at line 172 of file mitkWeakPointer.h.
{
ObjectModified.Send(caller);
}
| mitk::WeakPointer< TObjectType >::operator ObjectType * | ( | ) | const [inline] |
| bool mitk::WeakPointer< TObjectType >::operator!= | ( | R | r ) | const [inline] |
Definition at line 104 of file mitkWeakPointer.h.
{
return (m_Pointer != (ObjectType*)r);
}
| ObjectType* mitk::WeakPointer< TObjectType >::operator-> | ( | ) | const [inline] |
| bool mitk::WeakPointer< TObjectType >::operator< | ( | const WeakPointer< TObjectType > & | r ) | const [inline] |
Comparison of pointers. Less than comparison.
Definition at line 114 of file mitkWeakPointer.h.
{ return (void*)m_Pointer < (void*) r.m_Pointer; }
| bool mitk::WeakPointer< TObjectType >::operator<= | ( | const WeakPointer< TObjectType > & | r ) | const [inline] |
Comparison of pointers. Less than or equal to comparison.
Definition at line 122 of file mitkWeakPointer.h.
{ return (void*)m_Pointer <= (void*) r.m_Pointer; }
| WeakPointer& mitk::WeakPointer< TObjectType >::operator= | ( | ObjectType * | r ) | [inline] |
Overload operator assignment.
Definition at line 140 of file mitkWeakPointer.h.
{
this->RemoveDeleteAndModifiedObserver();
m_Pointer = r;
this->AddDeleteAndModifiedObserver();
return *this;
}
| WeakPointer& mitk::WeakPointer< TObjectType >::operator= | ( | const WeakPointer< TObjectType > & | r ) | [inline] |
Overload operator assignment.
Definition at line 136 of file mitkWeakPointer.h.
Referenced by mitk::WeakPointer< mitk::PointSetInteractor >::operator=().
{ return this->operator = (r.GetPointer()); }
| bool mitk::WeakPointer< TObjectType >::operator== | ( | R | r ) | const [inline] |
Template comparison operators.
Definition at line 99 of file mitkWeakPointer.h.
{
return (m_Pointer == (ObjectType*)r);
}
| bool mitk::WeakPointer< TObjectType >::operator> | ( | const WeakPointer< TObjectType > & | r ) | const [inline] |
Comparison of pointers. Greater than comparison.
Definition at line 118 of file mitkWeakPointer.h.
{ return (void*)m_Pointer > (void*) r.m_Pointer; }
| bool mitk::WeakPointer< TObjectType >::operator>= | ( | const WeakPointer< TObjectType > & | r ) | const [inline] |
Comparison of pointers. Greater than or equal to comparison.
Definition at line 126 of file mitkWeakPointer.h.
{ return (void*)m_Pointer >= (void*) r.m_Pointer; }
| ObjectType* mitk::WeakPointer< TObjectType >::Print | ( | std::ostream & | os ) | const [inline] |
Function to print object pointed to.
Definition at line 149 of file mitkWeakPointer.h.
{
// This prints the object pointed to by the pointer
(*m_Pointer).Print(os);
return m_Pointer;
}
| itkObjectEvent mitk::WeakPointer< TObjectType >::ObjectDelete |
AddEvent is emitted when the object pointed to gets deleted.
Definition at line 49 of file mitkWeakPointer.h.
Referenced by mitk::WeakPointer< mitk::PointSetInteractor >::OnObjectDelete(), QmitkDataStorageTreeModel::SetDataStorage(), QmitkPointListViewWidget::SetPointSet(), and QmitkPropertiesTableModel::SetPropertyList().
| itkObjectEvent mitk::WeakPointer< TObjectType >::ObjectModified |
AddEvent is emitted when the object pointed to gets modified.
Definition at line 53 of file mitkWeakPointer.h.
Referenced by mitk::WeakPointer< mitk::PointSetInteractor >::OnObjectModified(), and QmitkPointListViewWidget::SetPointSet().
1.7.2