Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/xmlpatterns/acceltree/qacceltree.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the QtXmlPatterns module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    4343
    4444#include "qabstractxmlreceiver.h"
     45#include "qabstractxmlnodemodel_p.h"
    4546#include "qacceliterators_p.h"
    4647#include "qacceltree_p.h"
     
    5657using namespace QPatternist;
    5758
     59namespace QPatternist {
     60
     61    class AccelTreePrivate : public QAbstractXmlNodeModelPrivate
     62    {
     63        public:
     64            AccelTreePrivate(AccelTree *accelTree)
     65                : m_accelTree(accelTree)
     66            {
     67            }
     68
     69            virtual QSourceLocation sourceLocation(const QXmlNodeModelIndex &index) const
     70            {
     71                return m_accelTree->sourceLocation(index);
     72            }
     73
     74        private:
     75            AccelTree *m_accelTree;
     76    };
     77}
     78
     79AccelTree::AccelTree(const QUrl &docURI, const QUrl &bURI)
     80     : QAbstractXmlNodeModel(new AccelTreePrivate(this))
     81     , m_documentURI(docURI)
     82     , m_baseURI(bURI)
     83{
     84    /* Pre-allocate at least a little bit. */
     85    // TODO. Do it according to what an average 4 KB doc contains.
     86    basicData.reserve(100);
     87    data.reserve(30);
     88}
     89
    5890void AccelTree::printStats(const NamePool::Ptr &np) const
    5991{
     
    72104    {
    73105        const BasicNodeData &v = basicData.at(i);
    74         pDebug() << "|" << i
     106        pDebug() << '|' << i
    75107                 << "\t\t|" << v.depth()
    76108                 << "\t|" << v.size()
     
    82114                 << "\t|";
    83115        /*
    84         pDebug() << "|" << QString().arg(i, 14)
    85                  << "|" << QString().arg(v.depth(), 6)
    86                  << "|" << QString().arg(v.size(), 6)
    87                  << "|" << QString().arg(postNumber(i), 14)
    88                  << "|" << QString().arg(v.kind(), 6)
    89                  << "|";
     116        pDebug() << '|' << QString().arg(i, 14)
     117                 << '|' << QString().arg(v.depth(), 6)
     118                 << '|' << QString().arg(v.size(), 6)
     119                 << '|' << QString().arg(postNumber(i), 14)
     120                 << '|' << QString().arg(v.kind(), 6)
     121                 << '|';
    90122                 */
    91123    }
     
    675707}
    676708
     709QSourceLocation AccelTree::sourceLocation(const QXmlNodeModelIndex &index) const
     710{
     711    const PreNumber key = toPreNumber(index);
     712    if (sourcePositions.contains(key)) {
     713        const QPair<qint64, qint64> position = sourcePositions.value(key);
     714        return QSourceLocation(m_documentURI, position.first, position.second);
     715    } else {
     716        return QSourceLocation();
     717    }
     718}
     719
    677720void AccelTree::copyChildren(const QXmlNodeModelIndex &node,
    678721                             QAbstractXmlReceiver *const receiver,
Note: See TracChangeset for help on using the changeset viewer.