本文整理汇总了C++中KoXmlElement::namedItem方法的典型用法代码示例。如果您正苦于以下问题:C++ KoXmlElement::namedItem方法的具体用法?C++ KoXmlElement::namedItem怎么用?C++ KoXmlElement::namedItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoXmlElement
的用法示例。
在下文中一共展示了KoXmlElement::namedItem方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadOdfChanges
void KoChangeTracker::loadOdfChanges(const KoXmlElement& element)
{
if (element.namespaceURI() == KoXmlNS::text) {
KoXmlElement tag;
forEachElement(tag, element) {
if (! tag.isNull()) {
const QString localName = tag.localName();
if (localName == "changed-region") {
KoChangeTrackerElement *changeElement = 0;
KoXmlElement region;
forEachElement(region, tag) {
if (!region.isNull()) {
if (region.localName() == "insertion") {
changeElement = new KoChangeTrackerElement(kundo2_noi18n(tag.attributeNS(KoXmlNS::text,"id")),KoGenChange::InsertChange);
} else if (region.localName() == "format-change") {
changeElement = new KoChangeTrackerElement(kundo2_noi18n(tag.attributeNS(KoXmlNS::text,"id")),KoGenChange::FormatChange);
} else if (region.localName() == "deletion") {
changeElement = new KoChangeTrackerElement(kundo2_noi18n(tag.attributeNS(KoXmlNS::text,"id")),KoGenChange::DeleteChange);
}
KoXmlElement metadata = region.namedItemNS(KoXmlNS::office,"change-info").toElement();
if (!metadata.isNull()) {
KoXmlElement date = metadata.namedItem("dc:date").toElement();
if (!date.isNull()) {
changeElement->setDate(date.text());
}
KoXmlElement creator = metadata.namedItem("dc:creator").toElement();
if (!date.isNull()) {
changeElement->setCreator(creator.text());
}
//TODO load comments
/* KoXmlElement extra = metadata.namedItem("dc-").toElement();
if (!date.isNull()) {
kDebug() << "creator: " << creator.text();
changeElement->setCreator(creator.text());
}*/
}
changeElement->setEnabled(d->recordChanges);
d->changes.insert( d->changeId, changeElement);
d->loadedChanges.insert(tag.attributeNS(KoXmlNS::text,"id"), d->changeId++);
}
}
}
}
}
示例2: loadContext
bool GanttPrintingOptions::loadContext( const KoXmlElement &settings )
{
KoXmlElement e = settings.namedItem( "print-options" ).toElement();
if ( ! e.isNull() ) {
printRowLabels = (bool)( e.attribute( "print-rowlabels", "0" ).toInt() );
singlePage = (bool)( e.attribute( "print-singlepage", "0" ).toInt() );
}
kDebug()<<"..........."<<printRowLabels<<singlePage;
return true;
}
示例3: loadContext
bool ResourceAppointmentsTreeView::loadContext( const KoXmlElement &context )
{
debugPlan;
KoXmlElement e = context.namedItem( "common" ).toElement();
if ( ! e.isNull() ) {
model()->setShowInternalAppointments( (bool)( e.attribute( "show-internal-appointments", "0" ).toInt() ) );
model()->setShowExternalAppointments( (bool)( e.attribute( "show-external-appointments", "0" ).toInt() ) );
}
return true;
}
示例4: unknownShiftDirection
// static
bool PasteCommand::unknownShiftDirection(const QMimeData *mimeData)
{
if (!mimeData) {
return false;
}
QByteArray byteArray;
if (mimeData->hasFormat("application/x-kspread-snippet")) {
byteArray = mimeData->data("application/x-kspread-snippet");
} else {
return false;
}
QString errorMsg;
int errorLine;
int errorColumn;
KoXmlDocument d;
if (!d.setContent(byteArray, false, &errorMsg, &errorLine, &errorColumn)) {
// an error occurred
kDebug() << "An error occurred."
<< "line:" << errorLine << "col:" << errorColumn << errorMsg;
return false;
}
KoXmlElement e = d.documentElement();
if (!e.namedItem("columns").toElement().isNull()) {
return false;
}
if (!e.namedItem("rows").toElement().isNull()) {
return false;
}
KoXmlElement c = e.firstChild().toElement();
for (; !c.isNull(); c = c.nextSibling().toElement()) {
if (c.tagName() == "cell") {
return true;
}
}
return false;
}
示例5: loadAuthorInfo
bool KoDocumentInfo::loadAuthorInfo(const KoXmlElement &e)
{
KoXmlNode n = e.namedItem("author").firstChild();
for (; !n.isNull(); n = n.nextSibling()) {
KoXmlElement e = n.toElement();
if (e.isNull())
continue;
if (e.tagName() == "full-name")
setActiveAuthorInfo("creator", e.text().trimmed());
else
setActiveAuthorInfo(e.tagName(), e.text().trimmed());
}
return true;
}
示例6: loadPaper
void Doc::loadPaper(KoXmlElement const & paper)
{
KoPageLayout pageLayout;
pageLayout.format = KoPageFormat::formatFromString(paper.attribute("format"));
pageLayout.orientation = (paper.attribute("orientation") == "Portrait")
? KoPageFormat::Portrait : KoPageFormat::Landscape;
// <borders>
KoXmlElement borders = paper.namedItem("borders").toElement();
if (!borders.isNull()) {
pageLayout.leftMargin = MM_TO_POINT(borders.attribute("left").toFloat());
pageLayout.rightMargin = MM_TO_POINT(borders.attribute("right").toFloat());
pageLayout.topMargin = MM_TO_POINT(borders.attribute("top").toFloat());
pageLayout.bottomMargin = MM_TO_POINT(borders.attribute("bottom").toFloat());
}
//apply to all sheet
foreach(Sheet* sheet, map()->sheetList()) {
sheet->printSettings()->setPageLayout(pageLayout);
}
示例7: loadXML
bool Doc::loadXML(const KoXmlDocument& doc, KoStore*)
{
QPointer<KoUpdater> updater;
if (progressUpdater()) {
updater = progressUpdater()->startSubtask(1, "KSpread::Doc::loadXML");
updater->setProgress(0);
}
d->spellListIgnoreAll.clear();
// <spreadsheet>
KoXmlElement spread = doc.documentElement();
if (spread.attribute("mime") != "application/x-kspread" && spread.attribute("mime") != "application/vnd.kde.kspread") {
setErrorMessage(i18n("Invalid document. Expected mimetype application/x-kspread or application/vnd.kde.kspread, got %1" , spread.attribute("mime")));
return false;
}
bool ok = false;
int version = spread.attribute("syntaxVersion").toInt(&ok);
map()->setSyntaxVersion(ok ? version : 0);
if (map()->syntaxVersion() > CURRENT_SYNTAX_VERSION) {
int ret = KMessageBox::warningContinueCancel(
0, i18n("This document was created with a newer version of Calligra Sheets (syntax version: %1)\n"
"When you open it with this version of Calligra Sheets, some information may be lost.", map()->syntaxVersion()),
i18n("File Format Mismatch"), KStandardGuiItem::cont());
if (ret == KMessageBox::Cancel) {
setErrorMessage("USER_CANCELED");
return false;
}
}
// <locale>
KoXmlElement loc = spread.namedItem("locale").toElement();
if (!loc.isNull())
static_cast<Localization*>(map()->calculationSettings()->locale())->load(loc);
if (updater) updater->setProgress(5);
KoXmlElement defaults = spread.namedItem("defaults").toElement();
if (!defaults.isNull()) {
double dim = defaults.attribute("row-height").toDouble(&ok);
if (!ok)
return false;
map()->setDefaultRowHeight(dim);
dim = defaults.attribute("col-width").toDouble(&ok);
if (!ok)
return false;
map()->setDefaultColumnWidth(dim);
}
KoXmlElement ignoreAll = spread.namedItem("SPELLCHECKIGNORELIST").toElement();
if (!ignoreAll.isNull()) {
KoXmlElement spellWord = spread.namedItem("SPELLCHECKIGNORELIST").toElement();
spellWord = spellWord.firstChild().toElement();
while (!spellWord.isNull()) {
if (spellWord.tagName() == "SPELLCHECKIGNOREWORD") {
d->spellListIgnoreAll.append(spellWord.attribute("word"));
}
spellWord = spellWord.nextSibling().toElement();
}
}
if (updater) updater->setProgress(40);
// In case of reload (e.g. from konqueror)
qDeleteAll(map()->sheetList());
map()->sheetList().clear();
KoXmlElement styles = spread.namedItem("styles").toElement();
if (!styles.isNull()) {
if (!map()->styleManager()->loadXML(styles)) {
setErrorMessage(i18n("Styles cannot be loaded."));
return false;
}
}
// <map>
KoXmlElement mymap = spread.namedItem("map").toElement();
if (mymap.isNull()) {
setErrorMessage(i18n("Invalid document. No map tag."));
return false;
}
if (!map()->loadXML(mymap)) {
return false;
}
// named areas
const KoXmlElement areaname = spread.namedItem("areaname").toElement();
if (!areaname.isNull())
map()->namedAreaManager()->loadXML(areaname);
//Backwards compatibility with older versions for paper layout
if (map()->syntaxVersion() < 1) {
KoXmlElement paper = spread.namedItem("paper").toElement();
if (!paper.isNull()) {
loadPaper(paper);
}
//.........这里部分代码省略.........
示例8: processXmlData
bool PasteCommand::processXmlData(Element *element, KoXmlDocument *data)
{
const QRect pasteArea = element->rect();
Sheet *const sheet = element->sheet();
Q_ASSERT(sheet == m_sheet);
Map *const map = sheet->map();
const KoXmlElement root = data->documentElement(); // "spreadsheet-snippet"
if (root.hasAttribute("cut")) {
const Region cutRegion(root.attribute("cut"), map, sheet);
if (cutRegion.isValid()) {
const Cell destination(sheet, pasteArea.topLeft());
map->dependencyManager()->regionMoved(cutRegion, destination);
}
}
const int sourceHeight = root.attribute("rows").toInt();
const int sourceWidth = root.attribute("columns").toInt();
// Find size of rectangle that we want to paste to (either clipboard size or current selection)
const bool noRowsInClipboard = root.namedItem("rows").toElement().isNull();
const bool noColumnsInClipboard = root.namedItem("columns").toElement().isNull();
const bool noRowsSelected = !Region::Range(pasteArea).isRow();
const bool noColumnsSelected = !Region::Range(pasteArea).isColumn();
const bool biggerSelectedWidth = pasteArea.width() >= sourceWidth;
const bool biggerSelectedHeight = pasteArea.height() >= sourceHeight;
const int pasteWidth = biggerSelectedWidth && noRowsSelected && noRowsInClipboard
? pasteArea.width() : sourceWidth;
const int pasteHeight = biggerSelectedHeight && noColumnsSelected && noColumnsInClipboard
? pasteArea.height() : sourceHeight;
const int xOffset = noRowsInClipboard ? pasteArea.left() - 1 : 0;
const int yOffset = noColumnsInClipboard ? pasteArea.top() - 1 : 0;
kDebug(36005) << "selected size (col x row):" << pasteArea.width() << 'x' << pasteArea.height();
kDebug(36005) << "source size (col x row):" << sourceWidth << 'x' << sourceHeight;
kDebug(36005) << "paste area size (col x row):" << pasteWidth << 'x' << pasteHeight;
kDebug(36005) << "xOffset:" << xOffset << "yOffset:" << yOffset;
// Determine the shift direction, if needed.
if (m_insertMode == ShiftCells) {
if (!noColumnsInClipboard && !noRowsInClipboard) {
// There are columns and rows in the source data.
m_insertMode = ShiftCellsRight; // faster than down
} else if (!noColumnsInClipboard) {
// There are columns in the source data.
m_insertMode = ShiftCellsRight;
} else if (!noRowsInClipboard) {
// There are rows in the source data.
m_insertMode = ShiftCellsDown;
} else {
// Should not happen.
// ShiftCells should only be set, if the data contains columns/rows.
Q_ASSERT(false);
m_insertMode = ShiftCellsRight; // faster than down
}
}
const bool noColumns = noColumnsInClipboard && noColumnsSelected;
const bool noRows = noRowsInClipboard && noRowsSelected;
// Shift cells down.
if (m_insertMode == ShiftCellsDown) {
// Cases:
// 1. Columns AND rows are contained in either source or selection
// 1.a Columns in source and rows in selection
// I.e. yOffset=0
// Clear everything.
// Taking the column data/style and fill all columns.
// 1.b Columns and rows in source, but not in selection
// I.e. xOffset=0,yOffset=0
// Leave everything as is? No, data from different sheet is possible!
// Clear everything.
// Fill with the source column/row data/style,
// i.e. the sheet data becomes equal to the source data.
// Same procedure as in 1.e
// 1.c Columns and rows in selection, but not in source
// Clear everything.
// Fill with the source data. Tiling -> HUGE task!
// 1.d Rows in source and columns in selection
// I.e. xOffset=0
// Clear everything.
// Taking the row data/style and fill all rows.
// 1.e Columns AND rows in both
// I.e. xOffset=0,yOffset=0
// Leave everything as is? No, data from different sheet is possible!
// Clear everything.
// Fill with the source column/row data/style,
// i.e. the sheet data becomes equal to the source data.
// Same procedure as in 1.b
// 2. Columns are present in either source or selection, but no rows
// 2a Columns in source
// I.e. yOffset=0
// Clear the appropriate columns in the paste area.
// Fill them with the source data.
// 2b Columns in selection
// Clear the selected columns.
// Fill them with the source data. Tiling -> HUGE task!
// 2c Columns in both
//.........这里部分代码省略.........
示例9: loadXML
bool Validity::loadXML(Cell* const cell, const KoXmlElement& validityElement)
{
ValueParser *const parser = cell->sheet()->map()->parser();
bool ok = false;
KoXmlElement param = validityElement.namedItem("param").toElement();
if (!param.isNull()) {
if (param.hasAttribute("cond")) {
d->cond = (Conditional::Type) param.attribute("cond").toInt(&ok);
if (!ok)
return false;
}
if (param.hasAttribute("action")) {
d->action = (Action) param.attribute("action").toInt(&ok);
if (!ok)
return false;
}
if (param.hasAttribute("allow")) {
d->restriction = (Restriction) param.attribute("allow").toInt(&ok);
if (!ok)
return false;
}
if (param.hasAttribute("valmin")) {
d->minValue = parser->tryParseNumber(param.attribute("valmin"), &ok);
if (!ok)
return false;
}
if (param.hasAttribute("valmax")) {
d->maxValue = parser->tryParseNumber(param.attribute("valmax"), &ok);
if (!ok)
return false;
}
if (param.hasAttribute("displaymessage")) {
d->displayMessage = (bool)param.attribute("displaymessage").toInt();
}
if (param.hasAttribute("displayvalidationinformation")) {
d->displayValidationInformation = (bool)param.attribute("displayvalidationinformation").toInt();
}
if (param.hasAttribute("allowemptycell")) {
d->allowEmptyCell = (bool)param.attribute("allowemptycell").toInt();
}
if (param.hasAttribute("listvalidity")) {
d->listValidity = param.attribute("listvalidity").split(';', QString::SkipEmptyParts);
}
}
KoXmlElement inputTitle = validityElement.namedItem("inputtitle").toElement();
if (!inputTitle.isNull()) {
d->titleInfo = inputTitle.text();
}
KoXmlElement inputMessage = validityElement.namedItem("inputmessage").toElement();
if (!inputMessage.isNull()) {
d->messageInfo = inputMessage.text();
}
KoXmlElement titleElement = validityElement.namedItem("title").toElement();
if (!titleElement.isNull()) {
d->title = titleElement.text();
}
KoXmlElement messageElement = validityElement.namedItem("message").toElement();
if (!messageElement.isNull()) {
d->message = messageElement.text();
}
KoXmlElement timeMinElement = validityElement.namedItem("timemin").toElement();
if (!timeMinElement.isNull()) {
d->minValue = parser->tryParseTime(timeMinElement.text());
}
KoXmlElement timeMaxElement = validityElement.namedItem("timemax").toElement();
if (!timeMaxElement.isNull()) {
d->maxValue = parser->tryParseTime(timeMaxElement.text());
}
KoXmlElement dateMinElement = validityElement.namedItem("datemin").toElement();
if (!dateMinElement.isNull()) {
d->minValue = parser->tryParseTime(dateMinElement.text());
}
KoXmlElement dateMaxElement = validityElement.namedItem("datemax").toElement();
if (!dateMaxElement.isNull()) {
d->maxValue = parser->tryParseTime(dateMaxElement.text());
}
return true;
}