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. More...
 
virtual bool startElement (const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
 Handle an XML start element. More...
 
virtual bool endElement (const QString &namespaceURI, const QString &localName, const QString &qName)
 Handle an XML end element. More...
 
virtual void setReader (XmlStackedHandlerReader *)
 
void switchToNewHandler (XmlStackedHandler *nextHandler)
 Switch to a new content handler and continue processing using the new handler. More...
 

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. More...
 
Projectm_project
 Project that contains the template list. More...
 

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 84 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 263 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 322 of file TemplateList.cpp.

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

◆ 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 280 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 32 of file XmlStackedHandler.cpp.

Referenced by Isis::XmlStackedHandlerReader::pushContentHandler().

Member Data Documentation

◆ m_project

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

Project that contains the template list.

Definition at line 98 of file TemplateList.h.

Referenced by XmlHandler().

◆ m_templateList

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

TemplateList to be read or written.

Definition at line 97 of file TemplateList.h.

Referenced by XmlHandler().


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