MultiPageWidgetPlugin Class Reference

#include <multipagewidgetplugin.h>

Inheritance diagram for MultiPageWidgetPlugin:

Inheritance graph
[legend]
Collaboration diagram for MultiPageWidgetPlugin:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 32 of file multipagewidgetplugin.h.

Public Member Functions

 MultiPageWidgetPlugin (QObject *parent=0)
QString name () const
QString group () const
QString toolTip () const
QString whatsThis () const
QString includeFile () const
QIcon icon () const
bool isContainer () const
QWidgetcreateWidget (QWidget *parent)
bool isInitialized () const
void initialize (QDesignerFormEditorInterface *formEditor)
QString domXml () const

Private Slots

void currentIndexChanged (int index)
void pageTitleChanged (const QString &title)

Private Attributes

bool initialized


Constructor & Destructor Documentation

MultiPageWidgetPlugin::MultiPageWidgetPlugin ( QObject parent = 0  ) 

Definition at line 38 of file multipagewidgetplugin.cpp.

References initialized.

00039     :QObject(parent)
00040 {
00041     initialized = false;
00042 }


Member Function Documentation

QString MultiPageWidgetPlugin::name (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 44 of file multipagewidgetplugin.cpp.

00045 {
00046     return QString("MultiPageWidget");
00047 }

QString MultiPageWidgetPlugin::group (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 49 of file multipagewidgetplugin.cpp.

00050 {
00051     return QString("Display Widgets [Examples]");
00052 }

QString MultiPageWidgetPlugin::toolTip (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 54 of file multipagewidgetplugin.cpp.

00055 {
00056     return "";
00057 }

QString MultiPageWidgetPlugin::whatsThis (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 59 of file multipagewidgetplugin.cpp.

00060 {
00061     return "";
00062 }

QString MultiPageWidgetPlugin::includeFile (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 64 of file multipagewidgetplugin.cpp.

00065 {
00066     return QString("multipagewidget.h");
00067 }

QIcon MultiPageWidgetPlugin::icon (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 69 of file multipagewidgetplugin.cpp.

00070 {
00071     return QIcon();
00072 }

bool MultiPageWidgetPlugin::isContainer (  )  const [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 74 of file multipagewidgetplugin.cpp.

00075 {
00076     return true;
00077 }

QWidget * MultiPageWidgetPlugin::createWidget ( QWidget parent  )  [virtual]

Implements QDesignerCustomWidgetInterface.

Definition at line 79 of file multipagewidgetplugin.cpp.

References QObject::connect(), currentIndexChanged(), pageTitleChanged(), QObject::parent(), SIGNAL, and SLOT.

00080 {
00081     MultiPageWidget *widget = new MultiPageWidget(parent);
00082     connect(widget, SIGNAL(currentIndexChanged(int)),
00083             this, SLOT(currentIndexChanged(int)));
00084     connect(widget, SIGNAL(pageTitleChanged(const QString &)),
00085             this, SLOT(pageTitleChanged(const QString &)));
00086     return widget;
00087 }

Here is the call graph for this function:

bool MultiPageWidgetPlugin::isInitialized (  )  const [virtual]

Reimplemented from QDesignerCustomWidgetInterface.

Definition at line 89 of file multipagewidgetplugin.cpp.

References initialized.

00090 {
00091     return initialized;
00092 }

void MultiPageWidgetPlugin::initialize ( QDesignerFormEditorInterface formEditor  )  [virtual]

Reimplemented from QDesignerCustomWidgetInterface.

Definition at line 94 of file multipagewidgetplugin.cpp.

References QDesignerFormEditorInterface::extensionManager(), initialized, Q_TYPEID, and QExtensionManager::registerExtensions().

00095 {
00096     if (initialized)
00097         return;
00098 
00099     QExtensionManager *manager = formEditor->extensionManager();
00100     QExtensionFactory *factory = new MultiPageWidgetExtensionFactory(manager);
00101 
00102     Q_ASSERT(manager != 0);
00103     manager->registerExtensions(factory, Q_TYPEID(QDesignerContainerExtension));
00104 
00105     initialized = true;
00106 }

Here is the call graph for this function:

QString MultiPageWidgetPlugin::domXml (  )  const [virtual]

Reimplemented from QDesignerCustomWidgetInterface.

Definition at line 108 of file multipagewidgetplugin.cpp.

00109 {
00110     return QString("\
00111     <widget class=\"MultiPageWidget\" name=\"multipagewidget\">\
00112         <widget class=\"QWidget\" name=\"page\" />\
00113     </widget>\
00114     ");
00115 }

void MultiPageWidgetPlugin::currentIndexChanged ( int  index  )  [private, slot]

Definition at line 117 of file multipagewidgetplugin.cpp.

References QDesignerFormWindowInterface::findFormWindow(), form(), and QObject::sender().

Referenced by createWidget().

00118 {
00119     MultiPageWidget *widget = qobject_cast<MultiPageWidget*>(sender());
00120     if (widget) {
00121         QDesignerFormWindowInterface *form;
00122         form = QDesignerFormWindowInterface::findFormWindow(widget);
00123         if (form)
00124             form->emitSelectionChanged();
00125     }
00126 }

void MultiPageWidgetPlugin::pageTitleChanged ( const QString title  )  [private, slot]

Definition at line 128 of file multipagewidgetplugin.cpp.

References MultiPageWidget::currentIndex(), QDesignerFormEditorInterface::extensionManager(), QDesignerFormWindowInterface::findFormWindow(), form(), QDesignerPropertySheetExtension::indexOf(), QObject::sender(), QDesignerPropertySheetExtension::setChanged(), and MultiPageWidget::widget().

Referenced by createWidget().

00129 {
00130     MultiPageWidget *widget = qobject_cast<MultiPageWidget*>(sender());
00131     if (widget) {
00132         QWidget *page = widget->widget(widget->currentIndex());
00133         QDesignerFormWindowInterface *form;
00134         form = QDesignerFormWindowInterface::findFormWindow(widget);
00135         if (form) {
00136             QDesignerFormEditorInterface *editor = form->core();
00137             QExtensionManager *manager = editor->extensionManager();
00138             QDesignerPropertySheetExtension *sheet;
00139             sheet = qt_extension<QDesignerPropertySheetExtension*>(manager, page);
00140             int propertyIndex = sheet->indexOf(QLatin1String("windowTitle"));
00141             sheet->setChanged(propertyIndex, true);
00142         }
00143     }
00144 }


Member Data Documentation

bool MultiPageWidgetPlugin::initialized [private]

Definition at line 56 of file multipagewidgetplugin.h.

Referenced by initialize(), isInitialized(), and MultiPageWidgetPlugin().


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