datasets_viewer.cpp

Go to the documentation of this file.
00001 //--------------------------------------------------
00012 //---------------------------------------------------
00013 #include <iostream>
00014 
00015 
00016 #include "datasets_viewer.h"
00017 #include "dataset_item.h"
00018 
00019 #include <QMenu>
00020 #include <QMainWindow>
00021 #include <QContextMenuEvent>
00022 
00023 namespace imedgine 
00024 {
00025 
00026   DatasetsViewer::DatasetsViewer(QWidget* parent)
00027   : QListWidget(parent)
00028   {
00029     //std::cout << "DatasetsViewer constructed" << std::endl;
00030     
00031     close_dataset_action_ = new QAction(QIcon(":icons/document-close.png"),
00032       tr("Close Dataset"),this);
00033     save_dataset_action_ = new QAction(QIcon(":icons/document-save.png"),
00034       tr("&Save Dataset"), this);
00035     save_as_dataset_action_ = new QAction(QIcon(":icons/document-save-as.png"),
00036       tr("S&ave Dataset as"), this);
00037     
00038     connect(this, SIGNAL(itemDoubleClicked(QListWidgetItem*)),
00039             this, SLOT(doubleClicked(QListWidgetItem*)));
00040     connect(close_dataset_action_,SIGNAL(triggered()),
00041             this, SLOT(closeDataset()));
00042     connect(save_dataset_action_, SIGNAL(triggered()),
00043             this, SLOT(saveDataset()));
00044     connect(save_as_dataset_action_, SIGNAL(triggered()),
00045             this, SLOT(saveAsDataset()));
00046   }
00047 
00048   DatasetsViewer::~DatasetsViewer()
00049   {
00050   }
00051   
00052   void DatasetsViewer::addDataset(dataset_key_type const& dataset)
00053   {
00054     //std::cout << "addDataset received" << std::endl;
00055     
00056     loaded_datasets_.push_back(dataset);
00057     
00058     DatasetItem* dataset_item = new DatasetItem(QString(dataset.c_str()));
00059     
00060     addItem(dataset_item);  
00061   }
00062   
00063   void DatasetsViewer::doubleClicked(QListWidgetItem* dataset)
00064   {
00065     emit datasetDoubleClicked(dataset->text().toStdString());
00066   }
00067   
00068   void DatasetsViewer::contextMenuEvent( QContextMenuEvent* context_menu_event )
00069   {
00070     std::cout << "context menu requested" << std::endl;
00071     if(loaded_datasets_.size() > 0  && selectedItems().size() != 0)
00072     {
00073       QMenu menu(this);
00074       menu.addAction(close_dataset_action_);
00075       menu.addAction(save_dataset_action_);
00076       menu.addAction(save_as_dataset_action_);
00077       menu.exec(context_menu_event->globalPos());
00078       
00079     }
00080     
00081   }
00082   
00083   void DatasetsViewer::closeDataset()
00084   {
00085     
00086     QListWidgetItem* temp_item = takeItem(row(selectedItems().at(0)));
00087     emit closeDatasetSignal(temp_item->text().toStdString());
00088     delete temp_item;
00089   }
00090 
00091   void DatasetsViewer::saveDataset()
00092   {
00093     
00094     QListWidgetItem* temp_item = item(row(selectedItems().at(0)));
00095     emit saveDatasetSignal(temp_item->text().toStdString());
00096     //delete temp_item;
00097   }
00098 
00099   void DatasetsViewer::saveAsDataset()
00100   {
00101     
00102     QListWidgetItem* temp_item = item(row(selectedItems().at(0)));
00103     emit saveAsDatasetSignal(temp_item->text().toStdString());
00104     //delete temp_item;
00105   }
00106 }

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