Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes

mitk::CoreObjectFactoryBase Class Reference

#include <mitkCoreObjectFactoryBase.h>

Inheritance diagram for mitk::CoreObjectFactoryBase:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::list
< mitk::FileWriterWithInformation::Pointer
FileWriterList
typedef std::multimap
< std::string, std::string > 
MultimapType

Public Member Functions

 mitkClassMacro (CoreObjectFactoryBase, itk::Object)
virtual Mapper::Pointer CreateMapper (mitk::DataNode *node, MapperSlotId slotId)=0
virtual void SetDefaultProperties (mitk::DataNode *node)=0
virtual const char * GetFileExtensions ()=0
virtual MultimapType GetFileExtensionsMap ()=0
virtual const char * GetSaveFileExtensions ()=0
virtual MultimapType GetSaveFileExtensionsMap ()=0
virtual const char * GetITKSourceVersion () const
virtual const char * GetDescription () const
FileWriterList GetFileWriters ()

Static Protected Member Functions

static void CreateFileExtensions (MultimapType fileExtensionsMap, std::string &fileExtensions)
 create a string from a map that contains the file extensions

Protected Attributes

FileWriterList m_FileWriters

Detailed Description

Definition at line 42 of file mitkCoreObjectFactoryBase.h.


Member Typedef Documentation

Definition at line 45 of file mitkCoreObjectFactoryBase.h.

typedef std::multimap<std::string, std::string> mitk::CoreObjectFactoryBase::MultimapType

Definition at line 46 of file mitkCoreObjectFactoryBase.h.


Member Function Documentation

void mitk::CoreObjectFactoryBase::CreateFileExtensions ( MultimapType  fileExtensionsMap,
std::string &  fileExtensions 
) [static, protected]

create a string from a map that contains the file extensions

Parameters:
fileExtensionsMapinput map with the file extensions, e.g. ("*.dcm", "DICOM files")("*.dc3", "DICOM files")
fileExtensionsthe converted output string, suitable for the QT QFileDialog widget e.g. "all (*.dcm *.DCM *.dc3 ... *.vti *.hdr *.nrrd *.nhdr );;Q-Ball Images (*.hqbi *qbi)"

Definition at line 20 of file mitkCoreObjectFactoryBase.cpp.

{
  std::map<std::string, std::string> aMap;

  // group the extensions by extension-group
  // e.g. aMap["DICOM files"] = "*.dcm *.DCM *.dc3 *.DC3 *.gdcm"
  for (MultimapType::iterator it = fileExtensionsMap.begin(); it != fileExtensionsMap.end(); ++it)
  {
    std::string aValue = aMap[(*it).second];
    if (aValue.compare("") != 0)
    {
      aValue.append(" ");
    }
    aValue.append((*it).first);
    aMap[(*it).second] = aValue;
  }

  // build the "all" entry (it contains all the extensions)
  // and add it to the string in the first position
  // e.g. "all (*.dcm *.DCM *.dc3 *.DC3 *.gdcm *.ima *.mhd ... *.vti *.hdr *.nrrd *.nhdr );;"
  fileExtensions = "all (";
  std::string lastKey = "";
  for (MultimapType::iterator it = fileExtensionsMap.begin(); it != fileExtensionsMap.end(); ++it)
  {
    std::string aKey = (*it).first;

    if (aKey.compare(lastKey) != 0)
    {
      if (lastKey.compare("") != 0)
      {
        fileExtensions.append(" ");
      }
      fileExtensions.append(aKey);
    }
    lastKey = aKey;
  }
  fileExtensions.append(");;");

  // build the entry for each extension-group
  // e.g. "Sets of 2D slices (*.pic *.pic.gz *.bmp *.png *.dcm *.gdcm *.ima *.tiff);;"
  for (std::map<std::string, std::string>::iterator it = aMap.begin(); it != aMap.end(); ++it)
  {
    //cout << "  [" << (*it).first << ", " << (*it).second << "]" << endl;
    std::string aKey = (*it).first;
    if (aKey.compare("") != 0)
    {
      fileExtensions.append((*it).first);
      fileExtensions.append(" (");
      fileExtensions.append((*it).second);
      fileExtensions.append(");;");
    }
  }
}
virtual Mapper::Pointer mitk::CoreObjectFactoryBase::CreateMapper ( mitk::DataNode node,
MapperSlotId  slotId 
) [pure virtual]
virtual const char* mitk::CoreObjectFactoryBase::GetDescription (  ) const [inline, virtual]

Definition at line 58 of file mitkCoreObjectFactoryBase.h.

    {
      return "Core Object Factory";
    }
virtual const char* mitk::CoreObjectFactoryBase::GetFileExtensions (  ) [pure virtual]
virtual MultimapType mitk::CoreObjectFactoryBase::GetFileExtensionsMap (  ) [pure virtual]
FileWriterList mitk::CoreObjectFactoryBase::GetFileWriters (  ) [inline]

Reimplemented in mitk::CoreObjectFactory.

Definition at line 62 of file mitkCoreObjectFactoryBase.h.

                                    {
      return m_FileWriters;
    }
virtual const char* mitk::CoreObjectFactoryBase::GetITKSourceVersion (  ) const [inline, virtual]

Definition at line 54 of file mitkCoreObjectFactoryBase.h.

    { 
      return ITK_SOURCE_VERSION;
    }
virtual const char* mitk::CoreObjectFactoryBase::GetSaveFileExtensions (  ) [pure virtual]
virtual MultimapType mitk::CoreObjectFactoryBase::GetSaveFileExtensionsMap (  ) [pure virtual]
mitk::CoreObjectFactoryBase::mitkClassMacro ( CoreObjectFactoryBase  ,
itk::Object   
)
virtual void mitk::CoreObjectFactoryBase::SetDefaultProperties ( mitk::DataNode node ) [pure virtual]

Member Data Documentation


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