コード例 #1
0
ファイル: windowsetting.cpp プロジェクト: mannd/epsimulator
void WindowSetting::setRecorder(Recorder* recorder) {
    if ((recorder_ = recorder)) {
        mainWindow_.number_ = recorder_->recorderWindow() == Primary
                              ? 1 : 2;
        mainWindow_.geometry_ = recorder_->saveGeometry();
        mainWindow_.size_ = recorder_->size();
        mainWindow_.pos_ = recorder_->pos();
        mainWindow_.state_ = recorder_->saveState();
        DisplayWindow* dw = 0;
        QMdiSubWindow* activeSubWindow = static_cast<QMdiArea*>(
                recorder_->centralWidget())->currentSubWindow();
        subWindowList_ = static_cast<QMdiArea*>(
                recorder_->centralWidget())->subWindowList();
        for (int i = 0; i < subWindowList_.size(); ++i) {
            dw = static_cast<DisplayWindow*>(subWindowList_[i]->widget());
            subWindowKeys_ << dw->key();
            if (subWindowList_[i] == activeSubWindow)
                activeSubWindowKey_ = dw->key();
            subWindows_[i].key_ = dw->key();
            subWindows_[i].geometry_ = subWindowList_[i]->saveGeometry();
            subWindows_[i].size_ = subWindowList_[i]->size();
            subWindows_[i].pos_ = subWindowList_[i]->pos();
        }
    }
}