dataset_configuration_tab_widget.cpp

00001 //--------------------------------------------------
00012 //---------------------------------------------------
00013 
00014 #include "dataset_configuration_tab_widget.h"
00015 
00016 #include <QWidget>
00017 
00018 #include "../viewer/view.h"
00019 #include "../viewer/meta_volume_pixel_view.h"
00020 #include "../controller/controller.h"
00021 #include "../global/global_definitions.h"
00022 
00023 
00024 namespace imedgine {
00025 
00026   //---------------------------------------------------
00027 
00028   DatasetConfigurationTabWidget::DatasetConfigurationTabWidget(QWidget* parent)
00029   : QTabWidget(parent)
00030   {
00031   }
00032   
00033   //---------------------------------------------------
00034 
00035   DatasetConfigurationTabWidget::~DatasetConfigurationTabWidget()
00036   {
00037 
00038     #ifdef DEBUG
00039       std::cout<<"Destructor of DatasetConfigurationTabWidget called" << std::endl;
00040     #endif
00041   }
00042 
00043   //---------------------------------------------------
00044 
00045   void DatasetConfigurationTabWidget::addDatasetConfigurationTab(
00046     dataset_key_type const& dataset_name)
00047     throw(NullPointerException)
00048   {
00049     view_pointer_type meta_volume_pixel_view =
00050       Controller::getInstance().getViewOfDataset(META_VOLUME_PIXEL_VIEW, dataset_name);
00051 
00052     if(meta_volume_pixel_view.get() == 0)
00053     { 
00054       throw(new NullPointerException
00055         ("DatasetConfigurationTabWidget::addDatasetConfigurationTab",
00056           "meta_volume_pixel_view"));
00057     }
00058 
00059     meta_volume_pixel_view->setParent(this);
00060     QWidget* viewer =
00061       (dynamic_cast<MetaVolumePixelView*>(meta_volume_pixel_view.get()))->getViewer();
00062 
00063     if(viewer == 0)
00064     {
00065       throw(new NullPointerException
00066         ("DatasetConfigurationTabWidget::addDatasetConfigurationTab", "viewer"));
00067     }
00068 
00069     addTab(viewer, QString(dataset_name.c_str()));
00070     dataset_name_to_widget_.insert(std::make_pair(dataset_name, viewer));
00071     setCurrentWidget(viewer);
00072   }
00073 
00074   void DatasetConfigurationTabWidget::addDatasetConfigurationTabs(
00075     std::vector<std::pair<dataset_key_type, dataset_type> > const& dataset_vector)
00076   {
00077     std::vector<std::pair<dataset_key_type, dataset_type> >::const_iterator
00078       dataset_vector_iterator = dataset_vector.begin();
00079 
00080     while(dataset_vector_iterator != dataset_vector.end())
00081     {
00082       std::cout << "addDatasetConfigurationTabs called: " << dataset_vector_iterator->first << std::endl;
00083       dataset_key_type temp_key = dataset_vector_iterator->first;
00084       //addDatasetConfigurationTab(temp_key);
00085       dataset_vector_iterator++;
00086     }
00087 
00088 
00089   }
00090 
00091   //---------------------------------------------------
00092 
00093   void DatasetConfigurationTabWidget::removeDatasetConfigurationTab(std::string dataset_name)
00094   {
00095     std::map<std::string, QWidget*>::iterator my_iterator =
00096       dataset_name_to_widget_.find(dataset_name);
00097     removeTab(indexOf(my_iterator->second));
00098     delete(my_iterator->second);
00099     dataset_name_to_widget_.erase(my_iterator);
00100   }
00101 }

Generated on Sun Aug 13 18:19:40 2006 for iMEDgine by  doxygen 1.4.6