#include <QList>
#include <QVector>
#include <QHash>
-#include <QWeakPointer>
class QVBoxLayout;
protected: // Methods
- /// Garbage collector timer
- virtual void timerEvent(QTimerEvent * e);
-
private: // Methods
QString mMainPanelName;
/// List of GUI::Panel objects added to the manager
- QList<QWeakPointer<Gui::Panel> > mPanels;
+ QList<Gui::Panel *> mPanels;
/// List of minimized GUI::Panel objects
- QVector<QWeakPointer<Gui::Panel> > mMinimizedPanels;
+ QVector<Gui::Panel *> mMinimizedPanels;
/// Hash with panel names
- QHash<QString, QWeakPointer<Gui::Panel> > mPanelNames;
+ QHash<QString, Gui::Panel *> mPanelNames;
/// Current main panel added to this window
- QWeakPointer<Gui::Panel> mMainPanel;
-
- /// Garbage collector timer ID
- int mTimerId;
+ Gui::Panel * mMainPanel;
private: // Methods
/// Gets the main panel name from module attributes
QString getMainPanelName(QString const & args) const;
+
+private slots:
+
+ /// Panel destroyed signal. We need to remove the panel from all the
+ /// lists.
+ void panelDestroyed(QObject * obj = 0);
+
};
/**