bool Q3TableExtraInfo::loadWidgetExtraInfo(DomWidget *ui_widget) { Q_UNUSED(ui_widget); Q3Table *table = qobject_cast<Q3Table*>(widget()); Q_ASSERT(table != 0); Q3Header *hHeader = table->horizontalHeader(); QList<DomColumn*> columns = ui_widget->elementColumn(); for (int i=0; i<columns.size(); ++i) { DomColumn *column = columns.at(i); QHash<QString, DomProperty*> properties = propertyMap(column->elementProperty()); DomProperty *text = properties.value(QLatin1String("text")); DomProperty *pixmap = properties.value(QLatin1String("pixmap")); QString txt = text->elementString()->text(); if (pixmap != 0) { DomResourcePixmap *pix = pixmap->elementPixmap(); QIcon icon(core()->iconCache()->resolveQrcPath(pix->text(), pix->attributeResource(), workingDirectory())); hHeader->setLabel(i, icon, txt); } else { hHeader->setLabel(i, txt); } } Q3Header *vHeader = table->verticalHeader(); QList<DomRow*> rows = ui_widget->elementRow(); for (int i=0; i<rows.size(); ++i) { DomRow *row = rows.at(i); QHash<QString, DomProperty*> properties = propertyMap(row->elementProperty()); DomProperty *text = properties.value(QLatin1String("text")); DomProperty *pixmap = properties.value(QLatin1String("pixmap")); QString txt = text->elementString()->text(); if (pixmap != 0) { DomResourcePixmap *pix = pixmap->elementPixmap(); QIcon icon(core()->iconCache()->resolveQrcPath(pix->text(), pix->attributeResource(), workingDirectory())); vHeader->setLabel(i, icon, txt); } else { vHeader->setLabel(i, txt); } } return true; }
void DatabaseInfo::acceptWidget(DomWidget *node) { QHash<QString, DomProperty*> properties = propertyMap(node->elementProperty()); DomProperty *frameworkCode = properties.value(QLatin1String("frameworkCode"), 0); if (frameworkCode && toBool(frameworkCode->elementBool()) == false) return; DomProperty *db = properties.value(QLatin1String("database"), 0); if (db && db->elementStringList()) { QStringList info = db->elementStringList()->elementString(); QString connection = info.size() > 0 ? info.at(0) : QString(); if (connection.isEmpty()) return; m_connections.append(connection); QString table = info.size() > 1 ? info.at(1) : QString(); if (table.isEmpty()) return; m_cursors[connection].append(table); QString field = info.size() > 2 ? info.at(2) : QString(); if (field.isEmpty()) return; m_fields[connection].append(field); } TreeWalker::acceptWidget(node); }
bool Q3ListBoxExtraInfo::loadWidgetExtraInfo(DomWidget *ui_widget) { Q3ListBox *listBox = qobject_cast<Q3ListBox*>(widget()); Q_ASSERT(listBox != 0); QList<DomItem *> items = ui_widget->elementItem(); for (int i = 0; i < items.size(); ++i) { DomItem *item = items.at(i); QHash<QString, DomProperty*> properties = propertyMap(item->elementProperty()); DomProperty *text = properties.value(QLatin1String("text")); DomProperty *pixmap = properties.value(QLatin1String("pixmap")); QString txt = text->elementString()->text(); if (pixmap != 0) { DomResourcePixmap *pix = pixmap->elementPixmap(); QPixmap pixmap(core()->iconCache()->resolveQrcPath(pix->text(), pix->attributeResource(), workingDirectory())); listBox->insertItem(pixmap, txt); } else { listBox->insertItem(txt); } } return true; }
/*! \internal */ QLayout *QFormBuilder::create(DomLayout *ui_layout, QLayout *layout, QWidget *parentWidget) { // Is this a temporary layout widget used to represent QLayout hierarchies in Designer? // Set its margins to 0. bool layoutWidget = d->processingLayoutWidget(); QLayout *l = QAbstractFormBuilder::create(ui_layout, layout, parentWidget); if (layoutWidget) { const QFormBuilderStrings &strings = QFormBuilderStrings::instance(); int left, top, right, bottom; left = top = right = bottom = 0; const DomPropertyHash properties = propertyMap(ui_layout->elementProperty()); if (DomProperty *prop = properties.value(strings.leftMarginProperty)) left = prop->elementNumber(); if (DomProperty *prop = properties.value(strings.topMarginProperty)) top = prop->elementNumber(); if (DomProperty *prop = properties.value(strings.rightMarginProperty)) right = prop->elementNumber(); if (DomProperty *prop = properties.value(strings.bottomMarginProperty)) bottom = prop->elementNumber(); l->setContentsMargins(left, top, right, bottom); d->setProcessingLayoutWidget(false); } return l; }
QString PropertyTable::toString() const { // Sort the properties by the names QMap<QString, QVariant> sortedProperties = propertyMap(); // Now construct the resulting string using sorted properties values. QMap<QString, QVariant>::const_iterator i = sortedProperties.constBegin(); QString ret; while (i != sortedProperties.constEnd()) { ret.append(QString("%1:\t%2\n").arg(i.key()).arg(i.value().toString())); ++i; } return ret; }
bool Q3ListViewExtraInfo::loadWidgetExtraInfo(DomWidget *ui_widget) { Q3ListView *listView = qobject_cast<Q3ListView*>(widget()); Q_ASSERT(listView != 0); Q3Header *header = listView->header(); QList<DomColumn*> columns = ui_widget->elementColumn(); for (int i=0; i<columns.size(); ++i) { DomColumn *column = columns.at(i); QHash<QString, DomProperty*> properties = propertyMap(column->elementProperty()); DomProperty *text = properties.value(QLatin1String("text")); DomProperty *pixmap = properties.value(QLatin1String("pixmap")); DomProperty *clickable = properties.value(QLatin1String("clickable")); DomProperty *resizable = properties.value(QLatin1String("resizable")); QString txt = text->elementString()->text(); if (pixmap != 0) { DomResourcePixmap *pix = pixmap->elementPixmap(); QIcon icon(core()->iconCache()->resolveQrcPath(pix->text(), pix->attributeResource(), workingDirectory())); listView->addColumn(icon, txt); } else { listView->addColumn(txt); } if (clickable != 0) { header->setClickEnabled(clickable->elementBool() == QLatin1String("true"), header->count() - 1); } if (resizable != 0) { header->setResizeEnabled(resizable->elementBool() == QLatin1String("true"), header->count() - 1); } } if (ui_widget->elementItem().size()) { initializeQ3ListViewItems(ui_widget->elementItem()); } return true; }