00001
00012
00013 #ifndef IMEDGINEDATASETS_VIEWER_H
00014 #define IMEDGINEDATASETS_VIEWER_H
00015
00016 #include "../global/global_definitions.h"
00017
00018 #include <QListWidget>
00019
00020 #include <vector>
00021
00022 class QContextMenuEvent;
00023 class QAction;
00024
00025 namespace imedgine
00026 {
00027
00028
00039
00040
00041 class DatasetsViewer : public QListWidget
00042 {
00043 Q_OBJECT
00044 public:
00045
00046
00049
00050 DatasetsViewer(QWidget* parent = 0);
00051
00052
00055
00056 ~DatasetsViewer();
00057
00058
00063
00064 void addDataset(dataset_key_type const& dataset_name);
00065
00066 signals:
00067
00068
00072
00073 void datasetDoubleClicked(dataset_key_type const& dataset_name);
00074
00075
00079
00080 void closeDatasetSignal(dataset_key_type const& dataset_name);
00081
00082
00086
00087 void saveDatasetSignal(dataset_key_type const& dataset_name);
00088
00089
00093
00094 void saveAsDatasetSignal(dataset_key_type const& dataset_name);
00095
00096 public slots:
00097
00098
00103
00104 void doubleClicked(QListWidgetItem* dataset);
00105
00106 private slots:
00107
00108
00113
00114 void closeDataset();
00115
00116
00121
00122 void saveDataset();
00123
00124
00129
00130 void saveAsDataset();
00131
00132
00133 protected:
00134
00135
00138
00139 virtual void contextMenuEvent(QContextMenuEvent* context_menu_event);
00140
00141 private:
00142
00143
00146 typedef std::vector<dataset_key_type> dataset_key_container_type;
00147
00148
00149 QAction* close_dataset_action_;
00150 QAction* save_dataset_action_;
00151 QAction* save_as_dataset_action_;
00152
00153
00156 dataset_key_container_type loaded_datasets_;
00157
00158 };
00159 }
00160
00161 #endif