mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-19 23:20:52 +01:00
Ajout de documentation
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@235 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -50,6 +50,10 @@ class Conductor : public QGraphicsPathItem {
|
|||||||
|
|
||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en Conductor avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
void destroy();
|
void destroy();
|
||||||
/// @return true si ce conducteur est detruit
|
/// @return true si ce conducteur est detruit
|
||||||
|
|||||||
@@ -28,10 +28,18 @@
|
|||||||
class ConfigPage : public QWidget {
|
class ConfigPage : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
Constructeur
|
||||||
|
@param parent QWidget parent
|
||||||
|
*/
|
||||||
ConfigPage(QWidget *parent) : QWidget(parent) {};
|
ConfigPage(QWidget *parent) : QWidget(parent) {};
|
||||||
|
/// Destructeur
|
||||||
virtual ~ConfigPage() {};
|
virtual ~ConfigPage() {};
|
||||||
|
/// Applique la configuration saisie par l'utilisateur dans la page de configuration
|
||||||
virtual void applyConf() = 0;
|
virtual void applyConf() = 0;
|
||||||
|
/// @return le titre de la page de configuration
|
||||||
virtual QString title() const = 0;
|
virtual QString title() const = 0;
|
||||||
|
/// @return l'icone de la page de configuration
|
||||||
virtual QIcon icon() const = 0;
|
virtual QIcon icon() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ QDomElement DiagramTextItem::toXml(QDomDocument &document) const {
|
|||||||
return(result);
|
return(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Gere les double-clics sur ce champ de texte.
|
||||||
|
@param event un QGraphicsSceneMouseEvent decrivant le double-clic
|
||||||
|
*/
|
||||||
void DiagramTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
|
void DiagramTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
|
||||||
if (flags() & QGraphicsItem::ItemIsMovable && !(textInteractionFlags() & Qt::TextEditable)) {
|
if (flags() & QGraphicsItem::ItemIsMovable && !(textInteractionFlags() & Qt::TextEditable)) {
|
||||||
// rend le champ de texte editable
|
// rend le champ de texte editable
|
||||||
|
|||||||
@@ -858,6 +858,10 @@ bool DiagramView::event(QEvent *e) {
|
|||||||
return(QGraphicsView::event(e));
|
return(QGraphicsView::event(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Passe le DiagramView en mode "ajout de texte". Un clic cree alors un
|
||||||
|
nouveau champ de texte.
|
||||||
|
*/
|
||||||
void DiagramView::addText() {
|
void DiagramView::addText() {
|
||||||
is_adding_text = true;
|
is_adding_text = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ class DiagramView : public QGraphicsView {
|
|||||||
void removeColumn();
|
void removeColumn();
|
||||||
void expand();
|
void expand();
|
||||||
void shrink();
|
void shrink();
|
||||||
|
/// @return Le schema visualise par ce DiagramView
|
||||||
Diagram *diagram() { return(scene); }
|
Diagram *diagram() { return(scene); }
|
||||||
QETDiagramEditor *diagramEditor() const;
|
QETDiagramEditor *diagramEditor() const;
|
||||||
bool hasSelectedItems();
|
bool hasSelectedItems();
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ class CustomElementGraphicPart : public CustomElementPart {
|
|||||||
|
|
||||||
// constructeurs, destructeur
|
// constructeurs, destructeur
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
Constructeur
|
||||||
|
@param editor Editeur d'element auquel cette partie est rattachee
|
||||||
|
*/
|
||||||
CustomElementGraphicPart(QETElementEditor *editor) :
|
CustomElementGraphicPart(QETElementEditor *editor) :
|
||||||
CustomElementPart(editor),
|
CustomElementPart(editor),
|
||||||
_linestyle(NormalStyle),
|
_linestyle(NormalStyle),
|
||||||
@@ -47,6 +51,7 @@ class CustomElementGraphicPart : public CustomElementPart {
|
|||||||
style_editor = new StyleEditor(elementEditor(), this);
|
style_editor = new StyleEditor(elementEditor(), this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// Destructeur
|
||||||
virtual ~CustomElementGraphicPart() {
|
virtual ~CustomElementGraphicPart() {
|
||||||
delete style_editor;
|
delete style_editor;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -34,7 +34,12 @@ class ElementScene;
|
|||||||
class CustomElementPart {
|
class CustomElementPart {
|
||||||
// constructeurs, destructeur
|
// constructeurs, destructeur
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
Constructeur
|
||||||
|
@param editor Editeur d'element auquel cette partie est rattachee
|
||||||
|
*/
|
||||||
CustomElementPart(QETElementEditor *editor) : element_editor(editor) {}
|
CustomElementPart(QETElementEditor *editor) : element_editor(editor) {}
|
||||||
|
/// Destructeur
|
||||||
virtual ~CustomElementPart() {}
|
virtual ~CustomElementPart() {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -46,15 +51,37 @@ class CustomElementPart {
|
|||||||
|
|
||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
Charge la partie depuis un element XML sense le decrire
|
||||||
|
*/
|
||||||
virtual void fromXml(const QDomElement &) = 0;
|
virtual void fromXml(const QDomElement &) = 0;
|
||||||
|
/**
|
||||||
|
Enregistre la partie dans un document XML
|
||||||
|
*/
|
||||||
virtual const QDomElement toXml(QDomDocument &) const = 0;
|
virtual const QDomElement toXml(QDomDocument &) const = 0;
|
||||||
|
/// @return un widget suppose decrire et/ou permettre de modifier la partie
|
||||||
virtual QWidget *elementInformations() = 0;
|
virtual QWidget *elementInformations() = 0;
|
||||||
|
/**
|
||||||
|
Permet de modifier une des proprietes de la partie
|
||||||
|
*/
|
||||||
virtual void setProperty(const QString &, const QVariant &) = 0;
|
virtual void setProperty(const QString &, const QVariant &) = 0;
|
||||||
|
/**
|
||||||
|
Permet de lire une des proprietes de la partie
|
||||||
|
*/
|
||||||
virtual QVariant property(const QString &) = 0;
|
virtual QVariant property(const QString &) = 0;
|
||||||
|
/**
|
||||||
|
@return true si la partie n'est pas pertinente, false sinon
|
||||||
|
Typiquement, une partie non pertinente n'est pas conservee lors de
|
||||||
|
l'enregistrement de l'element.
|
||||||
|
*/
|
||||||
virtual bool isUseless() const = 0;
|
virtual bool isUseless() const = 0;
|
||||||
|
/// @return un pointeur vers l'editeur d'element parent
|
||||||
virtual QETElementEditor *elementEditor() const;
|
virtual QETElementEditor *elementEditor() const;
|
||||||
|
/// @return un pointeur vers la scene d'edition parente
|
||||||
virtual ElementScene *elementScene() const;
|
virtual ElementScene *elementScene() const;
|
||||||
|
/// @return la pile d'annulations a utiliser
|
||||||
virtual QUndoStack &undoStack() const;
|
virtual QUndoStack &undoStack() const;
|
||||||
|
/// @return le nom de la partie
|
||||||
virtual QString name() const = 0;
|
virtual QString name() const = 0;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1101 };
|
enum { Type = UserType + 1101 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartArc avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
||||||
virtual QString name() const { return(QObject::tr("arc")); }
|
virtual QString name() const { return(QObject::tr("arc")); }
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1102 };
|
enum { Type = UserType + 1102 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartCircle avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
||||||
virtual QString name() const { return(QObject::tr("cercle")); }
|
virtual QString name() const { return(QObject::tr("cercle")); }
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1103 };
|
enum { Type = UserType + 1103 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartEllipse avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
||||||
virtual QString name() const { return(QObject::tr("ellipse")); }
|
virtual QString name() const { return(QObject::tr("ellipse")); }
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1104 };
|
enum { Type = UserType + 1104 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartLine avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
|
||||||
virtual QString name() const { return(QObject::tr("ligne")); }
|
virtual QString name() const { return(QObject::tr("ligne")); }
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1105 };
|
enum { Type = UserType + 1105 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartPolygon avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual QString name() const { return(QObject::tr("polygone")); }
|
virtual QString name() const { return(QObject::tr("polygone")); }
|
||||||
void fromXml(const QDomElement &);
|
void fromXml(const QDomElement &);
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ class PartTerminal : public CustomElementPart, public QGraphicsItem {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1106 };
|
enum { Type = UserType + 1106 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartTerminal avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual QString name() const { return(QObject::tr("borne")); }
|
virtual QString name() const { return(QObject::tr("borne")); }
|
||||||
virtual void fromXml(const QDomElement &);
|
virtual void fromXml(const QDomElement &);
|
||||||
|
|||||||
@@ -39,6 +39,10 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1107 };
|
enum { Type = UserType + 1107 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartText avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual QString name() const { return(QObject::tr("texte")); }
|
virtual QString name() const { return(QObject::tr("texte")); }
|
||||||
void fromXml(const QDomElement &);
|
void fromXml(const QDomElement &);
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ class PartTextField : public QGraphicsTextItem, public CustomElementPart {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
enum { Type = UserType + 1108 };
|
enum { Type = UserType + 1108 };
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en PartTextField avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
virtual QString name() const { return(QObject::tr("champ de texte")); }
|
virtual QString name() const { return(QObject::tr("champ de texte")); }
|
||||||
void fromXml(const QDomElement &);
|
void fromXml(const QDomElement &);
|
||||||
|
|||||||
@@ -23,6 +23,10 @@
|
|||||||
#include "newelementwizard.h"
|
#include "newelementwizard.h"
|
||||||
#include "elementitemeditor.h"
|
#include "elementitemeditor.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
Constructeur
|
||||||
|
@param parent QWidget parent
|
||||||
|
*/
|
||||||
QETElementEditor::QETElementEditor(QWidget *parent) :
|
QETElementEditor::QETElementEditor(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
read_only(false),
|
read_only(false),
|
||||||
@@ -47,9 +51,13 @@ QETElementEditor::QETElementEditor(QWidget *parent) :
|
|||||||
show();
|
show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Destructeur
|
||||||
QETElementEditor::~QETElementEditor() {
|
QETElementEditor::~QETElementEditor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Met en place les actions
|
||||||
|
*/
|
||||||
void QETElementEditor::setupActions() {
|
void QETElementEditor::setupActions() {
|
||||||
new_element = new QAction(QIcon(":/ico/new.png"), tr("&Nouveau"), this);
|
new_element = new QAction(QIcon(":/ico/new.png"), tr("&Nouveau"), this);
|
||||||
open = new QAction(QIcon(":/ico/open.png"), tr("&Ouvrir"), this);
|
open = new QAction(QIcon(":/ico/open.png"), tr("&Ouvrir"), this);
|
||||||
@@ -184,6 +192,9 @@ void QETElementEditor::setupActions() {
|
|||||||
connect(&(ce_scene -> undoStack()), SIGNAL(cleanChanged(bool)), this, SLOT(slot_updateTitle()));
|
connect(&(ce_scene -> undoStack()), SIGNAL(cleanChanged(bool)), this, SLOT(slot_updateTitle()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Met en place les menus.
|
||||||
|
*/
|
||||||
void QETElementEditor::setupMenus() {
|
void QETElementEditor::setupMenus() {
|
||||||
file_menu = new QMenu(tr("Fichier"), this);
|
file_menu = new QMenu(tr("Fichier"), this);
|
||||||
edit_menu = new QMenu(tr("\311dition"), this);
|
edit_menu = new QMenu(tr("\311dition"), this);
|
||||||
@@ -240,6 +251,9 @@ void QETElementEditor::setupMenus() {
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Met a jour les menus
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_updateMenus() {
|
void QETElementEditor::slot_updateMenus() {
|
||||||
bool selected_items = !ce_scene -> selectedItems().isEmpty();
|
bool selected_items = !ce_scene -> selectedItems().isEmpty();
|
||||||
edit_delete -> setEnabled(selected_items);
|
edit_delete -> setEnabled(selected_items);
|
||||||
@@ -250,6 +264,9 @@ void QETElementEditor::slot_updateMenus() {
|
|||||||
save -> setEnabled(!ce_scene -> undoStack().isClean());
|
save -> setEnabled(!ce_scene -> undoStack().isClean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Met a jour le titre de la fenetre
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_updateTitle() {
|
void QETElementEditor::slot_updateTitle() {
|
||||||
QString title = min_title;
|
QString title = min_title;
|
||||||
title += " - " + ce_scene -> names().name() + " ";
|
title += " - " + ce_scene -> names().name() + " ";
|
||||||
@@ -260,6 +277,9 @@ void QETElementEditor::slot_updateTitle() {
|
|||||||
setWindowTitle(title);
|
setWindowTitle(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Met en place l'interface
|
||||||
|
*/
|
||||||
void QETElementEditor::setupInterface() {
|
void QETElementEditor::setupInterface() {
|
||||||
// editeur
|
// editeur
|
||||||
ce_scene = new ElementScene(this, this);
|
ce_scene = new ElementScene(this, this);
|
||||||
@@ -316,20 +336,36 @@ void QETElementEditor::setupInterface() {
|
|||||||
statusBar() -> showMessage(tr("\311diteur d'\351l\351ments"));
|
statusBar() -> showMessage(tr("\311diteur d'\351l\351ments"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Passe l'editeur d'element en mode selection : le pointeur deplace les
|
||||||
|
elements selectionnes et il est possible d'utiliser un rectangle de selection.
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_setRubberBandToView() {
|
void QETElementEditor::slot_setRubberBandToView() {
|
||||||
ce_view -> setDragMode(QGraphicsView::RubberBandDrag);
|
ce_view -> setDragMode(QGraphicsView::RubberBandDrag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Passe l'editeur d'element en mode immobile (utilise pour la lecture seule)
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_setNoDragToView() {
|
void QETElementEditor::slot_setNoDragToView() {
|
||||||
ce_view -> setDragMode(QGraphicsView::NoDrag);
|
ce_view -> setDragMode(QGraphicsView::NoDrag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Passe l'editeur en mode normal
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_setNormalMode() {
|
void QETElementEditor::slot_setNormalMode() {
|
||||||
if (!move -> isChecked()) move -> setChecked(true);
|
if (!move -> isChecked()) move -> setChecked(true);
|
||||||
ce_view -> setDragMode(QGraphicsView::RubberBandDrag);
|
ce_view -> setDragMode(QGraphicsView::RubberBandDrag);
|
||||||
ce_scene -> slot_move();
|
ce_scene -> slot_move();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Met a jour la zone d'information et d'edition.
|
||||||
|
Si plusieurs parties sont selectionnees, seul leur nombre est affiche.
|
||||||
|
Sinon, le widget d'edition de la partie est insere.
|
||||||
|
@see CustomElementPart::elementInformations()
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_updateInformations() {
|
void QETElementEditor::slot_updateInformations() {
|
||||||
QList<QGraphicsItem *> selected_qgis = ce_scene -> selectedItems();
|
QList<QGraphicsItem *> selected_qgis = ce_scene -> selectedItems();
|
||||||
QList<CustomElementPart *> selected_parts;
|
QList<CustomElementPart *> selected_parts;
|
||||||
@@ -363,6 +399,10 @@ void QETElementEditor::slot_updateInformations() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Affiche le code XML correspondant a l'element dans son etat actuel dans
|
||||||
|
une boite de dialogue.
|
||||||
|
*/
|
||||||
void QETElementEditor::xmlPreview() {
|
void QETElementEditor::xmlPreview() {
|
||||||
QMessageBox::information(
|
QMessageBox::information(
|
||||||
this,
|
this,
|
||||||
@@ -371,6 +411,10 @@ void QETElementEditor::xmlPreview() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Charge un fichier
|
||||||
|
@param filepath Chemin du fichier a charger
|
||||||
|
*/
|
||||||
void QETElementEditor::fromFile(const QString &filepath) {
|
void QETElementEditor::fromFile(const QString &filepath) {
|
||||||
bool state = true;
|
bool state = true;
|
||||||
QString error_message;
|
QString error_message;
|
||||||
@@ -424,6 +468,12 @@ void QETElementEditor::fromFile(const QString &filepath) {
|
|||||||
setFileName(filepath);
|
setFileName(filepath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Enregistre l'element vers un fichier
|
||||||
|
@param fn Chemin du fichier a enregistrer
|
||||||
|
@return true en cas de reussite, false sinon
|
||||||
|
*/
|
||||||
bool QETElementEditor::toFile(const QString &fn) {
|
bool QETElementEditor::toFile(const QString &fn) {
|
||||||
QFile file(fn);
|
QFile file(fn);
|
||||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||||
@@ -469,11 +519,17 @@ bool QETElementEditor::isReadOnly() const {
|
|||||||
return(read_only);
|
return(read_only);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Lance l'assistant de creation d'un nouvel element.
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_new() {
|
void QETElementEditor::slot_new() {
|
||||||
NewElementWizard new_element_wizard;
|
NewElementWizard new_element_wizard;
|
||||||
new_element_wizard.exec();
|
new_element_wizard.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Ouvre un fichier
|
||||||
|
*/
|
||||||
void QETElementEditor::slot_open() {
|
void QETElementEditor::slot_open() {
|
||||||
// demande un nom de fichier a ouvrir a l'utilisateur
|
// demande un nom de fichier a ouvrir a l'utilisateur
|
||||||
QString user_filename = QFileDialog::getOpenFileName(
|
QString user_filename = QFileDialog::getOpenFileName(
|
||||||
@@ -513,6 +569,12 @@ void QETElementEditor::slot_reload() {
|
|||||||
fromFile(_filename);
|
fromFile(_filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Enregistre l'element en cours d'edition.
|
||||||
|
Si le nom du fichier en cours n'est pas connu, cette methode equivaut a
|
||||||
|
l'action "Enregistrer sous"
|
||||||
|
@see slot_saveAs()
|
||||||
|
*/
|
||||||
bool QETElementEditor::slot_save() {
|
bool QETElementEditor::slot_save() {
|
||||||
// si on ne connait pas le nom du fichier en cours, enregistrer revient a enregistrer sous
|
// si on ne connait pas le nom du fichier en cours, enregistrer revient a enregistrer sous
|
||||||
if (_filename.isEmpty()) return(slot_saveAs());
|
if (_filename.isEmpty()) return(slot_saveAs());
|
||||||
@@ -522,6 +584,9 @@ bool QETElementEditor::slot_save() {
|
|||||||
return(result_save);
|
return(result_save);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Demande un nom de fichier a l'utilisateur et enregistre l'element
|
||||||
|
*/
|
||||||
bool QETElementEditor::slot_saveAs() {
|
bool QETElementEditor::slot_saveAs() {
|
||||||
// demande un nom de fichier a l'utilisateur pour enregistrer l'element
|
// demande un nom de fichier a l'utilisateur pour enregistrer l'element
|
||||||
QString fn = QFileDialog::getSaveFileName(
|
QString fn = QFileDialog::getSaveFileName(
|
||||||
@@ -545,6 +610,12 @@ bool QETElementEditor::slot_saveAs() {
|
|||||||
return(result_save);
|
return(result_save);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return true si l'element peut etre ferme.
|
||||||
|
Un element peut etre ferme s'il ne comporte aucune modification.
|
||||||
|
Si l'element comporte des modifications, la question est posee a
|
||||||
|
l'utilisateur.
|
||||||
|
*/
|
||||||
bool QETElementEditor::canClose() {
|
bool QETElementEditor::canClose() {
|
||||||
if (ce_scene -> undoStack().isClean()) return(true);
|
if (ce_scene -> undoStack().isClean()) return(true);
|
||||||
// demande d'abord a l'utilisateur s'il veut enregistrer l'element en cours
|
// demande d'abord a l'utilisateur s'il veut enregistrer l'element en cours
|
||||||
|
|||||||
14
element.h
14
element.h
@@ -48,16 +48,30 @@ class Element : public QGraphicsItem {
|
|||||||
|
|
||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
permet de caster un QGraphicsItem en Element avec qgraphicsitem_cast
|
||||||
|
@return le type de QGraphicsItem
|
||||||
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
|
|
||||||
// methodes virtuelles pures a definir dans les classes enfants
|
// methodes virtuelles pures a definir dans les classes enfants
|
||||||
|
/// @return la liste des bornes de cet element
|
||||||
virtual QList<Terminal *> terminals() const = 0;
|
virtual QList<Terminal *> terminals() const = 0;
|
||||||
|
/// @return la liste des conducteurs relies a cet element
|
||||||
virtual QList<Conductor *> conductors() const = 0;
|
virtual QList<Conductor *> conductors() const = 0;
|
||||||
|
/// @return le nombre de bornes actuel de cet element
|
||||||
virtual int nbTerminals() const = 0;
|
virtual int nbTerminals() const = 0;
|
||||||
|
/// @return le nombre de bornes minimum de cet element
|
||||||
virtual int nbTerminalsMin() const = 0;
|
virtual int nbTerminalsMin() const = 0;
|
||||||
|
/// @return le nombre de bornes maximum de cet element
|
||||||
virtual int nbTerminalsMax() const = 0;
|
virtual int nbTerminalsMax() const = 0;
|
||||||
|
/**
|
||||||
|
Dessine l'element
|
||||||
|
*/
|
||||||
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *) = 0;
|
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *) = 0;
|
||||||
|
/// @return L'ID du type de l'element
|
||||||
virtual QString typeId() const = 0;
|
virtual QString typeId() const = 0;
|
||||||
|
/// @return Le nom de l'element
|
||||||
virtual QString nom() const = 0;
|
virtual QString nom() const = 0;
|
||||||
Diagram *diagram() const;
|
Diagram *diagram() const;
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ class ElementsCategoryEditor : public QDialog {
|
|||||||
|
|
||||||
// constructeurs, destructeur
|
// constructeurs, destructeur
|
||||||
public:
|
public:
|
||||||
ElementsCategoryEditor(QWidget * = 0);
|
|
||||||
ElementsCategoryEditor(const QString &, bool = true, QWidget * = 0);
|
ElementsCategoryEditor(const QString &, bool = true, QWidget * = 0);
|
||||||
virtual ~ElementsCategoryEditor();
|
virtual ~ElementsCategoryEditor();
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ class ElementTextItem : public DiagramTextItem {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
|
/// @return le rectangle delimitant le champ de texte
|
||||||
virtual QRectF boundingRect() const { return(QGraphicsTextItem::boundingRect().adjusted(0.0, -1.1, 0.0, 0.0)); }
|
virtual QRectF boundingRect() const { return(QGraphicsTextItem::boundingRect().adjusted(0.0, -1.1, 0.0, 0.0)); }
|
||||||
bool followParentRotations() const;
|
bool followParentRotations() const;
|
||||||
void setFollowParentRotations(bool);
|
void setFollowParentRotations(bool);
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class Terminal : public QGraphicsItem {
|
|||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
permet de caster un QGraphicsItem en Borne avec qgraphicsitem_cast
|
permet de caster un QGraphicsItem en Terminal avec qgraphicsitem_cast
|
||||||
@return le type de QGraphicsItem
|
@return le type de QGraphicsItem
|
||||||
*/
|
*/
|
||||||
virtual int type() const { return Type; }
|
virtual int type() const { return Type; }
|
||||||
|
|||||||
Reference in New Issue
Block a user