本文整理汇总了C++中QC_ApplicationWindow::getMdiArea方法的典型用法代码示例。如果您正苦于以下问题:C++ QC_ApplicationWindow::getMdiArea方法的具体用法?C++ QC_ApplicationWindow::getMdiArea怎么用?C++ QC_ApplicationWindow::getMdiArea使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QC_ApplicationWindow
的用法示例。
在下文中一共展示了QC_ApplicationWindow::getMdiArea方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: closeEditBlockWindow
/**
* Closes all windows that are editing the given block.
*/
void QC_DialogFactory::closeEditBlockWindow(RS_Block* block) {
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow");
QC_ApplicationWindow* appWindow = QC_ApplicationWindow::getAppWindow();
QMdiArea* mdiAreaCAD = appWindow->getMdiArea();
if (mdiAreaCAD!=NULL) {
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow: workspace found");
QList<QMdiSubWindow*> windows = mdiAreaCAD->subWindowList();
for (int i = 0; i <windows.size(); ++i) {
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow: window: %d",
i);
QC_MDIWindow* m = qobject_cast<QC_MDIWindow*>(windows.at(i)->widget());
if (m!=NULL) {
RS_DEBUG->print(
"QC_DialogFactory::closeEditBlockWindow: got mdi");
if (m->getDocument()==block) {
RS_DEBUG->print(
"QC_DialogFactory::closeEditBlockWindow: closing mdi");
//m->closeMDI(true, false);
m->setAttribute(Qt::WA_DeleteOnClose);//RLZ: to ensure the window is deleted
m->close();
}
}
}
}
QMdiSubWindow* subWindow=NULL;
appWindow->slotWindowActivated(subWindow);
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow: OK");
}
示例2: closeEditBlockWindow
/**
* Closes all windows that are editing the given block.
*/
void QC_DialogFactory::closeEditBlockWindow(RS_Block* block) {
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow");
QC_ApplicationWindow* appWindow = QC_ApplicationWindow::getAppWindow();
QMdiArea* mdiAreaCAD = appWindow->getMdiArea();
if (mdiAreaCAD==NULL) return; //should not happen
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow: workspace found");
for (int i = 0; i <mdiAreaCAD->subWindowList().size(); ) {
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow: window: %d",
i);
QC_MDIWindow* m = qobject_cast<QC_MDIWindow*>(mdiAreaCAD->subWindowList().at(i));
if(m==NULL) {
mdiAreaCAD->removeSubWindow(mdiAreaCAD->subWindowList().at(i));
continue;
}
RS_DEBUG->print(
"QC_DialogFactory::closeEditBlockWindow: got mdi");
if (m->getDocument()==block) {
RS_DEBUG->print(
"QC_DialogFactory::closeEditBlockWindow: closing mdi");
appWindow->slotFilePrintPreview(false);
m->closeMDI(true, false);
mdiAreaCAD->removeSubWindow(mdiAreaCAD->subWindowList().at(i));
continue;
// m->setAttribute(Qt::WA_DeleteOnClose);//RLZ: to ensure the window is deleted
// m->close();
}
i++;
}
//activate a subWindow, bug#3486357
QMdiSubWindow* subWindow=mdiAreaCAD->currentSubWindow();
appWindow->slotWindowActivated(subWindow);
RS_DEBUG->print("QC_DialogFactory::closeEditBlockWindow: OK");
}