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
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 }