#include <qdesigner_formwindow.h>
Inheritance diagram for QDesignerFormWindow:


Definition at line 33 of file qdesigner_formwindow.h.
Public Slots | |
| void | updateWindowTitle (const QString &fileName) |
| void | updateChanged () |
| void | geometryChanged () |
Public Member Functions | |
| QDesignerFormWindow (QDesignerFormWindowInterface *formWindow, QDesignerWorkbench *workbench, QWidget *parent=0, Qt::WindowFlags flags=0) | |
| virtual | ~QDesignerFormWindow () |
| QAction * | action () const |
| QDesignerWorkbench * | workbench () const |
| QDesignerFormWindowInterface * | editor () const |
| virtual QRect | geometryHint () const |
Protected Member Functions | |
| virtual void | changeEvent (QEvent *e) |
| virtual void | closeEvent (QCloseEvent *ev) |
| virtual void | resizeEvent (QResizeEvent *rev) |
Private Attributes | |
| QDesignerFormWindowInterface * | m_editor |
| QPointer< QDesignerWorkbench > | m_workbench |
| QAction * | m_action |
| bool | initialized |
| QDesignerFormWindow::QDesignerFormWindow | ( | QDesignerFormWindowInterface * | formWindow, | |
| QDesignerWorkbench * | workbench, | |||
| QWidget * | parent = 0, |
|||
| Qt::WindowFlags | flags = 0 | |||
| ) |
Definition at line 46 of file qdesigner_formwindow.cpp.
References QDesignerFormWindowInterface::commandHistory(), QObject::connect(), QDesignerWorkbench::core(), QDesignerFormWindowManagerInterface::createFormWindow(), QDesignerFormEditorInterface::formWindowManager(), geometryChanged(), m_action, m_editor, QMainWindow::setCentralWidget(), QAction::setCheckable(), QWidget::setMaximumSize(), QWidget::setParent(), SIGNAL, SLOT, updateChanged(), updateWindowTitle(), and workbench().
00047 : QMainWindow(parent, flags), 00048 m_editor(editor), 00049 m_workbench(workbench), 00050 initialized(false) 00051 { 00052 Q_ASSERT(workbench); 00053 00054 setMaximumSize(0xFFF, 0xFFF); 00055 00056 if (m_editor) { 00057 m_editor->setParent(this); 00058 } else { 00059 m_editor = workbench->core()->formWindowManager()->createFormWindow(this); 00060 } 00061 00062 setCentralWidget(m_editor); 00063 00064 m_action = new QAction(this); 00065 m_action->setCheckable(true); 00066 00067 connect(m_editor->commandHistory(), SIGNAL(indexChanged(int)), this, SLOT(updateChanged())); 00068 connect(m_editor, SIGNAL(fileNameChanged(QString)), this, SLOT(updateWindowTitle(QString))); 00069 connect(m_editor, SIGNAL(geometryChanged()), this, SLOT(geometryChanged())); 00070 }
Here is the call graph for this function:

| QDesignerFormWindow::~QDesignerFormWindow | ( | ) | [virtual] |
Definition at line 72 of file qdesigner_formwindow.cpp.
References QDesignerWorkbench::removeFormWindow(), and workbench().
00073 { 00074 if (workbench()) 00075 workbench()->removeFormWindow(this); 00076 }
Here is the call graph for this function:

| QAction * QDesignerFormWindow::action | ( | ) | const |
Definition at line 78 of file qdesigner_formwindow.cpp.
References m_action.
Referenced by QDesignerWorkbench::addFormWindow(), closeEvent(), and QDesignerWorkbench::removeFormWindow().
00079 { 00080 return m_action; 00081 }
| QDesignerWorkbench * QDesignerFormWindow::workbench | ( | ) | const |
Definition at line 114 of file qdesigner_formwindow.cpp.
References m_workbench.
Referenced by closeEvent(), QDesignerFormWindow(), and ~QDesignerFormWindow().
00115 { 00116 return m_workbench; 00117 }
| QDesignerFormWindowInterface * QDesignerFormWindow::editor | ( | ) | const |
Definition at line 109 of file qdesigner_formwindow.cpp.
References m_editor.
Referenced by QDesignerWorkbench::handleClose(), NewForm::on_buttonBox_clicked(), and QDesignerActions::readInForm().
00110 { 00111 return m_editor; 00112 }
| QRect QDesignerFormWindow::geometryHint | ( | ) | const [virtual] |
Definition at line 104 of file qdesigner_formwindow.cpp.
Referenced by QDesignerWorkbench::adjustFormPositions(), QDesignerWorkbench::createFormWindow(), and QDesignerWorkbench::switchToTopLevelMode().
00105 { 00106 return QRect(0, 0, 400, 300); 00107 }
| void QDesignerFormWindow::updateWindowTitle | ( | const QString & | fileName | ) | [slot] |
Definition at line 119 of file qdesigner_formwindow.cpp.
References QString::isEmpty(), m_editor, QDesignerFormWindowInterface::mainContainer(), QWidget::setWindowIcon(), QWidget::setWindowTitle(), and QWidget::windowTitle().
Referenced by QDesignerFormWindow(), QDesignerActions::readInForm(), and updateChanged().
00120 { 00121 QString fn = QFileInfo(fileName).fileName(); 00122 00123 if (fn.isEmpty()) { 00124 // Try to preserve its "untitled" number. 00125 QRegExp rx(QLatin1String("unnamed( (\\d+))?")); 00126 00127 if (rx.indexIn(windowTitle()) != -1) { 00128 fn = rx.cap(0); 00129 } else { 00130 fn = QLatin1String("untitled"); 00131 } 00132 } 00133 00134 if (QWidget *mc = m_editor->mainContainer()) { 00135 setWindowIcon(mc->windowIcon()); 00136 setWindowTitle(tr("%1 - %2[*]").arg(mc->windowTitle()).arg(fn)); 00137 } else { 00138 setWindowTitle(fn); 00139 } 00140 }
| void QDesignerFormWindow::updateChanged | ( | ) | [slot] |
Definition at line 176 of file qdesigner_formwindow.cpp.
References QDesignerFormWindowInterface::fileName(), QDesignerFormWindowInterface::isDirty(), m_editor, QWidget::setWindowModified(), and updateWindowTitle().
Referenced by QDesignerFormWindow(), and QDesignerActions::showFormSettings().
00177 { 00178 setWindowModified(m_editor->isDirty()); 00179 updateWindowTitle(m_editor->fileName()); 00180 }
| void QDesignerFormWindow::geometryChanged | ( | ) | [slot] |
Definition at line 197 of file qdesigner_formwindow.cpp.
References QDesignerFormWindowInterface::core(), QDesignerFormEditorInterface::extensionManager(), m_editor, object, QDesignerPropertyEditorInterface::object(), QDesignerFormEditorInterface::propertyEditor(), and QDesignerPropertyEditorInterface::setPropertyValue().
Referenced by QDesignerFormWindow().
00198 { 00199 if(QObject *object = m_editor->core()->propertyEditor()->object()) { 00200 QDesignerPropertySheetExtension *sheet = 00201 qt_extension<QDesignerPropertySheetExtension*>(m_editor->core()->extensionManager(), object); 00202 m_editor->core()->propertyEditor()->setPropertyValue("geometry", sheet->property(sheet->indexOf("geometry"))); 00203 } 00204 }
| void QDesignerFormWindow::changeEvent | ( | QEvent * | e | ) | [protected, virtual] |
This event handler can be reimplemented to handle state changes.
The state being changed in this event can be retrieved through event event.
Change events include: QEvent::ToolBarChange, QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::WindowTitleChange, QEvent::IconTextChange, QEcvent::ModifiedChange, QEvent::MouseTrackingChange, QEvent::ParentChange, QEvent::WindowStateChange, QEvent::LanguageChange, QEvent::LocaleChange, QEvent::LayoutDirectionChange.
Reimplemented from QWidget.
Definition at line 83 of file qdesigner_formwindow.cpp.
References QEvent::ActivationChange, QWidget::changeEvent(), QWidget::isActiveWindow(), m_action, QAction::setChecked(), QAction::setIcon(), QAction::setText(), QEvent::type(), QWidget::windowIcon(), QEvent::WindowIconChange, QWidget::windowTitle(), and QEvent::WindowTitleChange.
00084 { 00085 switch (e->type()) { 00086 case QEvent::ActivationChange: { 00087 if (isActiveWindow()) { 00088 m_action->setChecked(true); 00089 // ### raise(); 00090 } 00091 } break; 00092 case QEvent::WindowTitleChange: 00093 m_action->setText(windowTitle().replace(QLatin1String("[*]"), "")); 00094 break; 00095 case QEvent::WindowIconChange: 00096 m_action->setIcon(windowIcon()); 00097 break; 00098 default: 00099 break; 00100 } 00101 QMainWindow::changeEvent(e); 00102 }
Here is the call graph for this function:

| void QDesignerFormWindow::closeEvent | ( | QCloseEvent * | ev | ) | [protected, virtual] |
This event handler, for event event, can be reimplemented in a subclass to receive widget close events.
Reimplemented from QWidget.
Definition at line 142 of file qdesigner_formwindow.cpp.
References QEvent::accept(), action(), QMessageBox::Cancel, QMessageBox::Default, QMessageBox::Escape, QDialog::exec(), QDesignerFormWindowInterface::fileName(), QEvent::ignore(), QMessageBox::Information, QEvent::isAccepted(), QDesignerFormWindowInterface::isDirty(), QString::isEmpty(), m_editor, m_workbench, QMessageBox::No, QWidget::raise(), QDesignerWorkbench::saveForm(), QEvent::setAccepted(), QMessageBox::setButtonText(), QDesignerFormWindowInterface::setDirty(), Qt::Sheet, QTimer::singleShot(), SLOT, QAction::text(), workbench(), and QMessageBox::Yes.
00143 { 00144 if (m_editor->isDirty()) { 00145 raise(); 00146 QMessageBox box(tr("Save Form?"), 00147 tr("Do you want to save the changes you made to \"%1\" before closing?") 00148 .arg(m_editor->fileName().isEmpty() ? action()->text() : m_editor->fileName()), 00149 QMessageBox::Information, 00150 QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, 00151 QMessageBox::Cancel | QMessageBox::Escape, m_editor, Qt::Sheet); 00152 box.setButtonText(QMessageBox::Yes, m_editor->fileName().isEmpty() ? tr("Save...") : tr("Save")); 00153 box.setButtonText(QMessageBox::No, tr("Don't Save")); 00154 switch (box.exec()) { 00155 case QMessageBox::Yes: { 00156 bool ok = workbench()->saveForm(m_editor); 00157 ev->setAccepted(ok); 00158 m_editor->setDirty(!ok); 00159 break; 00160 } 00161 case QMessageBox::No: 00162 m_editor->setDirty(false); // Not really necessary, but stops problems if we get close again. 00163 ev->accept(); 00164 break; 00165 case QMessageBox::Cancel: 00166 ev->ignore(); 00167 break; 00168 } 00169 } 00170 00171 if (m_workbench->core()->formWindowManager()->formWindowCount() == 1 && ev->isAccepted() 00172 && QDesignerSettings().showNewFormOnStartup()) 00173 QTimer::singleShot(200, m_workbench->actionManager(), SLOT(createForm())); // Use timer in case we are quitting. 00174 }
Here is the call graph for this function:

| void QDesignerFormWindow::resizeEvent | ( | QResizeEvent * | rev | ) | [protected, virtual] |
This event handler can be reimplemented in a subclass to receive widget resize events which are passed in the event parameter. When resizeEvent() is called, the widget already has its new geometry. The old size is accessible through QResizeEvent::oldSize().
The widget will be erased and receive a paint event immediately after processing the resize event. No drawing need be (or should be) done inside this handler.
Reimplemented from QWidget.
Definition at line 182 of file qdesigner_formwindow.cpp.
References initialized, m_editor, QDesignerFormWindowInterface::mainContainer(), QWidget::raise(), QWidget::resizeEvent(), QDesignerFormWindowInterface::setDirty(), QWidget::setWindowModified(), and QWidget::update().
00183 { 00184 if(initialized) { 00185 m_editor->setDirty(true); 00186 setWindowModified(true); 00187 } 00188 00189 initialized = true; 00190 QMainWindow::resizeEvent(rev); 00191 00192 // update the maincontainer on resize 00193 m_editor->mainContainer()->raise(); 00194 m_editor->mainContainer()->update(); 00195 }
Here is the call graph for this function:

Definition at line 59 of file qdesigner_formwindow.h.
Referenced by closeEvent(), editor(), geometryChanged(), QDesignerFormWindow(), resizeEvent(), updateChanged(), and updateWindowTitle().
QAction* QDesignerFormWindow::m_action [private] |
Definition at line 61 of file qdesigner_formwindow.h.
Referenced by action(), changeEvent(), and QDesignerFormWindow().
bool QDesignerFormWindow::initialized [private] |
1.5.1