Isis 3 Programmer Reference
Isis::ControlList::XmlHandler Class Reference

Nested class used to write the ControlList object information to an XML file for the purposes of saving an restoring the state of the object. More...

Inheritance diagram for Isis::ControlList::XmlHandler:
Inheritance graph
Collaboration diagram for Isis::ControlList::XmlHandler:
Collaboration graph

Public Member Functions

 XmlHandler (ControlList *controlList, Project *project)
 Create an XML Handler (reader/writer) that can populate the ControlList 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

ControlListm_controlList
 Control list to be read or written. More...
 
Projectm_project
 Project that contains the control list. More...
 

Detailed Description

Nested class used to write the ControlList object information to an XML file for the purposes of saving an restoring the state of the object.

See also
ControlList::save for the expected format
Author
2012-09-27 Tracie Sucharski - Adapted from ImageList::XmlHandler
History:
2012-09-27 Tracie Sucharski - Original version.

Definition at line 144 of file ControlList.h.

Constructor & Destructor Documentation

◆ XmlHandler()

Isis::ControlList::XmlHandler::XmlHandler ( ControlList controlList,
Project project 
)

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

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

Parameters
controlListThe control list we're going to be initializing
projectThe project that contains the control list

Definition at line 752 of file ControlList.cpp.

Member Function Documentation

◆ endElement()

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

Handle an XML end element.

This handles <controlList> by opening and reading the controls.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 control list XML"

Reimplemented from Isis::XmlStackedHandler.

Definition at line 807 of file ControlList.cpp.

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

◆ startElement()

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

Handle an XML start element.

This expects <controlList> and <control> elements (it reads both the project XML and the controls.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 769 of file ControlList.cpp.

References Isis::ControlList::name(), and Isis::ControlList::path().

◆ 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_controlList

ControlList* Isis::ControlList::XmlHandler::m_controlList
private

Control list to be read or written.

Definition at line 156 of file ControlList.h.

◆ m_project

Project* Isis::ControlList::XmlHandler::m_project
private

Project that contains the control list.

Definition at line 157 of file ControlList.h.


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