mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-25 03:40:52 +01:00
Classe EditorScene renommee en ElementScene. Ajout de la classe ElementView. Ajout de la classe ElementItemeditor, classe parente des widgets d'edition. Modification des classes relatives a l'editeur afin que toutes aient acces a l'editeur, a la scene et au QUndoStack. Tous les widgets d'edition heritent donc de ElementItemEditor. Ajout des methodes abstraites property() et setproperty() dans la classe CustomElementPart et de leur implementation dans les classes qui en derivent. Sont desormais annulables les modifications : de style, sur les arcs, sur les bornes, sur les ellipses, sur les cercles, sur les champs de texte, sur les textes et sur les lignes. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@104 bfdf4180-ca20-0410-9c96-a3a8aa849046
64 lines
1.6 KiB
C++
64 lines
1.6 KiB
C++
#ifndef PART_POLYGON_H
|
|
#define PART_POLYGON_H
|
|
#include <QtGui>
|
|
#include "customelementgraphicpart.h"
|
|
class PolygonEditor;
|
|
class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart {
|
|
// constructeurs, destructeur
|
|
public:
|
|
PartPolygon(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0);
|
|
virtual ~PartPolygon() {
|
|
qDebug() << "~PartPolygon()";
|
|
}
|
|
|
|
private:
|
|
PartPolygon(const PartPolygon &);
|
|
|
|
// attributs
|
|
private:
|
|
bool closed;
|
|
PolygonEditor *informations;
|
|
|
|
/**
|
|
constructeur
|
|
paint()
|
|
widget bidon pour l'edition
|
|
methode pour poser le polygone :
|
|
-mousePressEvent = pose un nouveau point
|
|
-mouseMoveEvent = deplace ce point
|
|
-mouveReleaseEvent = finalise ce point
|
|
utiliser QPolygonF ; memoriser le point en cours (tout comme le
|
|
partploygon en cours) et ne l'ajouter au qpolygonf que lors du
|
|
mouseReleaseEvent
|
|
*/
|
|
// methodes
|
|
public:
|
|
void fromXml(const QDomElement &);
|
|
const QDomElement toXml(QDomDocument &) const;
|
|
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
|
|
void setClosed(bool c);
|
|
bool isClosed() const;
|
|
void setProperty(const QString &, const QVariant &);
|
|
virtual QVariant property(const QString &);
|
|
|
|
protected:
|
|
QVariant itemChange(GraphicsItemChange, const QVariant &);
|
|
};
|
|
/**
|
|
Specifie si le polygone doit etre ferme
|
|
@param c true pour un polygone ferme, false sinon
|
|
*/
|
|
inline void PartPolygon::setClosed(bool c) {
|
|
closed = c;
|
|
}
|
|
|
|
/**
|
|
Indique si le polygone est ferme
|
|
@return true si le polygone est ferme, false sinon
|
|
*/
|
|
inline bool PartPolygon::isClosed() const {
|
|
return(closed);
|
|
}
|
|
|
|
#endif
|