#include <qdesigner_workbench.h>
Inheritance diagram for QDesignerWorkbench:


Definition at line 56 of file qdesigner_workbench.h.
Definition at line 60 of file qdesigner_workbench.h.
00061 { 00062 NeutralMode, 00063 TopLevelMode, 00064 DockedMode 00065 };
| QDesignerWorkbench::QDesignerWorkbench | ( | ) |
Definition at line 59 of file qdesigner_workbench.cpp.
References initialize(), m_initializing, and setUIMode().
00060 : m_mode(QDesignerWorkbench::NeutralMode), m_workspace(0) 00061 { 00062 m_initializing = true; 00063 initialize(); 00064 00065 setUIMode(UIMode(QDesignerSettings().uiMode())); 00066 m_initializing = false; 00067 }
| QDesignerWorkbench::~QDesignerWorkbench | ( | ) | [virtual] |
Definition at line 69 of file qdesigner_workbench.cpp.
References DockedMode, QList< T >::isEmpty(), m_mode, m_toolWindows, m_workspace, QMainWindow::saveState(), QDesignerSettings::setMainWindowState(), QList< T >::takeLast(), and QWidget::window().
00070 { 00071 if (m_mode == DockedMode) { 00072 Q_ASSERT(m_workspace != 0); 00073 QMainWindow *mw = qobject_cast<QMainWindow*>(m_workspace->window()); 00074 Q_ASSERT(mw != 0); 00075 00076 QDesignerSettings settings; 00077 settings.setMainWindowState(mw->saveState(2)); 00078 } 00079 00080 while (!m_toolWindows.isEmpty()) 00081 delete m_toolWindows.takeLast(); 00082 }
Here is the call graph for this function:

| QDesignerWorkbench::UIMode QDesignerWorkbench::mode | ( | ) | const |
Definition at line 84 of file qdesigner_workbench.cpp.
References m_mode.
Referenced by QDesignerActions::minimizeForm().
00085 { 00086 return m_mode; 00087 }
| QDesignerFormEditorInterface * QDesignerWorkbench::core | ( | ) | const |
Definition at line 602 of file qdesigner_workbench.cpp.
References m_core.
Referenced by activateWorkspaceChildWindow(), availableGeometry(), initialize(), initializeCorePlugins(), QDesignerActionEditor::QDesignerActionEditor(), QDesignerActions::QDesignerActions(), QDesignerFormWindow::QDesignerFormWindow(), QDesignerObjectInspector::QDesignerObjectInspector(), QDesignerPropertyEditor::QDesignerPropertyEditor(), QDesignerResourceEditor::QDesignerResourceEditor(), QDesignerSignalSlotEditor::QDesignerSignalSlotEditor(), QDesignerWidgetBox::QDesignerWidgetBox(), switchToDockedMode(), and switchToTopLevelMode().
00603 { 00604 return m_core; 00605 }
| QDesignerToolWindow * QDesignerWorkbench::findToolWindow | ( | QWidget * | widget | ) | const |
Definition at line 736 of file qdesigner_workbench.cpp.
References QMainWindow::centralWidget(), m_toolWindows, and toolWindow().
Referenced by availableGeometry(), switchToDockedMode(), and switchToTopLevelMode().
00737 { 00738 foreach (QDesignerToolWindow *toolWindow, m_toolWindows) { 00739 if (toolWindow->centralWidget() == widget) 00740 return toolWindow; 00741 } 00742 00743 return 0; 00744 }
Here is the call graph for this function:

| QDesignerFormWindow * QDesignerWorkbench::findFormWindow | ( | QWidget * | widget | ) | const |
Definition at line 746 of file qdesigner_workbench.cpp.
References QMainWindow::centralWidget(), formWindow(), and m_formWindows.
Referenced by QDesignerActions::showFormSettings().
00747 { 00748 foreach (QDesignerFormWindow *formWindow, m_formWindows) { 00749 if (formWindow->centralWidget() == widget) 00750 return formWindow; 00751 } 00752 00753 return 0; 00754 }
Here is the call graph for this function:

| QDesignerFormWindow * QDesignerWorkbench::createFormWindow | ( | ) |
Definition at line 572 of file qdesigner_workbench.cpp.
References addFormWindow(), QWorkspace::addWindow(), availableGeometry(), center(), formWindow(), g, QDesignerFormWindow::geometryHint(), m_workspace, magicalParent(), magicalWindowFlags(), QWidget::move(), QWidget::resize(), QWorkspace::setActiveWindow(), QWidget::setAttribute(), QWidget::setParent(), and Qt::WA_DeleteOnClose.
Referenced by NewForm::on_buttonBox_clicked(), and QDesignerActions::readInForm().
00573 { 00574 QDesignerFormWindow *formWindow = new QDesignerFormWindow(/*formWindow=*/ 0, this); 00575 00576 if (m_workspace) { 00577 m_workspace->addWindow(formWindow, magicalWindowFlags(formWindow)); 00578 } else { 00579 formWindow->setParent(magicalParent(), magicalWindowFlags(formWindow)); 00580 } 00581 00582 formWindow->setAttribute(Qt::WA_DeleteOnClose, true); 00583 00584 addFormWindow(formWindow); 00585 00586 QRect g = formWindow->geometryHint(); 00587 formWindow->resize(g.size()); 00588 formWindow->move(availableGeometry().center() - g.center()); 00589 00590 if (m_workspace) { 00591 m_workspace->setActiveWindow(formWindow); 00592 } 00593 00594 return formWindow; 00595 }
Here is the call graph for this function:

| int QDesignerWorkbench::toolWindowCount | ( | ) | const |
Definition at line 607 of file qdesigner_workbench.cpp.
References QList< T >::count(), and m_toolWindows.
Referenced by QDesignerActions::bringAllToFront().
00608 { 00609 return m_toolWindows.count(); 00610 }
Here is the call graph for this function:

| QDesignerToolWindow * QDesignerWorkbench::toolWindow | ( | int | index | ) | const |
Definition at line 612 of file qdesigner_workbench.cpp.
References QList< T >::at(), and m_toolWindows.
Referenced by addToolWindow(), QDesignerActions::bringAllToFront(), findToolWindow(), and removeToolWindow().
00613 { 00614 return m_toolWindows.at(index); 00615 }
Here is the call graph for this function:

| int QDesignerWorkbench::formWindowCount | ( | ) | const |
Definition at line 617 of file qdesigner_workbench.cpp.
References QList< T >::count(), and m_formWindows.
Referenced by QDesignerActions::bringAllToFront(), NewForm::on_buttonBox_clicked(), and removeFormWindow().
00618 { 00619 return m_formWindows.count(); 00620 }
Here is the call graph for this function:

| QDesignerFormWindow * QDesignerWorkbench::formWindow | ( | int | index | ) | const |
Definition at line 622 of file qdesigner_workbench.cpp.
References QList< T >::at(), and m_formWindows.
Referenced by addFormWindow(), QDesignerActions::bringAllToFront(), createFormWindow(), findFormWindow(), NewForm::on_buttonBox_clicked(), removeFormWindow(), and writeOutForm().
00623 { 00624 return m_formWindows.at(index); 00625 }
Here is the call graph for this function:

| QDesignerActions * QDesignerWorkbench::actionManager | ( | ) | const |
Definition at line 808 of file qdesigner_workbench.cpp.
References m_actionManager.
Referenced by QDesigner::callCreateForm(), and NewForm::on_buttonBox_clicked().
00809 { 00810 return m_actionManager; 00811 }
| QActionGroup* QDesignerWorkbench::modeActionGroup | ( | ) | const |
| QRect QDesignerWorkbench::availableGeometry | ( | ) | const |
Definition at line 627 of file qdesigner_workbench.cpp.
References QDesktopWidget::availableGeometry(), core(), findToolWindow(), QWidget::geometry(), m_workspace, qDesigner, and QDesktopWidget::screenNumber().
Referenced by createFormWindow(), QDesignerResourceEditor::geometryHint(), QDesignerSignalSlotEditor::geometryHint(), QDesignerPropertyEditor::geometryHint(), QDesignerObjectInspector::geometryHint(), QDesignerWidgetBox::geometryHint(), and QDesignerActionEditor::geometryHint().
00628 { 00629 if (m_workspace) 00630 return m_workspace->geometry(); 00631 00632 QDesktopWidget *desktop = qDesigner->desktop(); 00633 00634 QWidget *window = findToolWindow(core()->widgetBox()); 00635 if (window) 00636 return desktop->availableGeometry(desktop->screenNumber(window)); 00637 return desktop->availableGeometry(0); 00638 }
Here is the call graph for this function:

| int QDesignerWorkbench::marginHint | ( | ) | const |
Definition at line 640 of file qdesigner_workbench.cpp.
Referenced by QDesignerResourceEditor::geometryHint(), QDesignerObjectInspector::geometryHint(), QDesignerPropertyEditor::geometryHint(), QDesignerSignalSlotEditor::geometryHint(), and QDesignerActionEditor::geometryHint().
| void QDesignerWorkbench::saveSettings | ( | ) | const |
Definition at line 706 of file qdesigner_workbench.cpp.
References DockedMode, m_mode, m_toolWindows, qDesigner, QDesignerSettings::saveGeometryFor(), and QSettings::setValue().
Referenced by handleClose().
00707 { 00708 QDesignerSettings settings; 00709 if (m_mode == DockedMode) { 00710 if (qFindChild<QWorkspace *>(qDesigner->mainWindow())) { 00711 settings.saveGeometryFor(qDesigner->mainWindow()); 00712 settings.setValue(qDesigner->mainWindow()->objectName() + QLatin1String("/visible"), false); 00713 } 00714 } else { 00715 foreach (QDesignerToolWindow *tw, m_toolWindows) { 00716 settings.saveGeometryFor(tw); 00717 } 00718 } 00719 }
Here is the call graph for this function:

| bool QDesignerWorkbench::readInForm | ( | const QString & | fileName | ) | const |
Definition at line 721 of file qdesigner_workbench.cpp.
References m_actionManager, and QDesignerActions::readInForm().
Referenced by QDesigner::event(), eventFilter(), and QDesigner::initialize().
00722 { 00723 return m_actionManager->readInForm(fileName); 00724 }
Here is the call graph for this function:

| bool QDesignerWorkbench::writeOutForm | ( | QDesignerFormWindowInterface * | formWindow, | |
| const QString & | fileName | |||
| ) | const |
Definition at line 726 of file qdesigner_workbench.cpp.
References formWindow(), m_actionManager, and QDesignerActions::writeOutForm().
00727 { 00728 return m_actionManager->writeOutForm(formWindow, fileName); 00729 }
Here is the call graph for this function:

| bool QDesignerWorkbench::saveForm | ( | QDesignerFormWindowInterface * | fw | ) |
Definition at line 731 of file qdesigner_workbench.cpp.
References m_actionManager, and QDesignerActions::saveForm().
Referenced by QDesignerFormWindow::closeEvent().
00732 { 00733 return m_actionManager->saveForm(frm); 00734 }
Here is the call graph for this function:

| bool QDesignerWorkbench::handleClose | ( | ) |
Definition at line 756 of file qdesigner_workbench.cpp.
References QList< T >::at(), QMessageBox::Cancel, QWidget::close(), QMessageBox::Default, QDesignerFormWindow::editor(), QMessageBox::Escape, QDialog::exec(), m_formWindows, QMessageBox::No, saveSettings(), QMessageBox::setButtonText(), QDesignerFormWindowInterface::setDirty(), QWidget::setWindowModified(), QList< T >::size(), w, QMessageBox::Warning, and QMessageBox::Yes.
Referenced by QDesigner::event().
00757 { 00758 QList<QDesignerFormWindow *> dirtyForms; 00759 foreach (QDesignerFormWindow *w, m_formWindows) { 00760 if (w->editor()->isDirty()) 00761 dirtyForms << w; 00762 } 00763 00764 if (dirtyForms.size()) { 00765 if (dirtyForms.size() == 1) { 00766 if (!dirtyForms.at(0)->close()) { 00767 return false; 00768 } 00769 } else { 00770 QMessageBox box(tr("Save Forms?"), 00771 tr("There are %1 forms with unsaved changes." 00772 " Do you want to review these changes before quitting?") 00773 .arg(dirtyForms.size()), 00774 QMessageBox::Warning, 00775 QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, 00776 QMessageBox::Cancel | QMessageBox::Escape, 0); 00777 box.setButtonText(QMessageBox::Yes, tr("Review Changes")); 00778 box.setButtonText(QMessageBox::No, tr("Discard Changes")); 00779 switch (box.exec()) { 00780 case QMessageBox::Cancel: 00781 return false; 00782 case QMessageBox::Yes: 00783 foreach (QDesignerFormWindow *fw, dirtyForms) { 00784 fw->show(); 00785 fw->raise(); 00786 if (!fw->close()) { 00787 return false; 00788 } 00789 } 00790 break; 00791 case QMessageBox::No: 00792 foreach (QDesignerFormWindow *fw, dirtyForms) { 00793 fw->editor()->setDirty(false); 00794 fw->setWindowModified(false); 00795 } 00796 break; 00797 } 00798 } 00799 } 00800 00801 foreach (QDesignerFormWindow *fw, m_formWindows) 00802 fw->close(); 00803 00804 saveSettings(); 00805 return true; 00806 }
Here is the call graph for this function:

| void QDesignerWorkbench::closeAllToolWindows | ( | ) |
Definition at line 856 of file qdesigner_workbench.cpp.
References QWidget::hide(), and m_toolWindows.
00857 { 00858 foreach (QDesignerToolWindow *tw, m_toolWindows) 00859 tw->hide(); 00860 }
| void QDesignerWorkbench::modeChanged | ( | UIMode | mode | ) | [signal] |
| void QDesignerWorkbench::initialized | ( | ) | [signal] |
Referenced by initialize().
| void QDesignerWorkbench::addToolWindow | ( | QDesignerToolWindow * | toolWindow | ) | [slot] |
Definition at line 89 of file qdesigner_workbench.cpp.
References QDesignerToolWindow::action(), QActionGroup::actions(), QWidget::actions(), QActionGroup::addAction(), QList< T >::append(), QList< T >::count(), QList< T >::first(), QWidget::insertAction(), QList< T >::isEmpty(), QString::isEmpty(), QList< T >::last(), m_toolActions, m_toolMenu, m_toolWindowExtras, m_toolWindows, toolWindow(), and QWidget::windowTitle().
Referenced by initialize().
00090 { 00091 Q_ASSERT(m_toolWindowExtras.contains(toolWindow) == false); 00092 Q_ASSERT(toolWindow->windowTitle().isEmpty() == false); 00093 00094 m_toolWindows.append(toolWindow); 00095 00096 if (QAction *action = toolWindow->action()) { 00097 Q_ASSERT(m_toolMenu->actions().isEmpty() == false); 00098 00099 QList<QAction*> lst = m_toolActions->actions(); 00100 QAction *before = lst.count() ? lst.last() : m_toolMenu->actions().first(); 00101 m_toolMenu->insertAction(before, action); 00102 m_toolActions->addAction(action); 00103 } 00104 }
| void QDesignerWorkbench::addFormWindow | ( | QDesignerFormWindow * | formWindow | ) | [slot] |
Definition at line 106 of file qdesigner_workbench.cpp.
References QDesignerFormWindow::action(), QActionGroup::actions(), QMenu::addAction(), QActionGroup::addAction(), QMenu::addSeparator(), QList< T >::append(), QDesignerActions::editWidgets(), formWindow(), QList< T >::isEmpty(), m_actionManager, m_formWindowExtras, m_formWindows, m_windowActions, m_windowMenu, QDesignerActions::minimizeAction(), QAction::setChecked(), QAction::setEnabled(), and QAction::trigger().
Referenced by createFormWindow().
00107 { 00108 Q_ASSERT(m_formWindowExtras.contains(formWindow) == false); 00109 // ### Q_ASSERT(formWindow->windowTitle().isEmpty() == false); 00110 00111 m_formWindows.append(formWindow); 00112 if (m_windowActions->actions().isEmpty()) 00113 m_windowMenu->addSeparator(); 00114 00115 if (QAction *action = formWindow->action()) { 00116 m_windowActions->addAction(action); 00117 m_windowMenu->addAction(action); 00118 action->setChecked(true); 00119 } 00120 00121 m_actionManager->minimizeAction()->setEnabled(true); 00122 m_actionManager->editWidgets()->trigger(); 00123 }
| void QDesignerWorkbench::removeToolWindow | ( | QDesignerToolWindow * | toolWindow | ) | [slot] |
Definition at line 653 of file qdesigner_workbench.cpp.
References QDesignerToolWindow::action(), index, QList< T >::indexOf(), m_toolActions, m_toolMenu, m_toolWindowExtras, m_toolWindows, QWidget::removeAction(), QActionGroup::removeAction(), QList< T >::removeAt(), and toolWindow().
Referenced by QDesignerToolWindow::~QDesignerToolWindow().
00654 { 00655 int index = m_toolWindows.indexOf(toolWindow); 00656 if (index != -1) { 00657 m_toolWindows.removeAt(index); 00658 m_toolWindowExtras.remove(toolWindow); 00659 } 00660 00661 if (QAction *action = toolWindow->action()) { 00662 m_toolActions->removeAction(action); 00663 m_toolMenu->removeAction(action); 00664 } 00665 }
| void QDesignerWorkbench::removeFormWindow | ( | QDesignerFormWindow * | formWindow | ) | [slot] |
Definition at line 667 of file qdesigner_workbench.cpp.
References QDesignerFormWindow::action(), QWidget::actions(), QList< T >::at(), formWindow(), formWindowCount(), i, index, QList< T >::indexOf(), m_actionManager, m_formWindowExtras, m_formWindows, m_windowActions, m_windowMenu, QDesignerActions::minimizeAction(), QWidget::removeAction(), QActionGroup::removeAction(), QList< T >::removeAt(), QAction::setEnabled(), and QList< T >::size().
Referenced by QDesignerFormWindow::~QDesignerFormWindow().
00668 { 00669 int index = m_formWindows.indexOf(formWindow); 00670 if (index != -1) { 00671 m_formWindows.removeAt(index); 00672 m_formWindowExtras.remove(formWindow); 00673 } 00674 00675 if (QAction *action = formWindow->action()) { 00676 m_windowActions->removeAction(action); 00677 m_windowMenu->removeAction(action); 00678 } 00679 00680 if (formWindowCount() == 0) { 00681 m_actionManager->minimizeAction()->setEnabled(false); 00682 QList<QAction *> actions = m_windowMenu->actions(); 00683 for (int i = actions.size() - 1; i >= 0; --i) { 00684 QAction *act = actions.at(i); 00685 if (act->isSeparator()) { 00686 delete act; 00687 break; 00688 } 00689 } 00690 } 00691 }
| void QDesignerWorkbench::setUIMode | ( | UIMode | mode | ) | [slot] |
Definition at line 813 of file qdesigner_workbench.cpp.
References DockedMode, switchToDockedMode(), switchToTopLevelMode(), and TopLevelMode.
Referenced by QDesignerWorkbench(), and QDesignerActions::updateUIMode().
00814 { 00815 switch (mode) { 00816 case TopLevelMode: 00817 switchToTopLevelMode(); 00818 break; 00819 case DockedMode: 00820 switchToDockedMode(); 00821 break; 00822 00823 default: Q_ASSERT(0); 00824 } 00825 }
| void QDesignerWorkbench::switchToNeutralMode | ( | ) | [slot] |
Definition at line 298 of file qdesigner_workbench.cpp.
References QDesktopWidget::availableGeometry(), QHash< Key, T >::clear(), QApplication::desktop(), DockedMode, QHash< Key, T >::insert(), QWidget::isVisible(), QWidget::isWindow(), m_core, m_editToolBar, m_formToolBar, m_formWindows, m_geometries, m_globalMenuBar, m_mode, m_toolToolBar, m_toolWindows, m_visibilities, m_workspace, QWidget::mapToGlobal(), NeutralMode, p, QWidget::parentWidget(), QWidget::pos(), qDesigner, QMainWindow::saveState(), QWidget::setParent(), QDesignerToolWindow::setSaveSettingsOnClose(), QDesignerFormEditorInterface::setTopLevel(), QWidget::size(), QRect::topLeft(), TopLevelMode, and QWidget::window().
Referenced by switchToDockedMode(), and switchToTopLevelMode().
00299 { 00300 if (m_mode == NeutralMode) { 00301 return; 00302 } else if (m_mode == DockedMode) { 00303 Q_ASSERT(m_workspace != 0); 00304 QMainWindow *mw = qobject_cast<QMainWindow*>(m_workspace->window()); 00305 QDesignerSettings settings; 00306 settings.setMainWindowState(mw->saveState(2)); 00307 } 00308 00309 QPoint desktopOffset = QPoint(0, 0); 00310 QPoint workspaceOffset = QPoint(0, 0); 00311 if (m_mode == TopLevelMode) 00312 desktopOffset = QApplication::desktop()->availableGeometry().topLeft(); 00313 else if (m_mode == DockedMode) 00314 workspaceOffset = m_workspace->mapToGlobal(QPoint(0, 0)); 00315 m_mode = NeutralMode; 00316 00317 m_geometries.clear(); 00318 m_visibilities.clear(); 00319 00320 foreach (QDesignerToolWindow *tw, m_toolWindows) { 00321 m_visibilities.insert(tw, tw->isVisible()); 00322 if (tw->isVisible()) { 00323 // use the actual geometry 00324 QPoint pos = tw->window()->pos(); 00325 if (!tw->isWindow()) { 00326 if (const QWidget *pw = tw->parentWidget()) { 00327 pos = pw->mapTo(tw->window(), QPoint(0, 0)); 00328 pos += tw->window()->pos(); 00329 } 00330 00331 } 00332 m_geometries.insert(tw, QRect(pos - desktopOffset, tw->size())); 00333 } 00334 tw->setSaveSettingsOnClose(false); 00335 00336 tw->setParent(0); 00337 } 00338 00339 foreach (QDesignerFormWindow *fw, m_formWindows) { 00340 if (fw->isVisible()) { 00341 // use the actual geometry 00342 QPoint pos = fw->window()->pos(); 00343 if (!fw->isWindow()) 00344 if (QWidget *p = fw->parentWidget()) 00345 pos = p->pos(); // in workspace 00346 00347 m_geometries.insert(fw, QRect(pos - desktopOffset + workspaceOffset, 00348 fw->size())); 00349 } 00350 00351 fw->setParent(0); 00352 } 00353 00354 #ifndef Q_WS_MAC 00355 m_globalMenuBar->setParent(0); 00356 #endif 00357 m_editToolBar->setParent(0); 00358 m_toolToolBar->setParent(0); 00359 m_formToolBar->setParent(0); 00360 m_core->setTopLevel(0); 00361 qDesigner->setMainWindow(0); 00362 00363 if (m_workspace) 00364 delete m_workspace->parentWidget(); 00365 00366 m_workspace = 0; 00367 }
| void QDesignerWorkbench::switchToDockedMode | ( | ) | [slot] |
Definition at line 369 of file qdesigner_workbench.cpp.
References QDesignerToolWindow::action(), activateWorkspaceChildWindow(), QMainWindow::addDockWidget(), QMainWindow::addToolBar(), QWorkspace::addWindow(), changeBringToFrontVisiblity(), QObject::connect(), core(), DockedMode, findToolWindow(), QWidget::hide(), QObject::installEventFilter(), QMetaObject::invokeMethod(), QHash< Key, T >::isEmpty(), m_core, m_editToolBar, m_formToolBar, m_formWindows, m_geometries, m_globalMenuBar, m_initializing, m_mode, m_toolToolBar, m_toolWindows, m_visibilities, m_workspace, magicalDockWidget(), magicalWindowFlags(), QDesignerSettings::mainWindowState(), QWidget::move(), qApp, qDesigner, Qt::QueuedConnection, QMainWindow::restoreState(), QDesignerSettings::saveGeometryFor(), QWidget::setAcceptDrops(), QMainWindow::setCentralWidget(), QDesignerSettings::setGeometryFor(), QMainWindow::setMenuBar(), QObject::setObjectName(), QDesignerToolWindow::setSaveSettingsOnClose(), QWorkspace::setScrollBarsEnabled(), QDesignerFormEditorInterface::setTopLevel(), QWidget::setVisible(), QAction::setVisible(), QDockWidget::setWidget(), QWidget::setWindowState(), QWidget::setWindowTitle(), QWidget::show(), SIGNAL, SLOT, QMainWindow::statusBar(), switchToNeutralMode(), QRect::topLeft(), TopLevelMode, QHash< Key, T >::value(), Qt::WindowMaximized, and QWidget::windowState().
Referenced by setUIMode().
00370 { 00371 bool wasTopLevel = (m_mode == TopLevelMode); 00372 if (m_mode == DockedMode) 00373 return; 00374 00375 switchToNeutralMode(); 00376 m_mode = DockedMode; 00377 00378 QDesignerToolWindow *widgetBoxWrapper = 0; 00379 if (0 != (widgetBoxWrapper = findToolWindow(core()->widgetBox()))) { 00380 widgetBoxWrapper->action()->setVisible(true); 00381 widgetBoxWrapper->setWindowTitle(tr("Widget Box")); 00382 } 00383 00384 Q_ASSERT(m_workspace == 0); 00385 00386 QDesignerSettings settings; 00387 QDesignerToolWindow *mw = new QDesignerToolWindow(this); // Just to have a copy of 00388 mw->setSaveSettingsOnClose(true); 00389 mw->setObjectName(QLatin1String("MDIWindow")); 00390 mw->setWindowTitle(tr("Qt Designer")); 00391 m_workspace = new QWorkspace(mw); 00392 m_workspace->setAcceptDrops(true); 00393 m_workspace->installEventFilter(this); 00394 m_workspace->setScrollBarsEnabled(true); 00395 connect(m_workspace, SIGNAL(windowActivated(QWidget*)), 00396 this, SLOT(activateWorkspaceChildWindow(QWidget*))); 00397 mw->setCentralWidget(m_workspace); 00398 m_core->setTopLevel(mw); 00399 (void) mw->statusBar(); 00400 if (m_geometries.isEmpty()) { 00401 settings.setGeometryFor(mw, qApp->desktop()->availableGeometry(0)); 00402 } else { 00403 if (QDesignerToolWindow *widgetBox = findToolWindow(core()->widgetBox())) { 00404 QRect r = m_geometries.value(widgetBox, QRect(0, 0, 200, 200)); 00405 mw->move(r.topLeft()); 00406 } 00407 mw->setWindowState(mw->windowState() | Qt::WindowMaximized); 00408 } 00409 00410 #ifndef Q_WS_MAC 00411 mw->setMenuBar(m_globalMenuBar); 00412 m_globalMenuBar->show(); 00413 #endif 00414 mw->addToolBar(m_editToolBar); 00415 mw->addToolBar(m_toolToolBar); 00416 mw->addToolBar(m_formToolBar); 00417 m_editToolBar->show(); 00418 m_toolToolBar->show(); 00419 m_formToolBar->show(); 00420 00421 qDesigner->setMainWindow(mw); 00422 00423 foreach (QDesignerToolWindow *tw, m_toolWindows) { 00424 if (wasTopLevel) 00425 settings.saveGeometryFor(tw); 00426 QDockWidget *dockWidget = magicalDockWidget(tw); 00427 if (dockWidget == 0) { 00428 dockWidget = new QDockWidget(mw); 00429 dockWidget->setObjectName(tw->objectName() + QLatin1String("_dock")); 00430 dockWidget->setWindowTitle(tw->windowTitle()); 00431 mw->addDockWidget(tw->dockWidgetAreaHint(), dockWidget); 00432 } 00433 00434 dockWidget->setWidget(tw); 00435 } 00436 00437 foreach (QDesignerToolWindow *tw, m_toolWindows) { 00438 QDockWidget *dockWidget = magicalDockWidget(tw); 00439 tw->setVisible(true); 00440 dockWidget->setVisible(m_visibilities.value(tw, true)); 00441 } 00442 00443 mw->restoreState(settings.mainWindowState(), 2); 00444 00445 foreach (QDesignerFormWindow *fw, m_formWindows) 00446 m_workspace->addWindow(fw, magicalWindowFlags(fw))->hide(); 00447 // will be shown in adjustFormPositions 00448 00449 changeBringToFrontVisiblity(false); 00450 00451 mw->show(); 00452 00453 if (!m_initializing) 00454 QMetaObject::invokeMethod(this, "adjustFormPositions", Qt::QueuedConnection); 00455 }
| void QDesignerWorkbench::switchToTopLevelMode | ( | ) | [slot] |
Definition at line 513 of file qdesigner_workbench.cpp.
References QDesignerToolWindow::action(), QMainWindow::addToolBar(), QDesktopWidget::availableGeometry(), changeBringToFrontVisiblity(), core(), QApplication::desktop(), findToolWindow(), QList< T >::first(), g, QDesignerToolWindow::geometryHint(), QDesignerFormWindow::geometryHint(), QMainWindow::insertToolBarBreak(), QList< T >::isEmpty(), QWidget::isVisible(), m_core, m_editToolBar, m_formToolBar, m_formWindows, m_geometries, m_globalMenuBar, m_mode, m_toolToolBar, m_toolWindows, magicalParent(), magicalWindowFlags(), QWidget::move(), NeutralMode, qDesigner, QWidget::resize(), QAction::setChecked(), QDesignerSettings::setGeometryFor(), QMainWindow::setMenuBar(), QWidget::setParent(), QDesignerToolWindow::setSaveSettingsOnClose(), QDesignerFormEditorInterface::setTopLevel(), QAction::setVisible(), QWidget::setWindowTitle(), QWidget::show(), switchToNeutralMode(), QRect::topLeft(), TopLevelMode, and QHash< Key, T >::value().
Referenced by setUIMode().
00514 { 00515 if (m_mode == TopLevelMode) 00516 return; 00517 00518 // make sure that the widgetbox is visible iff it is different from neutrol. 00519 if (m_mode != NeutralMode) { 00520 if (QDesignerToolWindow *widgetbox_tool = findToolWindow(core()->widgetBox())) { 00521 if (!widgetbox_tool->action()->isChecked()) 00522 widgetbox_tool->action()->trigger(); 00523 } 00524 } 00525 00526 switchToNeutralMode(); 00527 QPoint desktopOffset = QApplication::desktop()->availableGeometry().topLeft(); 00528 m_mode = TopLevelMode; 00529 00530 // The widget box is special, it gets the menubar and gets to be the main widget. 00531 00532 QDesignerToolWindow *widgetBoxWrapper = 0; 00533 if (0 != (widgetBoxWrapper = findToolWindow(core()->widgetBox()))) { 00534 m_core->setTopLevel(widgetBoxWrapper); 00535 #ifndef Q_WS_MAC 00536 widgetBoxWrapper->setMenuBar(m_globalMenuBar); 00537 widgetBoxWrapper->action()->setVisible(false); 00538 widgetBoxWrapper->setSaveSettingsOnClose(true); 00539 qDesigner->setMainWindow(widgetBoxWrapper); 00540 widgetBoxWrapper->setWindowTitle(tr("Qt Designer")); 00541 #endif 00542 widgetBoxWrapper->addToolBar(m_editToolBar); 00543 widgetBoxWrapper->addToolBar(m_toolToolBar); 00544 widgetBoxWrapper->addToolBar(m_formToolBar); 00545 00546 widgetBoxWrapper->insertToolBarBreak(m_formToolBar); 00547 } 00548 00549 QDesignerSettings settings; 00550 bool found_visible_window = false; 00551 foreach (QDesignerToolWindow *tw, m_toolWindows) { 00552 tw->setParent(magicalParent(), magicalWindowFlags(tw)); 00553 settings.setGeometryFor(tw, tw->geometryHint()); 00554 tw->action()->setChecked(tw->isVisible()); 00555 found_visible_window |= tw->isVisible(); 00556 } 00557 00558 if (!m_toolWindows.isEmpty() && !found_visible_window) 00559 m_toolWindows.first()->show(); 00560 00561 changeBringToFrontVisiblity(true); 00562 00563 foreach (QDesignerFormWindow *fw, m_formWindows) { 00564 fw->setParent(magicalParent(), magicalWindowFlags(fw)); 00565 QRect g = m_geometries.value(fw, fw->geometryHint()); 00566 fw->resize(g.size()); 00567 fw->move(g.topLeft() + desktopOffset); 00568 fw->show(); 00569 } 00570 }
| void QDesignerWorkbench::initializeCorePlugins | ( | ) | [slot] |
Definition at line 693 of file qdesigner_workbench.cpp.
References core(), QDesignerPluginManager::instances(), QDesignerFormEditorInterface::pluginManager(), and QPluginLoader::staticInstances().
Referenced by initialize().
00694 { 00695 QList<QObject*> plugins = QPluginLoader::staticInstances(); 00696 plugins += core()->pluginManager()->instances(); 00697 00698 foreach (QObject *plugin, plugins) { 00699 if (QDesignerFormEditorPluginInterface *formEditorPlugin = qobject_cast<QDesignerFormEditorPluginInterface*>(plugin)) { 00700 if (!formEditorPlugin->isInitialized()) 00701 formEditorPlugin->initialize(core()); 00702 } 00703 } 00704 }
| void QDesignerWorkbench::initialize | ( | ) | [private, slot] |
Definition at line 125 of file qdesigner_workbench.cpp.
References QActionGroup::actions(), QMenu::addAction(), QToolBar::addAction(), QMenuBar::addMenu(), QMenu::addMenu(), QMenu::addSeparator(), addToolWindow(), QHash< Key, T >::clear(), QObject::connect(), core(), QDesignerComponents::createFormEditor(), QDesignerComponents::createTaskMenu(), QDesignerActions::editActions(), emit, QDesignerActions::fileActions(), QDesignerActions::formActions(), formWindowActionTriggered(), QDesignerFormEditorInterface::formWindowManager(), QDesignerActions::helpActions(), QAction::icon(), initializeCorePlugins(), initialized(), QDesignerComponents::initializePlugins(), QMenu::insertMenu(), QIcon::isNull(), m_actionManager, m_core, m_editMenu, m_editToolBar, m_fileMenu, m_formMenu, m_formToolBar, m_geometries, m_globalMenuBar, m_helpMenu, m_integration, m_toolActions, m_toolMenu, m_toolToolBar, m_windowActions, m_windowMenu, QDesignerActions::previewFormAction(), QDesignerActions::recentFilesActions(), QActionGroup::setExclusive(), QObject::setObjectName(), QWidget::setWindowTitle(), SIGNAL, SLOT, QDesignerActions::styleActions(), QAction::text(), QToolBar::toggleViewAction(), QDesignerActions::toolActions(), QDesignerActions::uiMode(), updateWindowMenu(), and QDesignerActions::windowActions().
Referenced by QDesignerWorkbench().
00126 { 00127 QDesignerSettings settings; 00128 m_core = QDesignerComponents::createFormEditor(this); 00129 00130 (void) QDesignerComponents::createTaskMenu(core(), this); 00131 00132 initializeCorePlugins(); 00133 QDesignerComponents::initializePlugins(core()); 00134 00135 m_toolActions = new QActionGroup(this); 00136 m_toolActions->setExclusive(false); 00137 00138 m_windowActions = new QActionGroup(this); 00139 m_windowActions->setExclusive(true); 00140 connect(m_windowActions, SIGNAL(triggered(QAction*)), this, SLOT(formWindowActionTriggered(QAction*))); 00141 00142 m_actionManager = new QDesignerActions(this); 00143 00144 m_globalMenuBar = new QMenuBar; 00145 00146 m_fileMenu = m_globalMenuBar->addMenu(tr("&File")); 00147 foreach (QAction *action, m_actionManager->fileActions()->actions()) { 00148 m_fileMenu->addAction(action); 00149 if (action->text() == QDesignerActions::tr("&Open Form...")) { 00150 QMenu *recentFilesMenu = m_fileMenu->addMenu(tr("&Recent Forms")); 00151 // Pop the "Recent Files" stuff in here. 00152 foreach(QAction *recentAction, m_actionManager->recentFilesActions()->actions()) 00153 recentFilesMenu->addAction(recentAction); 00154 } 00155 } 00156 00157 m_editMenu = m_globalMenuBar->addMenu(tr("&Edit")); 00158 foreach (QAction *action, m_actionManager->editActions()->actions()) { 00159 m_editMenu->addAction(action); 00160 } 00161 00162 m_editMenu->addSeparator(); 00163 00164 foreach (QAction *action, m_actionManager->toolActions()->actions()) { 00165 m_editMenu->addAction(action); 00166 } 00167 00168 m_editMenu->addSeparator(); 00169 QMenu *menu = m_editMenu->addMenu(tr("User Interface &Mode")); 00170 foreach (QAction *action, m_actionManager->uiMode()->actions()) 00171 menu->addAction(action); 00172 00173 00174 m_formMenu = m_globalMenuBar->addMenu(tr("F&orm")); 00175 foreach (QAction *action, m_actionManager->formActions()->actions()) { 00176 m_formMenu->addAction(action); 00177 } 00178 00179 QMenu *previewSubMenu = new QMenu(tr("Preview in"), m_formMenu); 00180 m_formMenu->insertMenu(m_actionManager->previewFormAction(), previewSubMenu); 00181 00182 foreach (QAction *action, m_actionManager->styleActions()->actions()) { 00183 previewSubMenu->addAction(action); 00184 } 00185 00186 m_toolMenu = m_globalMenuBar->addMenu(tr("&Tools")); 00187 00188 m_toolMenu->addSeparator(); 00189 00190 m_windowMenu = m_globalMenuBar->addMenu(tr("&Window")); 00191 foreach (QAction *action, m_actionManager->windowActions()->actions()) { 00192 m_windowMenu->addAction(action); 00193 } 00194 00195 m_helpMenu = m_globalMenuBar->addMenu(tr("&Help")); 00196 foreach (QAction *action, m_actionManager->helpActions()->actions()) { 00197 m_helpMenu->addAction(action); 00198 } 00199 00200 QDesignerToolWindow *tw = new QDesignerWidgetBox(this); 00201 tw->setObjectName(QLatin1String("qt_designer_widgetbox")); 00202 addToolWindow(tw); 00203 tw = new QDesignerObjectInspector(this); 00204 tw->setObjectName(QLatin1String("qt_designer_objectinspector")); 00205 addToolWindow(tw); 00206 tw = new QDesignerPropertyEditor(this); 00207 tw->setObjectName(QLatin1String("qt_designer_propertyeditor")); 00208 addToolWindow(tw); 00209 tw = new QDesignerSignalSlotEditor(this); 00210 tw->setObjectName(QLatin1String("qt_designer_signalsloteditor")); 00211 addToolWindow(tw); 00212 tw = new QDesignerResourceEditor(this); 00213 tw->setObjectName(QLatin1String("qt_designer_resourceeditor")); 00214 addToolWindow(tw); 00215 tw = new QDesignerActionEditor(this); 00216 tw->setObjectName(QLatin1String("qt_designer_actioneditor")); 00217 addToolWindow(tw); 00218 00219 m_integration = new qdesigner_internal::QDesignerIntegration(core(), this); 00220 00221 // create the toolbars 00222 m_editToolBar = new QToolBar; 00223 m_editToolBar->setObjectName(QLatin1String("editToolBar")); 00224 m_editToolBar->setWindowTitle(tr("Edit")); 00225 foreach (QAction *action, m_actionManager->editActions()->actions()) { 00226 if (action->icon().isNull() == false) 00227 m_editToolBar->addAction(action); 00228 } 00229 00230 m_toolToolBar = new QToolBar; 00231 m_toolToolBar->setObjectName(QLatin1String("toolsToolBar")); 00232 m_toolToolBar->setWindowTitle(tr("Tools")); 00233 foreach (QAction *action, m_actionManager->toolActions()->actions()) { 00234 if (action->icon().isNull() == false) 00235 m_toolToolBar->addAction(action); 00236 } 00237 00238 m_formToolBar = new QToolBar; 00239 m_formToolBar->setObjectName(QLatin1String("formToolBar")); 00240 m_formToolBar->setWindowTitle(tr("Form")); 00241 foreach (QAction *action, m_actionManager->formActions()->actions()) { 00242 if (action->icon().isNull() == false) 00243 m_formToolBar->addAction(action); 00244 } 00245 00246 QMenu *toolbarMenu = m_toolMenu->addMenu(tr("Toolbars")); 00247 toolbarMenu->addAction(m_editToolBar->toggleViewAction()); 00248 toolbarMenu->addAction(m_toolToolBar->toggleViewAction()); 00249 toolbarMenu->addAction(m_formToolBar->toggleViewAction()); 00250 00251 m_geometries.clear(); 00252 00253 emit initialized(); 00254 00255 connect(m_core->formWindowManager(), SIGNAL(activeFormWindowChanged(QDesignerFormWindowInterface*)), 00256 this, SLOT(updateWindowMenu(QDesignerFormWindowInterface*))); 00257 }
| void QDesignerWorkbench::activateWorkspaceChildWindow | ( | QWidget * | widget | ) | [private, slot] |
Definition at line 645 of file qdesigner_workbench.cpp.
References core(), QDesignerFormEditorInterface::formWindowManager(), m_workspace, QDesignerFormWindowManagerInterface::setActiveFormWindow(), and QWorkspace::setActiveWindow().
Referenced by switchToDockedMode().
00646 { 00647 if (QDesignerFormWindow *fw = qobject_cast<QDesignerFormWindow*>(widget)) { 00648 core()->formWindowManager()->setActiveFormWindow(fw->editor()); 00649 m_workspace->setActiveWindow(widget); 00650 } 00651 }
| void QDesignerWorkbench::updateWindowMenu | ( | QDesignerFormWindowInterface * | fw | ) | [private, slot] |
Definition at line 827 of file qdesigner_workbench.cpp.
References QWidget::parentWidget().
Referenced by initialize().
00828 { 00829 if (!fw) 00830 return; 00831 if (QDesignerFormWindow *dfw = qobject_cast<QDesignerFormWindow *>(fw->parentWidget())) 00832 dfw->action()->setChecked(true); 00833 }
| void QDesignerWorkbench::formWindowActionTriggered | ( | QAction * | a | ) | [private, slot] |
Definition at line 835 of file qdesigner_workbench.cpp.
References a, QWidget::activateWindow(), DockedMode, m_mode, m_workspace, QWidget::raise(), QWorkspace::setActiveWindow(), QWidget::setWindowState(), Qt::WindowMinimized, and QWidget::windowState().
Referenced by initialize().
00836 { 00837 QWidget *widget = a->parentWidget(); 00838 Q_ASSERT(widget != 0); 00839 00840 if (m_mode == DockedMode) { 00841 m_workspace->setActiveWindow(widget); 00842 } else { 00843 widget->setWindowState(widget->windowState() & ~Qt::WindowMinimized); 00844 widget->activateWindow(); 00845 widget->raise(); 00846 } 00847 }
| void QDesignerWorkbench::showToolBars | ( | ) | [private, slot] |
Definition at line 849 of file qdesigner_workbench.cpp.
References m_editToolBar, m_formToolBar, m_toolToolBar, and QWidget::show().
00850 { 00851 m_toolToolBar->show(); 00852 m_formToolBar->show(); 00853 m_editToolBar->show(); 00854 }
| void QDesignerWorkbench::adjustFormPositions | ( | ) | [private, slot] |
Definition at line 485 of file qdesigner_workbench.cpp.
References g, QDesignerFormWindow::geometryHint(), m_formWindows, m_geometries, m_workspace, QWidget::mapToGlobal(), QWidget::move(), QWidget::parentWidget(), QWidget::resize(), QWidget::show(), and QHash< Key, T >::value().
00486 { 00487 if (m_workspace == 0) 00488 return; 00489 00490 QPoint workspace_tl = m_workspace->mapToGlobal(QPoint(0, 0)); 00491 00492 foreach (QDesignerFormWindow *fw, m_formWindows) { 00493 QWidget *frame = fw->parentWidget(); 00494 if (frame == 0) 00495 continue; 00496 QRect g = m_geometries.value(fw, fw->geometryHint()); 00497 frame->move(g.topLeft() - workspace_tl); 00498 fw->resize(g.size()); 00499 frame->show(); 00500 } 00501 }
| QWidget * QDesignerWorkbench::magicalParent | ( | ) | const [private] |
Definition at line 282 of file qdesigner_workbench.cpp.
References DockedMode, m_mode, m_workspace, NeutralMode, and TopLevelMode.
Referenced by createFormWindow(), and switchToTopLevelMode().
00283 { 00284 switch (m_mode) { 00285 case TopLevelMode: 00286 return 0; 00287 case DockedMode: 00288 Q_ASSERT(m_workspace != 0); 00289 return m_workspace; 00290 case NeutralMode: 00291 return 0; 00292 default: 00293 Q_ASSERT(0); 00294 return 0; 00295 } 00296 }
| Qt::WindowFlags QDesignerWorkbench::magicalWindowFlags | ( | const QWidget * | widgetForFlags | ) | const [private] |
Definition at line 259 of file qdesigner_workbench.cpp.
References DockedMode, m_mode, m_workspace, NeutralMode, Qt::Tool, TopLevelMode, Qt::Window, Qt::WindowShadeButtonHint, Qt::WindowSystemMenuHint, and Qt::WindowTitleHint.
Referenced by createFormWindow(), switchToDockedMode(), and switchToTopLevelMode().
00260 { 00261 switch (m_mode) { 00262 case TopLevelMode: { 00263 #ifdef Q_WS_MAC 00264 if (qobject_cast<const QDesignerToolWindow *>(widgetForFlags)) 00265 return Qt::Tool; 00266 #else 00267 Q_UNUSED(widgetForFlags); 00268 #endif 00269 return Qt::Window; 00270 } 00271 case DockedMode: 00272 Q_ASSERT(m_workspace != 0); 00273 return Qt::Window | Qt::WindowShadeButtonHint | Qt::WindowSystemMenuHint | Qt::WindowTitleHint; 00274 case NeutralMode: 00275 return Qt::Window; 00276 default: 00277 Q_ASSERT(0); 00278 return 0; 00279 } 00280 }
| QDockWidget * QDesignerWorkbench::magicalDockWidget | ( | QWidget * | widget | ) | const [private] |
Definition at line 862 of file qdesigner_workbench.cpp.
References m_workspace, QObject::objectName(), and QWidget::window().
Referenced by switchToDockedMode().
00863 { 00864 if (!m_workspace) 00865 return 0; 00866 00867 QDockWidget *dockWidget = qFindChild<QDockWidget*>(m_workspace->window(), widget->objectName() + QLatin1String("_dock")); 00868 return dockWidget; 00869 }
Here is the call graph for this function:

| QDesignerFormWindowManagerInterface * QDesignerWorkbench::formWindowManager | ( | ) | const [private] |
Definition at line 597 of file qdesigner_workbench.cpp.
References QDesignerFormEditorInterface::formWindowManager(), and m_core.
00598 { 00599 return m_core->formWindowManager(); 00600 }
Here is the call graph for this function:

| void QDesignerWorkbench::changeBringToFrontVisiblity | ( | bool | visible | ) | [private] |
Definition at line 503 of file qdesigner_workbench.cpp.
References QActionGroup::actions(), QList< T >::at(), QDesignerActions::bringToFrontAction(), QList< T >::indexOf(), QAction::isSeparator(), m_actionManager, QAction::setVisible(), and QDesignerActions::windowActions().
Referenced by switchToDockedMode(), and switchToTopLevelMode().
00504 { 00505 QAction *btf = m_actionManager->bringToFrontAction(); 00506 QList<QAction *> actionList = m_actionManager->windowActions()->actions(); 00507 btf->setVisible(visible); 00508 QAction *sep = actionList.at(actionList.indexOf(btf) - 1); 00509 if (sep->isSeparator()) 00510 sep->setVisible(visible); 00511 }
Here is the call graph for this function:

Filters events if this object has been installed as an event filter for the watched object.
In your reimplementation of this function, if you want to filter the event out, i.e. stop it being handled further, return true; otherwise return false.
Example:
class MainWindow : public QMainWindow { public: MainWindow(); protected: bool eventFilter(QObject *obj, QEvent *ev); private: QTextEdit *textEdit; }; MainWindow::MainWindow() { textEdit = new QTextEdit; setCentralWidget(textEdit); textEdit->installEventFilter(this); } bool MainWindow::eventFilter(QObject *obj, QEvent *event) { if (obj == textEdit) { if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); qDebug() << "Ate key press" << keyEvent->key(); return true; } else { return false; } } else { // pass the event on to the parent class return QMainWindow::eventFilter(obj, event); } }
Notice in the example above that unhandled events are passed to the base class's eventFilter() function, since the base class might have reimplemented eventFilter() for its own internal purposes.
Reimplemented from QObject.
Definition at line 457 of file qdesigner_workbench.cpp.
References QMessageBox::critical(), QEvent::DragEnter, QEvent::Drop, QObject::event(), m_workspace, object, and readInForm().
00458 { 00459 if (object == m_workspace) { 00460 if (event->type() == QEvent::DragEnter) { 00461 QDragEnterEvent *e = static_cast<QDragEnterEvent*>(event); 00462 if (e->mimeData()->hasFormat("text/uri-list")) { 00463 e->acceptProposedAction(); 00464 return true; 00465 } 00466 } else if (event->type() == QEvent::Drop) { 00467 QDropEvent *e = static_cast<QDropEvent*>(event); 00468 if (!e->mimeData()->hasFormat("text/uri-list")) 00469 return false; 00470 foreach (QUrl url, e->mimeData()->urls()) { 00471 QString fileName = url.toLocalFile(); 00472 if (fileName.endsWith(".ui")) 00473 readInForm(url.toLocalFile()); 00474 else 00475 QMessageBox::critical(m_workspace, tr("Opening Form"), 00476 tr("Cannot open file %1!").arg(fileName)); 00477 } 00478 e->acceptProposedAction(); 00479 return true; 00480 } 00481 } 00482 return false; 00483 }
Here is the call graph for this function:

Definition at line 138 of file qdesigner_workbench.h.
Referenced by core(), formWindowManager(), initialize(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
Definition at line 141 of file qdesigner_workbench.h.
Referenced by actionManager(), addFormWindow(), changeBringToFrontVisiblity(), initialize(), readInForm(), removeFormWindow(), saveForm(), and writeOutForm().
QActionGroup* QDesignerWorkbench::m_toolActions [private] |
Definition at line 142 of file qdesigner_workbench.h.
Referenced by addToolWindow(), initialize(), and removeToolWindow().
QActionGroup* QDesignerWorkbench::m_windowActions [private] |
Definition at line 143 of file qdesigner_workbench.h.
Referenced by addFormWindow(), initialize(), and removeFormWindow().
QMenu* QDesignerWorkbench::m_fileMenu [private] |
QMenu* QDesignerWorkbench::m_editMenu [private] |
QMenu* QDesignerWorkbench::m_formMenu [private] |
QMenu* QDesignerWorkbench::m_toolMenu [private] |
Definition at line 148 of file qdesigner_workbench.h.
Referenced by addToolWindow(), initialize(), and removeToolWindow().
QMenu* QDesignerWorkbench::m_windowMenu [private] |
Definition at line 149 of file qdesigner_workbench.h.
Referenced by addFormWindow(), initialize(), and removeFormWindow().
QMenu* QDesignerWorkbench::m_helpMenu [private] |
QMenuBar* QDesignerWorkbench::m_globalMenuBar [private] |
Definition at line 152 of file qdesigner_workbench.h.
Referenced by initialize(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
QToolBar* QDesignerWorkbench::m_toolToolBar [private] |
Definition at line 153 of file qdesigner_workbench.h.
Referenced by initialize(), showToolBars(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
QToolBar* QDesignerWorkbench::m_formToolBar [private] |
Definition at line 154 of file qdesigner_workbench.h.
Referenced by initialize(), showToolBars(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
QToolBar* QDesignerWorkbench::m_editToolBar [private] |
Definition at line 155 of file qdesigner_workbench.h.
Referenced by initialize(), showToolBars(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
UIMode QDesignerWorkbench::m_mode [private] |
Definition at line 157 of file qdesigner_workbench.h.
Referenced by formWindowActionTriggered(), magicalParent(), magicalWindowFlags(), mode(), saveSettings(), switchToDockedMode(), switchToNeutralMode(), switchToTopLevelMode(), and ~QDesignerWorkbench().
Definition at line 159 of file qdesigner_workbench.h.
Referenced by addToolWindow(), closeAllToolWindows(), findToolWindow(), removeToolWindow(), saveSettings(), switchToDockedMode(), switchToNeutralMode(), switchToTopLevelMode(), toolWindow(), toolWindowCount(), and ~QDesignerWorkbench().
Definition at line 160 of file qdesigner_workbench.h.
Referenced by addFormWindow(), adjustFormPositions(), findFormWindow(), formWindow(), formWindowCount(), handleClose(), removeFormWindow(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
QWorkspace* QDesignerWorkbench::m_workspace [private] |
Definition at line 162 of file qdesigner_workbench.h.
Referenced by activateWorkspaceChildWindow(), adjustFormPositions(), availableGeometry(), createFormWindow(), eventFilter(), formWindowActionTriggered(), magicalDockWidget(), magicalParent(), magicalWindowFlags(), switchToDockedMode(), switchToNeutralMode(), and ~QDesignerWorkbench().
QHash<QWidget*, bool> QDesignerWorkbench::m_visibilities [private] |
Definition at line 163 of file qdesigner_workbench.h.
Referenced by switchToDockedMode(), and switchToNeutralMode().
QHash<QWidget*, QRect> QDesignerWorkbench::m_geometries [private] |
Definition at line 164 of file qdesigner_workbench.h.
Referenced by adjustFormPositions(), initialize(), switchToDockedMode(), switchToNeutralMode(), and switchToTopLevelMode().
Definition at line 169 of file qdesigner_workbench.h.
Referenced by addToolWindow(), and removeToolWindow().
Definition at line 170 of file qdesigner_workbench.h.
Referenced by addFormWindow(), and removeFormWindow().
bool QDesignerWorkbench::m_initializing [private] |
Definition at line 171 of file qdesigner_workbench.h.
Referenced by QDesignerWorkbench(), and switchToDockedMode().
1.5.1