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.
 
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

ControlListm_controlList
 Control list to be read or written.
 
Projectm_project
 Project that contains the control list.
 
XmlStackedHandlerReaderm_reader
 
int m_depth
 
QString m_lastStartNamespaceURI
 
QString m_lastStartLocalName
 
QString m_lastStartQName
 
QXmlAttributes m_lastStartAtts
 

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 152 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 738 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 793 of file ControlList.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::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 755 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 37 of file XmlStackedHandler.cpp.

Member Data Documentation

◆ m_controlList

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

Control list to be read or written.

Definition at line 164 of file ControlList.h.

◆ 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::ControlList::XmlHandler::m_project
private

Project that contains the control list.

Definition at line 165 of file ControlList.h.

◆ m_reader

XmlStackedHandlerReader* Isis::XmlStackedHandler::m_reader
privateinherited

Definition at line 140 of file XmlStackedHandler.h.


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