📄 abstractformbuilder.cpp
字号:
return 0;}/*! \internal*/DomResources *QAbstractFormBuilder::saveResources(){ return 0;}/*! \internal*/void QAbstractFormBuilder::saveTreeWidgetExtraInfo(QTreeWidget *treeWidget, DomWidget *ui_widget, DomWidget *ui_parentWidget){ Q_UNUSED(ui_parentWidget); QList<DomColumn*> columns; // save the header for (int c = 0; c<treeWidget->columnCount(); ++c) { DomColumn *column = new DomColumn; QList<DomProperty*> properties; // property text DomProperty *ptext = new DomProperty; DomString *str = new DomString; str->setText(treeWidget->headerItem()->text(c)); ptext->setAttributeName(QLatin1String("text")); ptext->setElementString(str); properties.append(ptext); QIcon icon = treeWidget->headerItem()->icon(c); if (!icon.isNull()) { QString iconPath = iconToFilePath(icon); QString qrcPath = iconToQrcPath(icon); DomProperty *p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } column->setElementProperty(properties); columns.append(column); } ui_widget->setElementColumn(columns); QList<DomItem *> items = ui_widget->elementItem(); QQueue<QPair<QTreeWidgetItem *, DomItem *> > pendingQueue; for (int i = 0; i < treeWidget->topLevelItemCount(); i++) pendingQueue.enqueue(qMakePair(treeWidget->topLevelItem(i), (DomItem *)0)); while (!pendingQueue.isEmpty()) { QPair<QTreeWidgetItem *, DomItem *> pair = pendingQueue.dequeue(); QTreeWidgetItem *item = pair.first; DomItem *parentDomItem = pair.second; DomItem *currentDomItem = new DomItem; QList<DomProperty*> properties; for (int c = 0; c < treeWidget->columnCount(); c++) { DomProperty *ptext = new DomProperty; DomString *str = new DomString; str->setText(item->text(c)); ptext->setAttributeName(QLatin1String("text")); ptext->setElementString(str); properties.append(ptext); QIcon icon = item->icon(c); if (!icon.isNull()) { QString iconPath = iconToFilePath(icon); QString qrcPath = iconToQrcPath(icon); DomProperty *p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } } currentDomItem->setElementProperty(properties); if (parentDomItem) { QList<DomItem *> childrenItems = parentDomItem->elementItem(); childrenItems.append(currentDomItem); parentDomItem->setElementItem(childrenItems); } else items.append(currentDomItem); for (int i = 0; i < item->childCount(); i++) pendingQueue.enqueue(qMakePair(item->child(i), currentDomItem)); } ui_widget->setElementItem(items);}/*! \internal*/void QAbstractFormBuilder::saveTableWidgetExtraInfo(QTableWidget *tableWidget, DomWidget *ui_widget, DomWidget *ui_parentWidget){ Q_UNUSED(ui_parentWidget); // save the horizontal header QList<DomColumn*> columns; for (int c = 0; c < tableWidget->columnCount(); c++) { DomColumn *column = new DomColumn; QList<DomProperty*> properties; QTableWidgetItem *item = tableWidget->horizontalHeaderItem(c); if (item) { // property text DomProperty *ptext = new DomProperty; DomString *str = new DomString; str->setText(item->text()); ptext->setAttributeName(QLatin1String("text")); ptext->setElementString(str); properties.append(ptext); QIcon icon = item->icon(); if (!icon.isNull()) { QString iconPath = iconToFilePath(icon); QString qrcPath = iconToQrcPath(icon); DomProperty *p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } } column->setElementProperty(properties); columns.append(column); } ui_widget->setElementColumn(columns); // save the vertical header QList<DomRow*> rows; for (int r = 0; r < tableWidget->rowCount(); r++) { DomRow *row = new DomRow; QList<DomProperty*> properties; QTableWidgetItem *item = tableWidget->verticalHeaderItem(r); if (item) { // property text DomProperty *ptext = new DomProperty; DomString *str = new DomString; str->setText(item->text()); ptext->setAttributeName(QLatin1String("text")); ptext->setElementString(str); properties.append(ptext); QIcon icon = item->icon(); if (!icon.isNull()) { QString iconPath = iconToFilePath(icon); QString qrcPath = iconToQrcPath(icon); DomProperty *p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } } row->setElementProperty(properties); rows.append(row); } ui_widget->setElementRow(rows); QList<DomItem *> items = ui_widget->elementItem(); for (int r = 0; r < tableWidget->rowCount(); r++) for (int c = 0; c < tableWidget->columnCount(); c++) { QTableWidgetItem *item = tableWidget->item(r, c); if (item) { DomItem *domItem = new DomItem; domItem->setAttributeRow(r); domItem->setAttributeColumn(c); QList<DomProperty*> properties; DomProperty *ptext = new DomProperty; DomString *str = new DomString; str->setText(item->text()); ptext->setAttributeName(QLatin1String("text")); ptext->setElementString(str); properties.append(ptext); QIcon icon = item->icon(); if (!icon.isNull()) { QString iconPath = iconToFilePath(icon); QString qrcPath = iconToQrcPath(icon); DomProperty *p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } domItem->setElementProperty(properties); items.append(domItem); } } ui_widget->setElementItem(items);}/*! \internal*/void QAbstractFormBuilder::saveListWidgetExtraInfo(QListWidget *listWidget, DomWidget *ui_widget, DomWidget *ui_parentWidget){ Q_UNUSED(ui_parentWidget); QList<DomItem*> ui_items = ui_widget->elementItem(); for (int i=0; i<listWidget->count(); ++i) { QListWidgetItem *item = listWidget->item(i); DomItem *ui_item = new DomItem(); QList<DomProperty*> properties; // text DomString *str = new DomString; str->setText(item->text()); DomProperty *p = 0; p = new DomProperty; p->setAttributeName(QLatin1String("text")); p->setElementString(str); properties.append(p); if (!item->icon().isNull()) { QString iconPath = iconToFilePath(item->icon()); QString qrcPath = iconToQrcPath(item->icon()); p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } ui_item->setElementProperty(properties); ui_items.append(ui_item); } ui_widget->setElementItem(ui_items);}/*! \internal*/void QAbstractFormBuilder::saveComboBoxExtraInfo(QComboBox *comboBox, DomWidget *ui_widget, DomWidget *ui_parentWidget){ Q_UNUSED(ui_parentWidget); QList<DomItem*> ui_items = ui_widget->elementItem(); for (int i=0; i<comboBox->count(); ++i) { DomItem *ui_item = new DomItem(); QList<DomProperty*> properties; // text DomString *str = new DomString; str->setText(comboBox->itemText(i)); DomProperty *p = 0; p = new DomProperty; p->setAttributeName(QLatin1String("text")); p->setElementString(str); properties.append(p); QIcon icon = qVariantValue<QIcon>(comboBox->itemData(i)); if (!icon.isNull()) { QString iconPath = iconToFilePath(icon); QString qrcPath = iconToQrcPath(icon); DomProperty *p = new DomProperty; DomResourcePixmap *pix = new DomResourcePixmap; if (!qrcPath.isEmpty()) pix->setAttributeResource(qrcPath); pix->setText(iconPath); p->setAttributeName(QLatin1String("icon")); p->setElementIconSet(pix); properties.append(p); } ui_item->setElementProperty(properties); ui_items.append(ui_item); } ui_widget->setElementItem(ui_items);}/*! \internal*/void QAbstractFormBuilder::saveExtraInfo(QWidget *widget, DomWidget *ui_widget, DomWidget *ui_parentWidget){ if (QListWidget *listWidget = qobject_cast<QListWidget*>(widget)) { saveListWidgetExtraInfo(listWidget, ui_widget, ui_parentWidget); } else if (QTreeWidget *treeWidget = qobject_cast<QTreeWidget*>(widget)) { saveTreeWidgetExtraInfo(treeWidget, ui_widget, ui_parentWidget); } else if (QTableWidget *tableWidget = qobject_cast<QTableWidget*>(widget)) { saveTableWidgetExtraInfo(tableWidget, ui_widget, ui_parentWidget); } else if (QComboBox *comboBox = qobject_cast<QComboBox*>(widget)) { saveComboBoxExtraInfo(comboBox, ui_widget, ui_parentWidget); }}/*! \internal*/void QAbstractFormBuilder::loadListWidgetExtraInfo(DomWidget *ui_widget, QListWidget *listWidget, QWidget *parentWidget){ Q_UNUSED(parentWidget); foreach (DomItem *ui_item, ui_widget->elementItem()) { QHash<QString, DomProperty*> properties = propertyMap(ui_item->elementProperty()); QListWidgetItem *item = new QListWidgetItem(listWidget); DomProperty *p = 0; p = properties.value(QLatin1String("text")); if (p && p->kind() == DomProperty::String) { item->setText(p->elementString()->text()); } p = properties.value(QLatin1String("icon")); if (p && p->kind() == DomProperty::IconSet) { DomResourcePixmap *icon = p->elementIconSet(); Q_ASSERT(icon != 0); QString iconPath = icon->text(); QString qrcPath = icon->attributeResource(); item->setIcon(nameToIcon(iconPath, qrcPath)); } } DomProperty *currentRow = propertyMap(ui_widget->elementProperty()).value("currentRow"); if (currentRow) listWidget->setCurrentRow(currentRow->elementNumber());}/*! \internal*/void QAbstractFormBuilder::loadTreeWidgetExtraInfo(DomWidget *ui_widget, QTreeWidget *treeWidget, QWidget *parentWidget){ Q_UNUSED(parentWidg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -