Public Types | Public Member Functions | Protected Attributes

QmitkDataStorageTableModel::DataNodeCompareFunction Struct Reference

A struct that inherits from std::binary_function. You can use it in std::sort algorithm for sorting the node list elements. More...

#include <QmitkDataStorageTableModel.h>

List of all members.

Public Types

enum  CompareCriteria { CompareByName = 0, CompareByClassName, CompareByVisibility }
 

Specifies field of the property with which it will be sorted.

More...
enum  CompareOperator { Less = 0, Greater }
 

Specifies Ascending/descending ordering.

More...

Public Member Functions

 DataNodeCompareFunction (CompareCriteria _CompareCriteria=CompareByName, CompareOperator _CompareOperator=Less)
 Creates a PropertyDataSetCompareFunction. A CompareCriteria and a CompareOperator must be given.
bool operator() (const mitk::DataNode::Pointer &_Left, const mitk::DataNode::Pointer &_Right) const
 The reimplemented compare function.

Protected Attributes

CompareCriteria m_CompareCriteria
CompareOperator m_CompareOperator

Detailed Description

A struct that inherits from std::binary_function. You can use it in std::sort algorithm for sorting the node list elements.

Definition at line 146 of file QmitkDataStorageTableModel.h.


Member Enumeration Documentation

Specifies field of the property with which it will be sorted.

Enumerator:
CompareByName 
CompareByClassName 
CompareByVisibility 

Definition at line 152 of file QmitkDataStorageTableModel.h.

Specifies Ascending/descending ordering.

Enumerator:
Less 
Greater 

Definition at line 161 of file QmitkDataStorageTableModel.h.

                         {
      Less = 0,
      Greater
    };

Constructor & Destructor Documentation

QmitkDataStorageTableModel::DataNodeCompareFunction::DataNodeCompareFunction ( CompareCriteria  _CompareCriteria = CompareByName,
CompareOperator  _CompareOperator = Less 
)

Creates a PropertyDataSetCompareFunction. A CompareCriteria and a CompareOperator must be given.

Definition at line 481 of file QmitkDataStorageTableModel.cpp.

                                                                                          : m_CompareCriteria(_CompareCriteria)
                                                                                          , m_CompareOperator(_CompareOperator)
{
}

Member Function Documentation

bool QmitkDataStorageTableModel::DataNodeCompareFunction::operator() ( const mitk::DataNode::Pointer _Left,
const mitk::DataNode::Pointer _Right 
) const

The reimplemented compare function.

Definition at line 489 of file QmitkDataStorageTableModel.cpp.

{
  switch(m_CompareCriteria)
  {
  case CompareByClassName:
    if(m_CompareOperator == Less)
      return (_Left->GetData()->GetNameOfClass() < _Right->GetData()->GetNameOfClass() );
    else
      return (_Left->GetData()->GetNameOfClass()  > _Right->GetData()->GetNameOfClass() );
    break;

  case CompareByVisibility:
    {

      bool _LeftVisibility = false;
      bool _RightVisibility = false;
      _Left->GetVisibility(_LeftVisibility, 0);
      _Right->GetVisibility(_RightVisibility, 0);

      if(m_CompareOperator == Less)
        return (_LeftVisibility < _RightVisibility);
      else
        return (_LeftVisibility > _RightVisibility);
    }
    break;

    // CompareByName:
  default:
    if(m_CompareOperator == Less)
      return (_Left->GetName() < _Right->GetName());
    else
      return (_Left->GetName() > _Right->GetName());
    break;
  }
}

Member Data Documentation

Definition at line 177 of file QmitkDataStorageTableModel.h.

Definition at line 178 of file QmitkDataStorageTableModel.h.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines