Updraft
1.0
Open source glider flight visualisation tool.
|
00001 #ifndef UPDRAFT_SRC_CORE_UI_TAB_H_ 00002 #define UPDRAFT_SRC_CORE_UI_TAB_H_ 00003 00004 #include <QString> 00005 #include <QWidget> 00006 00007 #include "../../tabinterface.h" 00008 00009 class QTabWidget; 00010 00011 namespace Updraft { 00012 00013 class PluginBase; 00014 00015 namespace Core { 00016 00017 class MainWindow; 00018 00020 class Tab : public QWidget, public TabInterface { 00021 Q_OBJECT 00022 00023 public: 00024 Tab(QWidget* content, QString title, QTabWidget* parent); 00025 ~Tab(); 00026 00027 QWidget* getWidget() { return widget; } 00028 00029 void select(); 00030 void setTitle(const QString &title); 00031 00032 void connectSlotClose(const QObject* sender, const char *signal); 00033 void connectSignalCloseRequested(const QObject* receiver, 00034 const char *method); 00035 void connectCloseRequestToClose(); 00036 void connectSignalSelected(const QObject* receiver, const char *method); 00037 void connectSignalDeselected(const QObject* receiver, const char *method); 00038 00039 public slots: 00040 void close(); 00041 00042 signals: 00043 void tabCloseRequested(); 00044 void tabRemoved(QWidget *tab); 00045 void selected(); 00046 void deselected(); 00047 00048 private: 00049 QWidget* widget; 00050 QTabWidget* tabWidget; 00051 PluginBase* plugin; 00052 00053 friend class MainWindow; 00054 }; 00055 00056 } // End namespace Core 00057 } // End namespace Updraft 00058 00059 #endif // UPDRAFT_SRC_CORE_UI_TAB_H_ 00060