qdesigner_internal::AdjustWidgetSizeCommand Class Reference

#include <qdesigner_command_p.h>

Inheritance diagram for qdesigner_internal::AdjustWidgetSizeCommand:

Inheritance graph
[legend]
Collaboration diagram for qdesigner_internal::AdjustWidgetSizeCommand:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 301 of file qdesigner_command_p.h.

Public Member Functions

 AdjustWidgetSizeCommand (QDesignerFormWindowInterface *formWindow)
void init (QWidget *widget)
virtual void redo ()
virtual void undo ()

Private Attributes

QPointer< QWidgetm_widget
QRect m_geometry


Constructor & Destructor Documentation

qdesigner_internal::AdjustWidgetSizeCommand::AdjustWidgetSizeCommand ( QDesignerFormWindowInterface formWindow  ) 

Definition at line 1992 of file qdesigner_command.cpp.

01993     : QDesignerFormWindowCommand(QString(), formWindow)
01994 {
01995 }


Member Function Documentation

void qdesigner_internal::AdjustWidgetSizeCommand::init ( QWidget widget  ) 

Definition at line 1997 of file qdesigner_command.cpp.

References m_geometry, m_widget, QObject::objectName(), QUndoCommand::setText(), and QCoreApplication::translate().

Referenced by qdesigner_internal::FormWindowManager::slotActionAdjustSizeActivated().

01998 {
01999     m_widget = widget;
02000     setText(QApplication::translate("Command", "Adjust Size of '%1'").arg(widget->objectName()));
02001     m_geometry = m_widget->geometry();
02002 }

Here is the call graph for this function:

void qdesigner_internal::AdjustWidgetSizeCommand::redo (  )  [virtual]

Applies a change to the document. This function must be implemented in the derived class. Calling QUndoStack::push(), QUndoStack::undo() or QUndoStack::redo() from this funciton leads to undefined beahavior.

The default implementation calls redo() on all child commands.

See also:
undo()

Reimplemented from qdesigner_internal::QDesignerFormWindowCommand.

Definition at line 2004 of file qdesigner_command.cpp.

References QWidget::adjustSize(), qdesigner_internal::QDesignerFormWindowCommand::core(), qdesigner_internal::QDesignerFormWindowCommand::formWindow(), QWidget::geometry(), qdesigner_internal::Utils::isCentralWidget(), m_geometry, m_widget, QWidget::parentWidget(), and QCoreApplication::processEvents().

02005 {
02006     QWidget *widget = m_widget;
02007     if (Utils::isCentralWidget(formWindow(), widget) && formWindow()->parentWidget())
02008         widget = formWindow()->parentWidget();
02009 
02010     m_geometry = widget->geometry();
02011     if (widget != m_widget && widget->parentWidget()) {
02012         QApplication::processEvents();
02013         widget->parentWidget()->adjustSize();
02014     }
02015     QApplication::processEvents();
02016     widget->adjustSize();
02017 
02018     if (QDesignerPropertyEditorInterface *propertyEditor = formWindow()->core()->propertyEditor()) {
02019         if (propertyEditor->object() == m_widget)
02020             propertyEditor->setPropertyValue(QLatin1String("geometry"), m_widget->geometry(), true);
02021     }
02022 }

Here is the call graph for this function:

void qdesigner_internal::AdjustWidgetSizeCommand::undo (  )  [virtual]

Reverts a change to the document. After undo() is called, the state of the document should be the same as before redo() was called. This function must be implemented in the derived class. Calling QUndoStack::push(), QUndoStack::undo() or QUndoStack::redo() from this funciton leads to undefined beahavior.

The default implementation calls undo() on all child commands in reverse order.

See also:
redo()

Reimplemented from qdesigner_internal::QDesignerFormWindowCommand.

Definition at line 2024 of file qdesigner_command.cpp.

References qdesigner_internal::QDesignerFormWindowCommand::core(), qdesigner_internal::QDesignerFormWindowCommand::formWindow(), QRect::height(), m_geometry, m_widget, QWidget::parentWidget(), QWidget::resize(), QWidget::setGeometry(), and QRect::width().

02025 {
02026     if (formWindow()->mainContainer() == m_widget && formWindow()->parentWidget()) {
02027         formWindow()->parentWidget()->resize(m_geometry.width(), m_geometry.height());
02028         QWidget *widget = formWindow()->parentWidget();
02029         if (widget->parentWidget()) {
02030             widget->parentWidget()->setGeometry(m_geometry);
02031         }
02032     } else {
02033         m_widget->setGeometry(m_geometry);
02034     }
02035 
02036     if (QDesignerPropertyEditorInterface *propertyEditor = formWindow()->core()->propertyEditor()) {
02037         if (propertyEditor->object() == m_widget)
02038             propertyEditor->setPropertyValue(QLatin1String("geometry"), m_widget->geometry(), true);
02039     }
02040 }

Here is the call graph for this function:


Member Data Documentation

QPointer<QWidget> qdesigner_internal::AdjustWidgetSizeCommand::m_widget [private]

Definition at line 313 of file qdesigner_command_p.h.

Referenced by init(), redo(), and undo().

QRect qdesigner_internal::AdjustWidgetSizeCommand::m_geometry [private]

Definition at line 314 of file qdesigner_command_p.h.

Referenced by init(), redo(), and undo().


The documentation for this class was generated from the following files:
Generated on Thu Mar 15 20:44:23 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1