Isis 3 Programmer Reference
Isis::TemplateList::XmlHandler Class Reference
Inheritance diagram for Isis::TemplateList::XmlHandler:
Inheritance graph
Collaboration diagram for Isis::TemplateList::XmlHandler:
Collaboration graph

Public Member Functions

 XmlHandler (TemplateList *templateList, Project *project)
 Create an XML Handler (reader/writer) that can populate the TemplateList class data.
 
virtual bool startElement (const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
 Handle an XML start element.
 
virtual bool endElement (const QString &namespaceURI, const QString &localName, const QString &qName)
 Handle an XML end element.
 
virtual void setReader (XmlStackedHandlerReader *)
 
void switchToNewHandler (XmlStackedHandler *nextHandler)
 Switch to a new content handler and continue processing using the new handler.
 

Protected Member Functions

XmlStackedHandlerReaderreader ()
 
const XmlStackedHandlerReaderreader () const
 
bool fatalError (const QXmlParseException &exception)
 

Private Member Functions

 Q_DISABLE_COPY (XmlHandler)
 

Private Attributes

TemplateListm_templateList
 TemplateList to be read or written.
 
Projectm_project
 Project that contains the template list.
 
XmlStackedHandlerReaderm_reader
 
int m_depth
 
QString m_lastStartNamespaceURI
 
QString m_lastStartLocalName
 
QString m_lastStartQName
 
QXmlAttributes m_lastStartAtts
 

Detailed Description

Author
2017-11-01 Christopher Combs
History
2017-11-01 Christopher Combs - Maintains a list of Templates so that templates can easily be copied from one Project to another, saved to disk, or deleted from disk. Adapted from ControlList.

Definition at line 70 of file TemplateList.h.

Constructor & Destructor Documentation

◆ XmlHandler()

Isis::TemplateList::XmlHandler::XmlHandler ( TemplateList * templateList,
Project * project )

Create an XML Handler (reader/writer) that can populate the TemplateList class data.

See TemplateList::save() for the expected format.

Parameters
templateListThe template list we're going to be initializing
projectThe project that contains the TemplateList

Definition at line 248 of file TemplateList.cpp.

References m_project, and m_templateList.

Member Function Documentation

◆ endElement()

bool Isis::TemplateList::XmlHandler::endElement ( const QString & namespaceURI,
const QString & localName,
const QString & qName )
virtual

Handle an XML end element.

This handles <templateList > by opening and reading the templates.xml file.

Parameters
namespaceURI???
localNameThe keyword name given to the member variable in the XML
qName???
Returns
bool If we should continue reading the XML (usually true).
Exceptions
IException::Io"Unable to open with read access"
IException::Io"Failed to open TemplateList XML"

Reimplemented from Isis::XmlStackedHandler.

Definition at line 307 of file TemplateList.cpp.

References Isis::IException::Io, and Isis::XmlStackedHandlerReader::pushContentHandler().

◆ fatalError()

bool Isis::XmlStackedHandler::fatalError ( const QXmlParseException & exception)
protectedinherited

Definition at line 78 of file XmlStackedHandler.cpp.

◆ reader() [1/2]

XmlStackedHandlerReader * Isis::XmlStackedHandler::reader ( )
protectedinherited

Definition at line 68 of file XmlStackedHandler.cpp.

◆ reader() [2/2]

const XmlStackedHandlerReader * Isis::XmlStackedHandler::reader ( ) const
protectedinherited

Definition at line 73 of file XmlStackedHandler.cpp.

◆ setReader()

void Isis::XmlStackedHandler::setReader ( XmlStackedHandlerReader * reader)
virtualinherited

Definition at line 28 of file XmlStackedHandler.cpp.

◆ startElement()

bool Isis::TemplateList::XmlHandler::startElement ( const QString & namespaceURI,
const QString & localName,
const QString & qName,
const QXmlAttributes & atts )
virtual

Handle an XML start element.

This expects <templateList> and <template> elements (it reads both the project XML and the templates.xml file).

Parameters
namespaceURI???
localNameThe keyword name given to the member variable in the XML
qName???
attsThe attribute containing the keyword value given for the given localName
Returns
bool If we should continue reading the XML (usually true).

Reimplemented from Isis::XmlStackedHandler.

Definition at line 265 of file TemplateList.cpp.

References Isis::TemplateList::name(), Isis::TemplateList::path(), and Isis::TemplateList::type().

◆ switchToNewHandler()

void Isis::XmlStackedHandler::switchToNewHandler ( XmlStackedHandler * nextHandler)
inherited

Switch to a new content handler and continue processing using the new handler.

Definition at line 37 of file XmlStackedHandler.cpp.

Member Data Documentation

◆ m_depth

int Isis::XmlStackedHandler::m_depth
privateinherited

Definition at line 141 of file XmlStackedHandler.h.

◆ m_lastStartAtts

QXmlAttributes Isis::XmlStackedHandler::m_lastStartAtts
privateinherited

Definition at line 146 of file XmlStackedHandler.h.

◆ m_lastStartLocalName

QString Isis::XmlStackedHandler::m_lastStartLocalName
privateinherited

Definition at line 144 of file XmlStackedHandler.h.

◆ m_lastStartNamespaceURI

QString Isis::XmlStackedHandler::m_lastStartNamespaceURI
privateinherited

Definition at line 143 of file XmlStackedHandler.h.

◆ m_lastStartQName

QString Isis::XmlStackedHandler::m_lastStartQName
privateinherited

Definition at line 145 of file XmlStackedHandler.h.

◆ m_project

Project* Isis::TemplateList::XmlHandler::m_project
private

Project that contains the template list.

Definition at line 84 of file TemplateList.h.

Referenced by XmlHandler().

◆ m_reader

XmlStackedHandlerReader* Isis::XmlStackedHandler::m_reader
privateinherited

Definition at line 140 of file XmlStackedHandler.h.

◆ m_templateList

TemplateList* Isis::TemplateList::XmlHandler::m_templateList
private

TemplateList to be read or written.

Definition at line 83 of file TemplateList.h.

Referenced by XmlHandler().


The documentation for this class was generated from the following files: