mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-23 02:10: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
113 lines
2.8 KiB
C++
113 lines
2.8 KiB
C++
#ifndef EDITOR_COMMANDS_H
|
|
#define EDITOR_COMMANDS_H
|
|
#include "customelementpart.h"
|
|
#include "elementscene.h"
|
|
#include "qgimanager.h"
|
|
#include <QtGui>
|
|
/**
|
|
Cette classe represente l'action de supprimer une ou plusieurs
|
|
parties lors de l'edition d'un element
|
|
*/
|
|
class DeletePartsCommand : public QUndoCommand {
|
|
// constructeurs, destructeur
|
|
public:
|
|
DeletePartsCommand(ElementScene *, const QList<QGraphicsItem *>, QUndoCommand * = 0);
|
|
virtual ~DeletePartsCommand();
|
|
private:
|
|
DeletePartsCommand(const DeletePartsCommand &);
|
|
|
|
// methodes
|
|
virtual void undo();
|
|
virtual void redo();
|
|
|
|
// attributs
|
|
private:
|
|
/// Liste des parties supprimees
|
|
QList<QGraphicsItem *> deleted_parts;
|
|
/// scene sur laquelle se produisent les actions
|
|
ElementScene *editor_scene;
|
|
};
|
|
|
|
/**
|
|
Cette classe represente l'action de deplacer une ou plusieurs
|
|
parties lors de l'edition d'un element
|
|
*/
|
|
class MovePartsCommand : public QUndoCommand {
|
|
// constructeurs, destructeur
|
|
public:
|
|
MovePartsCommand(const QPointF &, ElementScene *, const QList<QGraphicsItem *>, QUndoCommand * = 0);
|
|
virtual ~MovePartsCommand();
|
|
private:
|
|
MovePartsCommand(const MovePartsCommand &);
|
|
|
|
// methodes
|
|
virtual void undo();
|
|
virtual void redo();
|
|
|
|
// attributs
|
|
private:
|
|
/// Liste des parties supprimees
|
|
QList<QGraphicsItem *> moved_parts;
|
|
/// scene sur laquelle se produisent les actions
|
|
ElementScene *editor_scene;
|
|
/// translation appliquee
|
|
QPointF movement;
|
|
/// booleen pour eviter d'appeler redo() lors de la construction de l'objet
|
|
bool first_redo;
|
|
};
|
|
|
|
/**
|
|
Cette classe represente l'action de deplacer une ou plusieurs
|
|
parties lors de l'edition d'un element
|
|
*/
|
|
class AddPartCommand : public QUndoCommand {
|
|
// constructeurs, destructeur
|
|
public:
|
|
AddPartCommand(const QString &, ElementScene *, QGraphicsItem *, QUndoCommand * = 0);
|
|
virtual ~AddPartCommand();
|
|
private:
|
|
AddPartCommand(const AddPartCommand &);
|
|
|
|
// methodes
|
|
virtual void undo();
|
|
virtual void redo();
|
|
|
|
// attributs
|
|
private:
|
|
/// Liste des parties supprimees
|
|
QGraphicsItem *part;
|
|
/// scene sur laquelle se produisent les actions
|
|
ElementScene *editor_scene;
|
|
/// booleen pour eviter d'appeler redo() lors de la construction de l'objet
|
|
bool first_redo;
|
|
};
|
|
|
|
/**
|
|
Cette classe represente l'action de modifier une propriete d'une partie
|
|
lors de l'edition d'un element
|
|
*/
|
|
class ChangePartCommand : public QUndoCommand {
|
|
// constructeurs, destructeur
|
|
public:
|
|
ChangePartCommand(const QString &, CustomElementPart *, const QString &, const QVariant &, const QVariant &, QUndoCommand * = 0);
|
|
virtual ~ChangePartCommand();
|
|
private:
|
|
ChangePartCommand(const ChangePartCommand &);
|
|
|
|
// methodes
|
|
virtual void undo();
|
|
virtual void redo();
|
|
|
|
// attributs
|
|
private:
|
|
/// Partie modifiee
|
|
CustomElementPart *cep;
|
|
/// Propriete modifiee
|
|
QString property;
|
|
/// ancienne valeur
|
|
QVariant old_value;
|
|
/// nouvelle valeur
|
|
QVariant new_value;
|
|
};
|
|
#endif
|