Classes "ElementPerso" et "PanelAppareils" renommees en "CustomElement" et "ElementsPanel"

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@48 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-01-30 22:32:21 +00:00
parent 29d35a2007
commit a5cc50f5ab
9 changed files with 44 additions and 44 deletions

View File

@@ -1,4 +1,4 @@
#include "elementperso.h"
#include "customelement.h"
/**
Constructeur de la classe ElementPerso. Permet d'instancier un element
@@ -7,7 +7,7 @@
en parametre.
@param nom_fichier Le chemin du fichier XML decrivant l'element
@param qgi Le QGraphicsItem parent de cet element
@param s Le Diagram affichant cet element
@param s Le Schema affichant cet element
@param etat Un pointeur facultatif vers un entier. La valeur de cet entier
sera changee de maniere a refleter le deroulement de l'instanciation :
- 0 : L'instanciation a reussi
@@ -20,7 +20,7 @@
- 7 : L'analyse d'un element XML decrivant une partie du dessin de l'element a echoue
- 8 : Aucune partie du dessin n'a pu etre chargee
*/
ElementPerso::ElementPerso(QString &nom_fichier, QGraphicsItem *qgi, Diagram *s, int *etat) : FixedElement(qgi, s) {
CustomElement::CustomElement(QString &nom_fichier, QGraphicsItem *qgi, Diagram *s, int *etat) : FixedElement(qgi, s) {
nomfichier = nom_fichier;
nb_terminals = 0;
// pessimisme inside : par defaut, ca foire
@@ -157,7 +157,7 @@ ElementPerso::ElementPerso(QString &nom_fichier, QGraphicsItem *qgi, Diagram *s,
/**
@return Le nombre de bornes que l'element possede
*/
int ElementPerso::nbTerminals() const {
int CustomElement::nbTerminals() const {
return(nb_terminals);
}
@@ -166,7 +166,7 @@ int ElementPerso::nbTerminals() const {
@param qp Le QPainter a utiliser pour dessiner l'element
@param qsogi Les options graphiques
*/
void ElementPerso::paint(QPainter *qp, const QStyleOptionGraphicsItem *) {
void CustomElement::paint(QPainter *qp, const QStyleOptionGraphicsItem *) {
dessin.play(qp);
}
@@ -183,7 +183,7 @@ void ElementPerso::paint(QPainter *qp, const QStyleOptionGraphicsItem *) {
@param s Le schema sur lequel sera affiche l'element perso
@return true si l'analyse reussit, false sinon
*/
bool ElementPerso::parseElement(QDomElement &e, QPainter &qp, Diagram *s) {
bool CustomElement::parseElement(QDomElement &e, QPainter &qp, Diagram *s) {
if (e.tagName() == "borne") return(parseTerminal(e, s));
else if (e.tagName() == "ligne") return(parseLigne(e, qp));
else if (e.tagName() == "ellipse") return(parseEllipse(e, qp));
@@ -204,7 +204,7 @@ bool ElementPerso::parseElement(QDomElement &e, QPainter &qp, Diagram *s) {
@param qp Le QPainter a utiliser pour dessiner l'element perso
@return true si l'analyse reussit, false sinon
*/
bool ElementPerso::parseLigne(QDomElement &e, QPainter &qp) {
bool CustomElement::parseLigne(QDomElement &e, QPainter &qp) {
// verifie la presence et la validite des attributs obligatoires
double x1, y1, x2, y2;
if (!attributeIsAReal(e, QString("x1"), &x1)) return(false);
@@ -231,7 +231,7 @@ bool ElementPerso::parseLigne(QDomElement &e, QPainter &qp) {
@return true si l'analyse reussit, false sinon
@todo utiliser des attributs plus coherents : x et y = centre, rayon = vrai rayon
*/
bool ElementPerso::parseCercle(QDomElement &e, QPainter &qp) {
bool CustomElement::parseCercle(QDomElement &e, QPainter &qp) {
// verifie la presence des attributs obligatoires
double cercle_x, cercle_y, cercle_r;
if (!attributeIsAReal(e, QString("x"), &cercle_x)) return(false);
@@ -258,7 +258,7 @@ bool ElementPerso::parseCercle(QDomElement &e, QPainter &qp) {
@return true si l'analyse reussit, false sinon
@todo utiliser des attributs plus coherents : x et y = centre
*/
bool ElementPerso::parseEllipse(QDomElement &e, QPainter &qp) {
bool CustomElement::parseEllipse(QDomElement &e, QPainter &qp) {
// verifie la presence des attributs obligatoires
double ellipse_x, ellipse_y, ellipse_l, ellipse_h;
if (!attributeIsAReal(e, QString("x"), &ellipse_x)) return(false);
@@ -286,7 +286,7 @@ bool ElementPerso::parseEllipse(QDomElement &e, QPainter &qp) {
@param qp Le QPainter a utiliser pour dessiner l'element perso
@return true si l'analyse reussit, false sinon
*/
bool ElementPerso::parseArc(QDomElement &e, QPainter &qp) {
bool CustomElement::parseArc(QDomElement &e, QPainter &qp) {
// verifie la presence des attributs obligatoires
double arc_x, arc_y, arc_l, arc_h, arc_s, arc_a;
if (!attributeIsAReal(e, QString("x"), &arc_x)) return(false);
@@ -313,7 +313,7 @@ bool ElementPerso::parseArc(QDomElement &e, QPainter &qp) {
@param qp Le QPainter a utiliser pour dessiner l'element perso
@return true si l'analyse reussit, false sinon
*/
bool ElementPerso::parsePolygone(QDomElement &e, QPainter &qp) {
bool CustomElement::parsePolygone(QDomElement &e, QPainter &qp) {
int i = 1;
while(true) {
if (attributeIsAReal(e, QString("x%1").arg(i)) && attributeIsAReal(e, QString("y%1").arg(i))) ++ i;
@@ -345,7 +345,7 @@ bool ElementPerso::parsePolygone(QDomElement &e, QPainter &qp) {
@param s Le schema sur lequel l'element perso sera affiche
@return true si l'analyse reussit, false sinon
*/
bool ElementPerso::parseTerminal(QDomElement &e, Diagram *s) {
bool CustomElement::parseTerminal(QDomElement &e, Diagram *s) {
// verifie la presence et la validite des attributs obligatoires
double terminalx, terminaly;
Terminal::Orientation terminalo;
@@ -367,7 +367,7 @@ bool ElementPerso::parseTerminal(QDomElement &e, Diagram *s) {
@param qp Le QPainter a modifier
@param aa Booleen a true pour activer l'antialiasing, a false pour le desactiver
*/
void ElementPerso::setQPainterAntiAliasing(QPainter &qp, bool aa) {
void CustomElement::setQPainterAntiAliasing(QPainter &qp, bool aa) {
qp.setRenderHint(QPainter::Antialiasing, aa);
qp.setRenderHint(QPainter::TextAntialiasing, aa);
qp.setRenderHint(QPainter::SmoothPixmapTransform, aa);
@@ -381,7 +381,7 @@ void ElementPerso::setQPainterAntiAliasing(QPainter &qp, bool aa) {
@param entier Pointeur facultatif vers un entier
@return true si l'attribut est bien un entier, false sinon
*/
bool ElementPerso::attributeIsAnInteger(QDomElement &e, QString nom_attribut, int *entier) {
bool CustomElement::attributeIsAnInteger(QDomElement &e, QString nom_attribut, int *entier) {
// verifie la presence de l'attribut
if (!e.hasAttribute(nom_attribut)) return(false);
// verifie la validite de l'attribut
@@ -400,7 +400,7 @@ bool ElementPerso::attributeIsAnInteger(QDomElement &e, QString nom_attribut, in
@param reel Pointeur facultatif vers un double
@return true si l'attribut est bien un reel, false sinon
*/
bool ElementPerso::attributeIsAReal(QDomElement &e, QString nom_attribut, double *reel) {
bool CustomElement::attributeIsAReal(QDomElement &e, QString nom_attribut, double *reel) {
// verifie la presence de l'attribut
if (!e.hasAttribute(nom_attribut)) return(false);
// verifie la validite de l'attribut
@@ -430,7 +430,7 @@ bool ElementPerso::attributeIsAReal(QDomElement &e, QString nom_attribut, double
@param e Element XML
@return true si l'attribut "orientation" est valide, false sinon
*/
bool ElementPerso::validOrientationAttribute(QDomElement &e) {
bool CustomElement::validOrientationAttribute(QDomElement &e) {
// verifie la presence de l'attribut orientation
if (!e.hasAttribute("orientation")) return(false);
QString t = e.attribute("orientation");
@@ -476,7 +476,7 @@ bool ElementPerso::validOrientationAttribute(QDomElement &e) {
@param e L'element XML a parser
@param qp Le QPainter a modifier en fonction des styles
*/
void ElementPerso::setPainterStyle(QDomElement &e, QPainter &qp) {
void CustomElement::setPainterStyle(QDomElement &e, QPainter &qp) {
// recupere le QPen et la QBrush du QPainter
QPen pen = qp.pen();
QBrush brush = qp.brush();

View File

@@ -2,9 +2,9 @@
#define ELEMENTPERSO_H
#include "fixedelement.h"
#include <QtGui>
class ElementPerso : public FixedElement {
class CustomElement : public FixedElement {
public:
ElementPerso(QString &, QGraphicsItem * = 0, Diagram * = 0, int * = NULL);
CustomElement(QString &, QGraphicsItem * = 0, Diagram * = 0, int * = NULL);
virtual int nbTerminals() const;
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *);
inline QString typeId() { return(nomfichier); }

View File

@@ -1,6 +1,6 @@
#include <math.h>
#include "conducer.h"
#include "elementperso.h"
#include "customelement.h"
#include "diagram.h"
/**
@@ -349,7 +349,7 @@ Element *Diagram::elementFromXml(QDomElement &e, QHash<int, Terminal *> &table_i
QString type = e.attribute("type");
QString chemin_fichier = QETApp::realPath(type);
int etat;
Element *nvel_elmt = new ElementPerso(chemin_fichier, 0, 0, &etat);
Element *nvel_elmt = new CustomElement(chemin_fichier, 0, 0, &etat);
if (etat != 0) return(false);
// charge les caracteristiques de l'element

View File

@@ -1,6 +1,6 @@
#include "diagramview.h"
#include "diagram.h"
#include "elementperso.h"
#include "customelement.h"
/**
Initialise le DiagramView
@@ -197,7 +197,7 @@ void DiagramView::dragMoveEvent(QDragMoveEvent *e) {
void DiagramView::dropEvent(QDropEvent *e) {
QString fichier = e -> mimeData() -> text();
int etat;
Element *el = new ElementPerso(fichier, 0, 0, &etat);
Element *el = new CustomElement(fichier, 0, 0, &etat);
if (etat != 0) delete el;
else {
scene -> addItem(el);

View File

@@ -1,11 +1,11 @@
#include "panelappareils.h"
#include "elementperso.h"
#include "elementspanel.h"
#include "customelement.h"
/**
Constructeur
@param parent Le QWidget parent du panel d'appareils
*/
PanelAppareils::PanelAppareils(QWidget *parent) : QTreeWidget(parent) {
ElementsPanel::ElementsPanel(QWidget *parent) : QTreeWidget(parent) {
// selection unique
setSelectionMode(QAbstractItemView::SingleSelection);
@@ -40,13 +40,13 @@ PanelAppareils::PanelAppareils(QWidget *parent) : QTreeWidget(parent) {
/**
Gere le mouvement lors d'un drag'n drop
*/
void PanelAppareils::dragMoveEvent(QDragMoveEvent */*e*/) {
void ElementsPanel::dragMoveEvent(QDragMoveEvent */*e*/) {
}
/**
Gere le depot lors d'un drag'n drop
*/
void PanelAppareils::dropEvent(QDropEvent */*e*/) {
void ElementsPanel::dropEvent(QDropEvent */*e*/) {
}
/**
@@ -54,7 +54,7 @@ void PanelAppareils::dropEvent(QDropEvent */*e*/) {
@param supportedActions Les actions supportees
@todo virer les lignes type «if ("tel appareil") construire TelAppareil» => trouver un moyen d'automatiser ca
*/
void PanelAppareils::startDrag(Qt::DropActions /*supportedActions*/) {
void ElementsPanel::startDrag(Qt::DropActions /*supportedActions*/) {
// recupere le nom du fichier decrivant l'element
QString nom_fichier = currentItem() -> data(0, 42).toString();
if (nom_fichier == QString()) return;
@@ -67,7 +67,7 @@ void PanelAppareils::startDrag(Qt::DropActions /*supportedActions*/) {
// appareil temporaire pour fournir un apercu
int etat;
Element *appar = new ElementPerso(nom_fichier, 0, 0, &etat);
Element *appar = new CustomElement(nom_fichier, 0, 0, &etat);
if (etat != 0) {
delete appar;
return;
@@ -97,7 +97,7 @@ void PanelAppareils::startDrag(Qt::DropActions /*supportedActions*/) {
dans le dossier et y lit le nom du dossier ; si ce fichier n'existe pas ou
est invalide, la fonction utilise le nom du dossier.
*/
void PanelAppareils::ajouterDossier(QTreeWidgetItem *qtwi_parent, QString adr_dossier, QString nom) {
void ElementsPanel::ajouterDossier(QTreeWidgetItem *qtwi_parent, QString adr_dossier, QString nom) {
QDir dossier(adr_dossier);
if (!dossier.exists()) return;
adr_dossier = dossier.canonicalPath() + "/";
@@ -127,11 +127,11 @@ void PanelAppareils::ajouterDossier(QTreeWidgetItem *qtwi_parent, QString adr_do
@param qtwi_parent QTreeWidgetItem parent sous lequel sera insere l'element
@param fichier Chemin absolu du fichier XML decrivant l'element a inserer
*/
void PanelAppareils::ajouterFichier(QTreeWidgetItem *qtwi_parent, QString fichier) {
void ElementsPanel::ajouterFichier(QTreeWidgetItem *qtwi_parent, QString fichier) {
QString whats_this = tr("Ceci est un \351l\351ment que vous pouvez ins\351rer dans votre sch\351ma par cliquer-d\351placer");
QString tool_tip = tr("Cliquer-d\351posez cet \351l\351ment sur le sch\351ma pour ins\351rer un \351l\351ment ");
int etat;
ElementPerso *elmt_perso = new ElementPerso(fichier, 0, 0, &etat);
CustomElement *elmt_perso = new CustomElement(fichier, 0, 0, &etat);
if (etat != 0) {
qDebug() << "Le chargement du composant" << fichier << "a echoue avec le code d'erreur" << etat;
return;
@@ -152,7 +152,7 @@ void PanelAppareils::ajouterFichier(QTreeWidgetItem *qtwi_parent, QString fichie
@param directory le chemin du dossier representant la categorie
@return Le nom affichable de la categorie
*/
QString PanelAppareils::categoryName(QDir &directory) {
QString ElementsPanel::categoryName(QDir &directory) {
// en cas d'echec de la lecture du fichier de configuration
// "qet_directory", le nom du dossier est retourne
QString category_name = directory.dirName();

View File

@@ -7,10 +7,10 @@
graphique) dans lequel l'utilisateur choisit les composants de
son choix et les depose sur le schema par drag'n drop.
*/
class PanelAppareils : public QTreeWidget {
class ElementsPanel : public QTreeWidget {
Q_OBJECT
public:
PanelAppareils(QWidget * = 0);
ElementsPanel(QWidget * = 0);
static QString categoryName(QDir &);
public slots:
void dragMoveEvent(QDragMoveEvent *);

View File

@@ -14,9 +14,9 @@ HEADERS += aboutqet.h \
conducer.h \
element.h \
fixedelement.h \
elementperso.h \
customelement.h \
exportdialog.h \
panelappareils.h \
elementspanel.h \
qetapp.h \
diagram.h \
diagramview.h
@@ -26,10 +26,10 @@ SOURCES += aboutqet.cpp \
conducer.cpp \
element.cpp \
fixedelement.cpp \
elementperso.cpp \
customelement.cpp \
exportdialog.cpp \
main.cpp \
panelappareils.cpp \
elementspanel.cpp \
qetapp.cpp \
diagram.cpp \
diagramview.cpp

View File

@@ -1,7 +1,7 @@
#include "qetapp.h"
#include "diagramview.h"
#include "diagram.h"
#include "panelappareils.h"
#include "elementspanel.h"
#include "aboutqet.h"
#include "exportdialog.h"
@@ -56,7 +56,7 @@ QETApp::QETApp(QWidget *parent) : QMainWindow(parent) {
qdw_pa -> setAllowedAreas(Qt::AllDockWidgetAreas);
qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures);
qdw_pa -> setMinimumWidth(160);
qdw_pa -> setWidget(pa = new PanelAppareils(qdw_pa));
qdw_pa -> setWidget(pa = new ElementsPanel(qdw_pa));
addDockWidget(Qt::LeftDockWidgetArea, qdw_pa);
// mise en place des actions

View File

@@ -2,7 +2,7 @@
#define QETAPP_H
#include <QtGui>
class DiagramView;
class PanelAppareils;
class ElementsPanel;
/**
Cette classe represente la fenetre principale de QElectroTech et,
ipso facto, la plus grande partie de l'interface graphique de QElectroTech.
@@ -96,7 +96,7 @@
/// Dock pour le Panel d'Appareils
QDockWidget *qdw_pa;
/// Panel d'Appareils
PanelAppareils *pa;
ElementsPanel *pa;
/// Elements de menus pour l'icone du systray
QMenu *menu_systray;
QAction *systray_masquer;