Описание класса QXmlNodeModelIndex
|
enum | DocumentOrder { Precedes, Follows, Is } |
typedef | List |
enum | NodeKind { Attribute, Text, Comment, Document, ..., ProcessingInstruction } |
QXmlNodeModelIndex () | |
QXmlNodeModelIndex ( const QXmlNodeModelIndex & other ) | |
qint64 | additionalData () const |
qint64 | data () const |
void * | internalPointer () const |
bool | isNull () const |
const QAbstractXmlNodeModel * | model () const |
bool | operator!= ( const QXmlNodeModelIndex & other ) const |
bool | operator== ( const QXmlNodeModelIndex & other ) const |
Класс QXmlNodeModelIndex определяет узел в модели XML узлов, наследнике QAbstractXmlNodeModel.
QXmlNodeModelIndex является индексом в модели XML узлов. Он содержит:
Потому как QXmlNodeModelIndex преднамеренно является простым классом, он не содержит функций-членов для доступа к свойствам узлов. Например, у него нет функций для получения имени узла или списка атрибутов или детей. Если вам будет необходима эта информация, есть два способа её получить.
Второй случай поясняется примером. Предположим, вы хотите заполнить список виджетов со значениями некоторых атрибутов из набора элементов результата. Вы можете написать XQuery для возвращения набора элементов, потом написать код для итеративного обхода результата, получения атрибутов элементов и извлечения строковых значений. Но можно поступить проще, расширив свой запрос XQuery до нахождения требуемых значений атрибутов. Тогда вы всё реализуете исполнением XQuery с помощью версии QXmlQuery::evaluateTo(), заполняющую QStringList, который вы сможете передать непосредственно вашему виджету.
QXmlNodeModelIndex не накладывает никаких ограничений на значение data, которое должен содержать QXmlNodeModelIndex. Значения данных остаётся связанным с моделью узла. Так как QXmlNodeModelIndex зависит от конкретного класса QAbstractXmlNodeModel в плане своей реализации, единственный способ создания экземпляра QXmlNodeModelIndex состоит в запросе к модели узла создать объект с помощью QAbstractXmlNodeModel::createIndex(). Так как эта функция является защищённой, то хорошей идеей является создание открытой функции, которая создаёт QXmlNodeModelIndex из переданных аргументов и подходит для вашей конкретной модели узлов.
По умолчанию созданный индекс узла возвращает ноль, т.е. isNull() возвращает true.
QXmlNodeModelIndex и QAbstractXmlNodeModel созданы по такому же шаблону проектирования, как и QModelIndex и QAbstractItemModel.
Определяет специфичные для узлов сравнения, которые следует использовать.
Константа | Значение | Описание |
---|---|---|
QXmlNodeModelIndex::Precedes | -1 | Означает операцию \<\<. Проверяет, что первый операнд стоит перед вторым в документе. |
QXmlNodeModelIndex::Follows | 1 | Означает операцию \>\>. Проверяет, что первый операнд следует за вторым в документе. |
QXmlNodeModelIndex::Is | 0 | Означает операцию is. Проверяет, что оба узла идентичны. |
Typedef для QList<QXmlNodeModelIndex>.
Определяет тип узла.
Константа | Значение | Описание |
---|---|---|
QXmlNodeModelIndex::Attribute | 1 | Определяет атрибут узла |
QXmlNodeModelIndex::Text | 64 | Определяет текстовый узел |
QXmlNodeModelIndex::Comment | 2 | Определяет узел комментария |
QXmlNodeModelIndex::Document | 4 | Определяет узел документа |
QXmlNodeModelIndex::Element | 8 | Определяет узел-элемент |
QXmlNodeModelIndex::Namespace | 16 | Определяет узел пространства имён |
QXmlNodeModelIndex::ProcessingInstruction | 32 | Определяет инструкцию обработки |
Помните, что необязательная XML декларация в начале XML документа не является инструкцией обработки
Смотрите также QAbstractXmlNodeModel::kind().
Конструктор по умолчанию. Создаёт пустой null элемент.
Смотрите также isNull().
Стандартный конструктор копирования. Создаёт объект QXmlNodeModelIndex, являющийся копией other.
Возвращает второе значение данных. Индекс узла хранит два значения данных. data() возвращает первое значение.
Смотрите также data().
Возвращает первое значение данных. Индекс узла хранит два значения данных. additionalData() возвращает второе значение.
Смотрите также additionalData().
Возвращает первое значение данных в качестве void* указателя.
Смотрите также additionalData().
Возвращает true, если данный QXmlNodeModelIndex является значением, созданным по умолчанию, в противном случае возвращается false.
Нулевой QXmlNodeModelIndex не представляет никакой узел и не может быть использован вместе с QAbstractXmlNodeModel.
Возвращает QAbstractXmlNodeModel, который ссылается на индекс узла. QXmlNodeModelIndex не владеет QAbstractXmlNodeModel и не следит за изменением его времени жизни, потому этот указатель будет изменяться, если QAbstractXmlNodeModel будет перераспределена.
Не существует функции установки для узла модели, потому что объекты QXmlNodeModelIndex всего лишь создаются с помощью QAbstractXmlNodeModel::createIndex().
Возвращает true, если other является тем же узлом, что и текущий.
Возвращает true, если текущий узел тот же, что и other. Эта операция не сравнивает значения, детей или имена узлов. Сравниваются идентификаторы узлов, т.е. выявляется то, что они из одного документа и находятся в одном месте.
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |