Updraft  1.0
Open source glider flight visualisation tool.
tab.h
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines