#include <q3listview_extrainfo.h>
Inheritance diagram for Q3ListViewExtraInfo:


Definition at line 37 of file q3listview_extrainfo.h.
Public Member Functions | |
| Q3ListViewExtraInfo (Q3ListView *widget, QDesignerFormEditorInterface *core, QObject *parent) | |
| virtual QWidget * | widget () const |
| virtual QDesignerFormEditorInterface * | core () 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< Q3ListView > | m_widget |
| QPointer< QDesignerFormEditorInterface > | m_core |
| Q3ListViewExtraInfo::Q3ListViewExtraInfo | ( | Q3ListView * | widget, | |
| QDesignerFormEditorInterface * | core, | |||
| QObject * | parent | |||
| ) |
| 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.
| 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.
| 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:

QPointer<Q3ListView> Q3ListViewExtraInfo::m_widget [private] |
1.5.1