Q3ListViewExtraInfo Class Reference

#include <q3listview_extrainfo.h>

Inheritance diagram for Q3ListViewExtraInfo:

Inheritance graph
[legend]
Collaboration diagram for Q3ListViewExtraInfo:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 37 of file q3listview_extrainfo.h.

Public Member Functions

 Q3ListViewExtraInfo (Q3ListView *widget, QDesignerFormEditorInterface *core, QObject *parent)
virtual QWidgetwidget () const
virtual QDesignerFormEditorInterfacecore () const
virtual bool saveUiExtraInfo (DomUi *ui)
virtual bool loadUiExtraInfo (DomUi *ui)
virtual bool saveWidgetExtraInfo (DomWidget *ui_widget)
virtual bool loadWidgetExtraInfo (DomWidget *ui_widget)
void initializeQ3ListViewItems (const QList< DomItem * > &items, Q3ListViewItem *parentItem=0)

Private Attributes

QPointer< Q3ListViewm_widget
QPointer< QDesignerFormEditorInterfacem_core


Constructor & Destructor Documentation

Q3ListViewExtraInfo::Q3ListViewExtraInfo ( Q3ListView widget,
QDesignerFormEditorInterface core,
QObject parent 
)

Definition at line 45 of file q3listview_extrainfo.cpp.

00046     : QObject(parent), m_widget(widget), m_core(core)
00047 {}


Member Function Documentation

QWidget * Q3ListViewExtraInfo::widget (  )  const [virtual]

Returns the widget described by this extension.

Implements QDesignerExtraInfoExtension.

Definition at line 49 of file q3listview_extrainfo.cpp.

References m_widget.

Referenced by initializeQ3ListViewItems(), loadWidgetExtraInfo(), and saveWidgetExtraInfo().

00050 { return m_widget; }

QDesignerFormEditorInterface * Q3ListViewExtraInfo::core (  )  const [virtual]

### Description required

Implements QDesignerExtraInfoExtension.

Definition at line 52 of file q3listview_extrainfo.cpp.

References m_core.

Referenced by initializeQ3ListViewItems(), and loadWidgetExtraInfo().

00053 { return m_core; }

bool Q3ListViewExtraInfo::saveUiExtraInfo ( DomUi *  ui  )  [virtual]

Saves the information about the user interface specified by ui, and returns true if successful; otherwise returns false.

Implements QDesignerExtraInfoExtension.

Definition at line 55 of file q3listview_extrainfo.cpp.

00056 { Q_UNUSED(ui); return false; }

bool Q3ListViewExtraInfo::loadUiExtraInfo ( DomUi *  ui  )  [virtual]

Loads extra information about the user interface specified by ui, and returns true if successful; otherwise returns false.

Implements QDesignerExtraInfoExtension.

Definition at line 58 of file q3listview_extrainfo.cpp.

00059 { Q_UNUSED(ui); return false; }

bool Q3ListViewExtraInfo::saveWidgetExtraInfo ( DomWidget ui_widget  )  [virtual]

Saves the information about the specified widget, and returns true if successful; otherwise returns false.

Implements QDesignerExtraInfoExtension.

Definition at line 62 of file q3listview_extrainfo.cpp.

References QList< T >::append(), c, QString::count(), header(), Q3ListView::header(), i, properties, DomProperty::setAttributeName(), DomWidget::setElementColumn(), DomProperty::setElementString(), DomString::setText(), and widget().

00063 {
00064     // ### finish me
00065     Q3ListView *listView = qobject_cast<Q3ListView*>(widget());
00066     Q_ASSERT(listView != 0);
00067 
00068     QList<DomColumn*> columns;
00069     Q3Header *header = listView->header();
00070     for (int i=0; i<header->count(); ++i) {
00071         DomColumn *c = new DomColumn();
00072 
00073         QList<DomProperty*> properties;
00074 
00075         DomString *str = new DomString();
00076         str->setText(header->label(i));
00077 
00078         DomProperty *ptext = new DomProperty();
00079         ptext->setAttributeName(QLatin1String("text"));
00080         ptext->setElementString(str);
00081 
00082         properties.append(ptext);
00083 
00084         c->setElementProperty(properties);
00085         columns.append(c);
00086     }
00087 
00088     ui_widget->setElementColumn(columns);
00089 
00090     return true;
00091 }

Here is the call graph for this function:

bool Q3ListViewExtraInfo::loadWidgetExtraInfo ( DomWidget ui_widget  )  [virtual]

Loads extra information about the specified widget, and returns true if successful; otherwise returns false.

Implements QDesignerExtraInfoExtension.

Definition at line 93 of file q3listview_extrainfo.cpp.

References Q3ListView::addColumn(), QList< T >::at(), DomResourcePixmap::attributeResource(), core(), QString::count(), DomProperty::elementBool(), DomWidget::elementColumn(), DomWidget::elementItem(), DomProperty::elementPixmap(), header(), Q3ListView::header(), i, initializeQ3ListViewItems(), properties, propertyMap(), QList< T >::size(), DomResourcePixmap::text(), widget(), and QDesignerExtraInfoExtension::workingDirectory().

00094 {
00095     Q3ListView *listView = qobject_cast<Q3ListView*>(widget());
00096     Q_ASSERT(listView != 0);
00097 
00098     Q3Header *header = listView->header();
00099 
00100     QList<DomColumn*> columns = ui_widget->elementColumn();
00101     for (int i=0; i<columns.size(); ++i) {
00102         DomColumn *column = columns.at(i);
00103 
00104         QHash<QString, DomProperty*> properties = propertyMap(column->elementProperty());
00105         DomProperty *text = properties.value(QLatin1String("text"));
00106         DomProperty *pixmap = properties.value(QLatin1String("pixmap"));
00107         DomProperty *clickable = properties.value(QLatin1String("clickable"));
00108         DomProperty *resizable = properties.value(QLatin1String("resizable"));
00109 
00110         QString txt = text->elementString()->text();
00111 
00112         if (pixmap != 0) {
00113             DomResourcePixmap *pix = pixmap->elementPixmap();
00114             QIcon icon(core()->iconCache()->resolveQrcPath(pix->text(), pix->attributeResource(), workingDirectory()));
00115             listView->addColumn(icon, txt);
00116         } else {
00117             listView->addColumn(txt);
00118         }
00119 
00120         if (clickable != 0) {
00121             header->setClickEnabled(clickable->elementBool() == QLatin1String("true"), header->count() - 1);
00122         }
00123 
00124         if (resizable != 0) {
00125             header->setResizeEnabled(resizable->elementBool() == QLatin1String("true"), header->count() - 1);
00126         }
00127     }
00128 
00129     if (ui_widget->elementItem().size()) {
00130         initializeQ3ListViewItems(ui_widget->elementItem());
00131     }
00132 
00133     return true;
00134 }

Here is the call graph for this function:

void Q3ListViewExtraInfo::initializeQ3ListViewItems ( const QList< DomItem * > &  items,
Q3ListViewItem parentItem = 0 
)

Definition at line 136 of file q3listview_extrainfo.cpp.

References QList< T >::at(), core(), i, p, properties, Q3ListViewItem::setOpen(), Q3ListViewItem::setPixmap(), Q3ListViewItem::setText(), QList< T >::size(), widget(), and QDesignerExtraInfoExtension::workingDirectory().

Referenced by loadWidgetExtraInfo().

00137 {
00138     for (int i=0; i<items.size(); ++i) {
00139         DomItem *item = items.at(i);
00140 
00141         Q3ListViewItem *__item = 0;
00142         if (parentItem != 0)
00143             __item = new Q3ListViewItem(parentItem);
00144         else
00145             __item = new Q3ListViewItem(static_cast<Q3ListView*>(widget()));
00146 
00147         int textCount = 0, pixCount = 0;
00148         QList<DomProperty*> properties = item->elementProperty();
00149         for (int i=0; i<properties.size(); ++i) {
00150             DomProperty *p = properties.at(i);
00151             if (p->attributeName() == QLatin1String("text"))
00152                 __item->setText(textCount++, p->elementString()->text());
00153 
00154             if (p->attributeName() == QLatin1String("pixmap")) {
00155                 DomResourcePixmap *pix = p->elementPixmap();
00156                 QPixmap pixmap(core()->iconCache()->resolveQrcPath(pix->text(), pix->attributeResource(), workingDirectory()));
00157                 __item->setPixmap(pixCount++, pixmap);
00158             }
00159         }
00160 
00161         if (item->elementItem().size()) {
00162             __item->setOpen(true);
00163             initializeQ3ListViewItems(item->elementItem(), __item);
00164         }
00165     }
00166 }

Here is the call graph for this function:


Member Data Documentation

QPointer<Q3ListView> Q3ListViewExtraInfo::m_widget [private]

Definition at line 56 of file q3listview_extrainfo.h.

Referenced by widget().

QPointer<QDesignerFormEditorInterface> Q3ListViewExtraInfo::m_core [private]

Definition at line 57 of file q3listview_extrainfo.h.

Referenced by core().


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