00001
00012
00013 #ifndef IMEDGINETABORGANIZER_H
00014 #define IMEDGINETABORGANIZER_H
00015
00016 #include <QTabWidget>
00017 #include <map>
00018
00019 #include "../global/global_definitions.h"
00020
00021 class QPushButton;
00022
00023 namespace imedgine
00024 {
00025
00026 class ViewContainerWidget;
00027
00028
00040
00041
00042 class TabOrganizer : public QTabWidget
00043 {
00044
00045 Q_OBJECT
00046 public:
00047
00048
00052
00053 TabOrganizer( QWidget* parent = 0 );
00054
00055
00058
00059 virtual ~TabOrganizer();
00060
00061
00067
00068 int addTab(const std::vector<view_pointer_type>& view_vector, const QString& label );
00069
00070
00075
00076 void openOverviewForVolume(dataset_key_type const& dataset_name);
00077
00078
00083
00084 void openOverviewForImage(dataset_key_type const& dataset_name);
00085
00086 public slots:
00087
00088
00092
00093 void closeTab(dataset_key_type const& dataset_name);
00094
00095 private slots:
00096
00097
00100
00101 void closePressedSlot();
00102
00103 private:
00104
00105 QPushButton* close_button_;
00106 std::map<unsigned int, ViewContainerWidget*> lookup_map_;
00107 };
00108
00109 }
00110
00111 #endif