structureparser.cpp

来自「Linux下的基于X11的图形开发环境。」· C++ 代码 · 共 58 行

CPP
58
字号
/*$Id: qt/structureparser.cpp   3.1.1   edited Nov 8 10:35 $*/#include "structureparser.h"#include <qstring.h>#include <qlistview.h>StructureParser::StructureParser( QListView * t )                : QXmlDefaultHandler(){    setListView( t );}void StructureParser::setListView( QListView * t ){    table = t;    table->setSorting( -1 );    table->addColumn( "Qualified name" );    table->addColumn( "Namespace" );}bool StructureParser::startElement( const QString& namespaceURI,                                    const QString& ,                                    const QString& qName,                                    const QXmlAttributes& attributes){    QListViewItem * element;    if ( ! stack.isEmpty() ){	QListViewItem *lastChild = stack.top()->firstChild();	if ( lastChild ) {	    while ( lastChild->nextSibling() )		lastChild = lastChild->nextSibling();	}	element = new QListViewItem( stack.top(), lastChild, qName, namespaceURI );    } else {	element = new QListViewItem( table, qName, namespaceURI );    }    stack.push( element );    element->setOpen( TRUE );    if ( attributes.length() > 0 ) {	for ( int i = 0 ; i < attributes.length(); i++ ) {	    new QListViewItem( element, attributes.qName(i), attributes.uri(i) );	}    }    return TRUE;}bool StructureParser::endElement( const QString&, const QString&,                                  const QString& ){    stack.pop();    return TRUE;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?