MainWindow::MainWindow(QWidget * parent, Qt::WindowFlags flags)
: QWidget(parent, flags)
+ , mReady(false)
{
setObjectName(QString("%1-%2").arg(VER_MODULE_NAME_STR).arg(__FUNCTION__));
mLayout = new QVBoxLayout;
setLayout(mLayout);
+ mSdiWindow = this;
+
EVAF_INFO("%s created", qPrintable(objectName()));
}
MainWindow::~MainWindow()
{
+ mSdiWindow = 0;
+
// Save geometry
saveSettings();
EVAF_INFO("%s destroyed", qPrintable(objectName()));
}
-bool MainWindow::init()
+bool MainWindow::init(QString const & args)
{
+ Q_UNUSED(args);
+
+ Common::iRegistry::instance()->registerInterface("iSdiWindow", this);
+
setWindowTitle(Common::iApp::instance()->name());
show();
+ mReady = true;
+
EVAF_INFO("%s initialized", qPrintable(objectName()));
return true;
void MainWindow::done()
{
+ mReady = false;
+
close();
- // Delete all the items added to the main window
- while (mItemsAdded.count() > 0) {
- QPointer<QObject> item = mItemsAdded.takeAt(0);
- if (item)
- delete item.data();
- }
+ // Delete the window
+ if (mWindow)
+ delete mWindow.data();
EVAF_INFO("%s finalized", qPrintable(objectName()));
}
-void MainWindow::addWidget(QWidget * widget)
+void MainWindow::addWindow(Gui::Window * window)
{
- mLayout->addWidget(widget);
- mItemsAdded.append(widget);
-}
-
-void MainWindow::addLayout(QLayout * layout)
-{
- mLayout->addLayout(layout);
- mItemsAdded.append(layout);
+ // Delete the existing window
+ if (mWindow)
+ delete mWindow.data();
+ mLayout->addWidget(window);
+ mWindow = window;
}
void MainWindow::saveSettings()
}
-//-------------------------------------------------------------------
-
-SdiWindowImpl::SdiWindowImpl()
- : iSdiWindow()
- , mReady(false)
-{
- setObjectName(QString("%1.iSdiWindow").arg(VER_MODULE_NAME_STR));
-
- mSdiWindow = this;
-
- wWindow = new MainWindow;
-
- Common::iRegistry::instance()->registerInterface("iSdiWindow", this);
-
- EVAF_INFO("%s created", qPrintable(objectName()));
-}
-
-SdiWindowImpl::~SdiWindowImpl()
-{
- delete wWindow;
-
- mSdiWindow = 0;
-
- EVAF_INFO("%s destroyed", qPrintable(objectName()));
-}
-
-bool SdiWindowImpl::init(const QString & args)
-{
- Q_UNUSED(args);
-
- if (!wWindow->init())
- return false;
-
- mReady = true;
-
- EVAF_INFO("%s initialized", qPrintable(objectName()));
-
- return true;
-}
-
-void SdiWindowImpl::done()
-{
- mReady = false;
-
- wWindow->done();
-
- EVAF_INFO("%s finalized", qPrintable(objectName()));
-}
-
-
//-------------------------------------------------------------------
SdiWindowPlugin::SdiWindowPlugin()
{
setObjectName(VER_MODULE_NAME_STR);
- mWindow = new SdiWindowImpl;
+ mWindow = new MainWindow;
EVAF_INFO("%s created", qPrintable(objectName()));
}