QElectroTech 0.100.0-dev
Loading...
Searching...
No Matches
xmlelementcollection.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2024 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef XMLELEMENTCOLLECTION_H
19#define XMLELEMENTCOLLECTION_H
20
21#include <QObject>
22#include <QDomElement>
23#include "elementslocation.h"
24
25class QDomElement;
26class QFile;
27class QETProject;
28
33class XmlElementCollection : public QObject
34{
35 Q_OBJECT
36
37 public:
39 XmlElementCollection (const QDomElement &dom_element,
40 QETProject *project);
41 QDomElement root() const;
42 QDomElement importCategory() const;
43 QDomNodeList childs(const QDomElement &parent_element) const;
44 QDomElement child(const QDomElement &parent_element,
45 const QString &child_name) const;
46 QDomElement child(const QString &path) const;
47 QList<QDomElement> directories(
48 const QDomElement &parent_element) const;
49 QStringList directoriesNames(
50 const QDomElement &parent_element) const;
51 QList<QDomElement> elements(
52 const QDomElement &parent_element) const;
53 QStringList elementsNames(
54 const QDomElement &parent_element) const;
55 QDomElement element(const QString &path) const;
56 QDomElement directory(const QString &path) const;
57 QString addElement (ElementsLocation &location);
58 bool addElementDefinition (const QString &dir_path,
59 const QString &elmt_name,
60 const QDomElement &xml_definition);
61 bool removeElement(const QString& path);
63 ElementsLocation &destination,
64 const QString& rename = QString(),
65 bool deep_copy = true);
66 bool exist (const QString &path) const;
67 bool createDir (const QString& path,
68 const QString& name,
69 const NamesList &name_list);
70 bool removeDir (const QString& path);
71
72 QList <ElementsLocation> elementsLocation (
73 QDomElement dom_element = QDomElement(),
74 bool childs = true) const;
75 ElementsLocation domToLocation(QDomElement dom_element) const;
76
77 void cleanUnusedElement();
79
80 private:
82 ElementsLocation &source,
83 ElementsLocation &destination,
84 const QString& rename = QString(),
85 bool deep_copy = true);
87 ElementsLocation &destination,
88 const QString& rename = QString());
89
90 signals:
96 void elementAdded(QString collection_path);
102 void elementChanged (QString collection_path);
108 void elementRemoved(QString collection_path);
114 void directorieAdded(QString collection_path);
120 void directoryRemoved(QString collection_path);
121
122 private:
123 QDomDocument m_dom_document;
125};
126
127#endif // XMLELEMENTCOLLECTION_H
The ElementsLocation class This class represents the location, the location of an element or of a cat...
Definition elementslocation.h:47
Definition nameslist.h:31
Definition qetproject.h:62
The XmlElementCollection class This class represent a collection of elements stored to xml.
Definition xmlelementcollection.h:34
QList< QDomElement > directories(const QDomElement &parent_element) const
XmlElementCollection::directories.
Definition xmlelementcollection.cpp:285
QDomElement directory(const QString &path) const
XmlElementCollection::directory.
Definition xmlelementcollection.cpp:391
bool removeDir(const QString &path)
XmlElementCollection::removeDir Remove the directory at path path.
Definition xmlelementcollection.cpp:703
ElementsLocation copyElement(ElementsLocation &source, ElementsLocation &destination, const QString &rename=QString())
XmlElementCollection::copyElement Copy the element represented by source to destination (must be a di...
Definition xmlelementcollection.cpp:933
QString addElement(ElementsLocation &location)
XmlElementCollection::addElement Add the element at location to this collection. The element is copie...
Definition xmlelementcollection.cpp:415
bool removeElement(const QString &path)
XmlElementCollection::removeElement Remove the element at path path.
Definition xmlelementcollection.cpp:598
void cleanUnusedDirectory()
XmlElementCollection::cleanUnusedDirectory Remove the empty directories of this collection.
Definition xmlelementcollection.cpp:803
QDomElement child(const QDomElement &parent_element, const QString &child_name) const
XmlElementCollection::child If parent_element have child element with an attribute name = child_name,...
Definition xmlelementcollection.cpp:230
QList< QDomElement > elements(const QDomElement &parent_element) const
XmlElementCollection::elements.
Definition xmlelementcollection.cpp:329
ElementsLocation copy(ElementsLocation &source, ElementsLocation &destination, const QString &rename=QString(), bool deep_copy=true)
XmlElementCollection::copy Copy the content represented by source (an element or a directory) to dest...
Definition xmlelementcollection.cpp:627
QStringList directoriesNames(const QDomElement &parent_element) const
XmlElementCollection::directoriesNames.
Definition xmlelementcollection.cpp:308
void elementRemoved(QString collection_path)
elementRemoved This signal is emitted when an element is removed from this collection
bool exist(const QString &path) const
XmlElementCollection::exist Return true if the path path exist in this collection.
Definition xmlelementcollection.cpp:651
QDomDocument m_dom_document
Definition xmlelementcollection.h:123
ElementsLocation copyDirectory(ElementsLocation &source, ElementsLocation &destination, const QString &rename=QString(), bool deep_copy=true)
XmlElementCollection::copyDirectory Copy the directory represented by source to destination....
Definition xmlelementcollection.cpp:831
bool createDir(const QString &path, const QString &name, const NamesList &name_list)
XmlElementCollection::createDir Create a child directory at path path with the name name....
Definition xmlelementcollection.cpp:669
ElementsLocation domToLocation(QDomElement dom_element) const
XmlElementCollection::domToLocation Return the element location who represent the xml element : dom_e...
Definition xmlelementcollection.cpp:769
void cleanUnusedElement()
XmlElementCollection::cleanUnusedElement Remove elements in this collection which is not used in the ...
Definition xmlelementcollection.cpp:793
QList< ElementsLocation > elementsLocation(QDomElement dom_element=QDomElement(), bool childs=true) const
XmlElementCollection::elementsLocation Return all locations stored in dom_element (element and direct...
Definition xmlelementcollection.cpp:724
QDomNodeList childs(const QDomElement &parent_element) const
XmlElementCollection::childs.
Definition xmlelementcollection.cpp:210
void elementChanged(QString collection_path)
elementChanged This signal is emitted when the definition of the element at path was changed
void directoryRemoved(QString collection_path)
directoryRemoved This signal is emitted when a directory is removed from this collection
QDomElement element(const QString &path) const
XmlElementCollection::element.
Definition xmlelementcollection.cpp:373
bool addElementDefinition(const QString &dir_path, const QString &elmt_name, const QDomElement &xml_definition)
XmlElementCollection::addElementDefinition Add the element definition xml_definition in the directory...
Definition xmlelementcollection.cpp:559
void directorieAdded(QString collection_path)
directorieAdded This signal is emitted when a directory is added to this collection
QETProject * m_project
Definition xmlelementcollection.h:124
QDomElement root() const
XmlElementCollection::root The root is the first DOM-Element the xml collection, the tag name of the ...
Definition xmlelementcollection.cpp:190
QStringList elementsNames(const QDomElement &parent_element) const
XmlElementCollection::elementsNames.
Definition xmlelementcollection.cpp:351
void elementAdded(QString collection_path)
elementAdded This signal is emitted when a element is added to this collection
QDomElement importCategory() const
XmlElementCollection::importCategory.
Definition xmlelementcollection.cpp:200