defuze.me  Client
mainwindow.hpp
00001 /**************************************************************************
00002 ** defuze.me Epitech Innovative Project
00003 **
00004 ** Copyright 2010-2011
00005 **   Athena Calmettes - Jocelyn De La Rosa - Francois Gaillard
00006 **   Adrien Jarthon - Alexandre Moore - Luc Peres - Arnaud Sellier
00007 **
00008 ** All rights reserved.
00009 **************************************************************************/
00010 
00011 #ifndef MAINWINDOW_HPP
00012 #define MAINWINDOW_HPP
00013 
00014 #include "tab.hpp"
00015 #include "tabwidget.hpp"
00016 #include <QtCore/QList>
00017 #include <QtCore/QHash>
00018 #include <QtGui/QMainWindow>
00019 
00020 namespace Gui
00021 {
00022     class GuiCore;
00023 
00029     class MainWindow : public QMainWindow
00030     {
00031         Q_OBJECT
00032     public:
00033         MainWindow(GuiCore *guiCore, QWidget *parent = 0);
00034         ~MainWindow();
00035         void                    addTab(Tab *tab, const QString &icon, bool active = false);         
00036         Tab                     *currentTab();                                                      
00037         TabWidget*              getTabWidget() const;
00038         QList<Tab*>             getTabs() const;
00039 
00040     private:
00041         QList<Tab*>             tabs;
00042         QHash<QWidget*, Tab*>   gridsTabs;
00043         TabWidget               *tabWidget;
00044     };
00045 }
00046 
00047 #endif // MAINWINDOW_HPP