Isis 3 Developer Reference
Isis::TemplateList Class Reference

#include <TemplateList.h>

Inheritance diagram for Isis::TemplateList:
Inheritance graph
Collaboration diagram for Isis::TemplateList:
Collaboration graph

Public Member Functions

 TemplateList (QString name, QString type, QString path, QObject *parent=NULL)
 Create a template from a file name, type, and path. More...
 
 TemplateList (QObject *parent=NULL)
 Creates a blank template list. More...
 
 TemplateList (Project *project, XmlStackedHandlerReader *xmlReader, QObject *parent=NULL)
 Create an TemplateList from XML. More...
 
 TemplateList (const TemplateList &)
 Copy constructor. More...
 
 ~TemplateList ()
 Destructor. More...
 
QString name () const
 Get the human-readable name of this TemplateList. More...
 
QString type () const
 Get the type of template in this TemplateList. More...
 
QString path () const
 Get the path to these Templates in the TemplateList (relative to project root). More...
 
void setName (QString newName)
 Set the human-readable name of this TemplateList. More...
 
void setType (QString newType)
 Set the type of template for of this TemplateList. More...
 
void setPath (QString newPath)
 Set the relative path (from the project root) to this TemplateList's folder. More...
 
void deleteFromDisk (Project *project)
 Delete all of the contained Templates from disk. More...
 
void save (QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
 Convert this TemplateList into XML format for saving/restoring capabilities. More...
 

Detailed Description

Author
2017-11-01 Christopher Combs

Constructor & Destructor Documentation

◆ TemplateList() [1/4]

Isis::TemplateList::TemplateList ( QString  name,
QString  type,
QString  path,
QObject parent = NULL 
)

Create a template from a file name, type, and path.

Parameters
nameThe TemplateList's name (i.e. import1, import2, ...)
typeThe TemplateList's folder name (i.e. maps, registrations, ...)
pathPath to the TemplateList's folder from the template root
parentThe Qt-relationship parent

References name(), path(), and type().

◆ TemplateList() [2/4]

Isis::TemplateList::TemplateList ( QObject parent = NULL)
explicit

Creates a blank template list.

Parameters
parentThe Qt-relationship parent.

◆ TemplateList() [3/4]

Isis::TemplateList::TemplateList ( Project project,
XmlStackedHandlerReader xmlReader,
QObject parent = NULL 
)
explicit

Create an TemplateList from XML.

Parameters
projectThe project with the TemplateList
xmlReaderThe XML reader currently at an <templateList> tag.
parentThe Qt-relationship parent

References Isis::XmlStackedHandlerReader::pushContentHandler().

◆ TemplateList() [4/4]

Isis::TemplateList::TemplateList ( const TemplateList other)

Copy constructor.

Parameters
otherThe TemplateList to copy

◆ ~TemplateList()

Isis::TemplateList::~TemplateList ( )

Destructor.

Member Function Documentation

◆ deleteFromDisk()

void Isis::TemplateList::deleteFromDisk ( Project project)

Delete all of the contained Templates from disk.

Parameters
projectProject to delete templates from
See also
Template::deleteFromDisk()

References Isis::Template::deleteFromDisk(), and Isis::Project::templateRoot().

Referenced by Isis::ImportRegistrationTemplateWorkOrder::undoExecution(), and Isis::ImportMapTemplateWorkOrder::undoExecution().

◆ name()

QString Isis::TemplateList::name ( ) const

Get the human-readable name of this TemplateList.

Returns
QString The name of the TemplateList.

Referenced by save(), Isis::ProjectItem::setTemplateList(), and TemplateList().

◆ path()

QString Isis::TemplateList::path ( ) const

Get the path to these Templates in the TemplateList (relative to project root).

Returns
QString The path to the Templates in the TemplateList.

Referenced by Isis::ProjectItem::setTemplateList(), and TemplateList().

◆ save()

void Isis::TemplateList::save ( QXmlStreamWriter &  stream,
const Project project,
FileName  newProjectRoot 
) const

Convert this TemplateList into XML format for saving/restoring capabilities.

This writes:

  <templateList name="..." type="..." path="...">

to the given xml stream, and creates an 'templates.xml' inside the folder with the templates. Inside the templates.xml, this writes:

  <templates>
    ...
  </templates>
Parameters
streamXML stream that contains the TemplateList data
projectProject to save TemplateList from
newProjectRootFilename root to save TemplateList to
Exceptions
IException::Io"Unable Failed to create directory"
IException::Io"Unable to save template information, could not be opened for writing"

References _FILEINFO_, Isis::FileName::dir(), Isis::Template::fileName(), Isis::IException::Io, name(), Isis::FileName::original(), Isis::FileName::path(), Isis::ReadWrite, Isis::Template::save(), Isis::Project::templateRoot(), and Isis::FileName::toString().

◆ setName()

void Isis::TemplateList::setName ( QString  newName)

Set the human-readable name of this TemplateList.

Parameters
newNameThe name to give this TemplateList

◆ setPath()

void Isis::TemplateList::setPath ( QString  newPath)

Set the relative path (from the project root) to this TemplateList's folder.

Parameters
newPathThe path to the templates in this TemplateList

◆ setType()

void Isis::TemplateList::setType ( QString  newType)

Set the type of template for of this TemplateList.

Parameters
newTypeThe type to give this TemplateList

◆ type()

QString Isis::TemplateList::type ( ) const

Get the type of template in this TemplateList.

Returns
QString The type of template found in this TemplateList.

Referenced by Isis::ControlPointEditWidget::addTemplates(), Isis::Project::addTemplates(), and TemplateList().


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