/*
Copyright 2006-2025 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see .
*/
#ifndef TITLEBLOCK_SLASH_TEMPLATE_LOCATION_H
#define TITLEBLOCK_SLASH_TEMPLATE_LOCATION_H
#include
#include
class QETProject;
class TitleBlockTemplate;
class TitleBlockTemplatesCollection;
/**
This class represents the location of a title block template.
*/
class TitleBlockTemplateLocation {
// constructor, destructor
public:
TitleBlockTemplateLocation(const QString & = QString(),
TitleBlockTemplatesCollection * = nullptr);
virtual ~TitleBlockTemplateLocation();
// static methods
public:
TitleBlockTemplateLocation locationFromString(const QString &);
// methods
public:
TitleBlockTemplatesCollection *parentCollection() const;
void setParentCollection(TitleBlockTemplatesCollection *);
QString name() const;
void setName(const QString &);
bool isValid() const;
void fromString(const QString &);
QString toString() const;
QETProject *parentProject() const;
QString protocol() const;
QDomElement getTemplateXmlDescription() const;
TitleBlockTemplate *getTemplate() const;
bool isReadOnly() const;
bool operator==(const TitleBlockTemplateLocation &) const;
// attributes
private:
TitleBlockTemplatesCollection
*collection_; ///< Collection the template belongs to
QString name_;///< Name of the template
public:
static int MetaTypeId; ///< Id of the corresponding Qt meta type
};
Q_DECLARE_METATYPE(TitleBlockTemplateLocation)
uint qHash(const TitleBlockTemplateLocation &);
#endif