Ajout de documentation

Ajout du fichier Doxyfile pour parametrer la generation de la documentation


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@191 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-10-21 16:10:21 +00:00
parent 17e637b7e1
commit 8d774aa4d6
53 changed files with 423 additions and 42 deletions

239
Doxyfile Normal file
View File

@@ -0,0 +1,239 @@
# Doxyfile 1.5.1-KDevelop
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = QElectroTech
PROJECT_NUMBER = 0.1
OUTPUT_DIRECTORY =
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = French
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = /home/data/chaos/projets/qet/qelectrotech/
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= NO
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = /home/data/chaos/projets/qet/qelectrotech
FILE_PATTERNS = *.h \
*.cpp
RECURSIVE = YES
EXCLUDE = moc_* \
.svn \
release \
debug
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
REFERENCES_LINK_SOURCE = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE = QElectroTech.tag
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@@ -398,7 +398,7 @@ QPointF Conductor::extendTerminal(const QPointF &terminal, QET::Orientation term
/** /**
Dessine le conducteur sans antialiasing. Dessine le conducteur sans antialiasing.
@param qp Le QPainter a utiliser pour dessiner le conducteur @param qp Le QPainter a utiliser pour dessiner le conducteur
@param qsogi Les options de style pour le conducteur @param options Les options de style pour le conducteur
@param qw Le QWidget sur lequel on dessine @param qw Le QWidget sur lequel on dessine
*/ */
void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWidget */*qw*/) { void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWidget */*qw*/) {

View File

@@ -35,6 +35,7 @@ class Conductor : public QGraphicsPathItem {
public: public:
virtual int type() const { return Type; } virtual int type() const { return Type; }
void destroy(); void destroy();
/// @return true si ce conducteur est detruit
bool isDestroyed() const { return(destroyed); } bool isDestroyed() const { return(destroyed); }
Diagram *diagram() const; Diagram *diagram() const;
void updateWithNewPos(const QRectF &, const Terminal *, const QPointF &); void updateWithNewPos(const QRectF &, const Terminal *, const QPointF &);

View File

@@ -8,7 +8,7 @@ ConductorProfile::ConductorProfile() {
/** /**
Constructeur Constructeur
@param Conductor conducteur dont il faut extraire le profil @param conductor conducteur dont il faut extraire le profil
*/ */
ConductorProfile::ConductorProfile(Conductor *conductor) { ConductorProfile::ConductorProfile(Conductor *conductor) {
fromConductor(conductor); fromConductor(conductor);

View File

@@ -19,8 +19,11 @@ class ConductorProfile {
// attributs // attributs
public: public:
/// Segment composant le profil du conducteur
QList<ConductorSegmentProfile *> segments; QList<ConductorSegmentProfile *> segments;
/// Orientation de la borne de depart du profil
QET::Orientation beginOrientation; QET::Orientation beginOrientation;
/// Orientation de la borne d'arrivee du profil
QET::Orientation endOrientation; QET::Orientation endOrientation;
// methodes // methodes

View File

@@ -210,6 +210,10 @@ QString ConductorProperties::typeToString(ConductorType t) {
} }
} }
/**
@param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison
@return true si les deux ensembles de proprietes sont identiques, false sinon
*/
int ConductorProperties::operator==(const ConductorProperties &other) { int ConductorProperties::operator==(const ConductorProperties &other) {
return( return(
other.type == type &&\ other.type == type &&\
@@ -218,6 +222,10 @@ int ConductorProperties::operator==(const ConductorProperties &other) {
); );
} }
/**
@param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison
@return true si les deux ensembles de proprietes sont differents, false sinon
*/
int ConductorProperties::operator!=(const ConductorProperties &other) { int ConductorProperties::operator!=(const ConductorProperties &other) {
return( return(
other.type != type ||\ other.type != type ||\
@@ -226,6 +234,10 @@ int ConductorProperties::operator!=(const ConductorProperties &other) {
); );
} }
/**
@param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison
@return true si les deux ensembles de proprietes sont identiques, false sinon
*/
int SingleLineProperties::operator==(const SingleLineProperties &other) const { int SingleLineProperties::operator==(const SingleLineProperties &other) const {
return( return(
other.hasGround == hasGround &&\ other.hasGround == hasGround &&\
@@ -234,6 +246,10 @@ int SingleLineProperties::operator==(const SingleLineProperties &other) const {
); );
} }
/**
@param other l'autre ensemble de proprietes avec lequel il faut effectuer la comparaison
@return true si les deux ensembles de proprietes sont differents, false sinon
*/
int SingleLineProperties::operator!=(const SingleLineProperties &other) const { int SingleLineProperties::operator!=(const SingleLineProperties &other) const {
return(!(other == (*this))); return(!(other == (*this)));
} }

View File

@@ -49,6 +49,12 @@ class ConductorProperties {
virtual ~ConductorProperties() { virtual ~ConductorProperties() {
} }
/**
Represente le type d'un conducteur :
* Simple : ni symbole ni champ de texte
* Single : symboles unifilaires, pas de champ de texte
* Multi : champ de texte, pas de symbole
*/
enum ConductorType { Simple, Single, Multi }; enum ConductorType { Simple, Single, Multi };
// attributs // attributs

View File

@@ -2,6 +2,12 @@
#define CONDUCTOR_PROPERTIES_WIDGET_H #define CONDUCTOR_PROPERTIES_WIDGET_H
#include "conductor.h" #include "conductor.h"
#include <QtGui> #include <QtGui>
/**
Ce widget permet a l utilisateur d'editer les proprietes d'un conducteur.
Par proprietes, on entend non pas le trajet effectue par le conducteur mais
les options supplementaires : symboles unifilaires, presence ou non d'un
champ de texte, contenu de ce champ de texte, etc.
*/
class ConductorPropertiesWidget : public QWidget { class ConductorPropertiesWidget : public QWidget {
Q_OBJECT Q_OBJECT
// constructeurs, destructeur // constructeurs, destructeur

View File

@@ -315,7 +315,7 @@ void ConductorSegment::moveX(const qreal &dx) {
/** /**
Gere les mouvements sur l'axe vertical Gere les mouvements sur l'axe vertical
@param dx taille du deplacement en pixels @param dy taille du deplacement en pixels
*/ */
void ConductorSegment::moveY(const qreal &dy) { void ConductorSegment::moveY(const qreal &dy) {
if (isVertical()) return; if (isVertical()) return;
@@ -374,7 +374,7 @@ void ConductorSegment::setPreviousSegment(ConductorSegment *ps) {
/** /**
Change le segment suivant Change le segment suivant
@param ps Le nouveau segment suivant @param ns Le nouveau segment suivant
*/ */
void ConductorSegment::setNextSegment(ConductorSegment *ns) { void ConductorSegment::setNextSegment(ConductorSegment *ns) {
next_segment = ns; next_segment = ns;

View File

@@ -36,7 +36,9 @@ class ConductorSegmentProfile {
// attributs // attributs
public: public:
qreal length; /// longueur du segment /// longueur du segment
bool isHorizontal; /// orientation du segment qreal length;
/// orientation du segment
bool isHorizontal;
}; };
#endif #endif

View File

@@ -291,7 +291,7 @@ QDomDocument Diagram::toXml(bool diagram) {
(auteur, titre, ...) seront prises en compte (auteur, titre, ...) seront prises en compte
@param added_elements si ce pointeur vers une liste d'elements n'est pas @param added_elements si ce pointeur vers une liste d'elements n'est pas
NULL, il sera rempli avec les elements ajoutes au schema par le fromXml NULL, il sera rempli avec les elements ajoutes au schema par le fromXml
@param added_elements si ce pointeur vers une liste de conducteurs n'est @param added_conductors si ce pointeur vers une liste de conducteurs n'est
pas NULL, il sera rempli avec les conducteurs ajoutes au schema par le pas NULL, il sera rempli avec les conducteurs ajoutes au schema par le
fromXml fromXml
@return true si l'import a reussi, false sinon @return true si l'import a reussi, false sinon

View File

@@ -27,11 +27,18 @@ class Diagram : public QGraphicsScene {
// attributs // attributs
public: public:
/**
Represente les options possibles pour l'affichage du schema :
* EmptyBorder : N'afficher que la bordure
* Inset : Afficher le cartouche
* Columns : Afficher les colonnes
*/
enum BorderOptions { EmptyBorder, Inset, Columns }; enum BorderOptions { EmptyBorder, Inset, Columns };
/// Proprietes par defaut des nouveaux conducteurs /// Proprietes par defaut des nouveaux conducteurs
ConductorProperties defaultConductorProperties; ConductorProperties defaultConductorProperties;
/// Dimensions et cartouches du schema /// Dimensions et cartouches du schema
BorderInset border_and_inset; BorderInset border_and_inset;
/// Mouvement en cours lors d'un deplacement d'elements et conducteurs
QPointF current_movement; QPointF current_movement;
/// taille de la grille en abscisse /// taille de la grille en abscisse
static const int xGrid; static const int xGrid;
@@ -96,6 +103,11 @@ class Diagram : public QGraphicsScene {
void slot_checkSelectionEmptinessChange(); void slot_checkSelectionEmptinessChange();
signals: signals:
/**
Ce signal est emis lorsque la selection passe de l'etat rempli (par un
nombre quelconque d'elements et conducteurs) a l'etat vide et
vice-versa.
*/
void selectionEmptinessChanged(); void selectionEmptinessChanged();
}; };
@@ -103,7 +115,7 @@ class Diagram : public QGraphicsScene {
Permet d'ajouter ou enlever le « poseur de conducteur », c'est-a-dire la Permet d'ajouter ou enlever le « poseur de conducteur », c'est-a-dire la
droite en pointilles qui apparait lorsqu'on pose un conducteur entre deux droite en pointilles qui apparait lorsqu'on pose un conducteur entre deux
bornes. bornes.
@param true pour ajouter le poseur de conducteur, false pour l'enlever @param pf true pour ajouter le poseur de conducteur, false pour l'enlever
*/ */
inline void Diagram::setConductor(bool pf) { inline void Diagram::setConductor(bool pf) {
if (pf) { if (pf) {
@@ -123,7 +135,7 @@ inline void Diagram::setConductorStart(QPointF d) {
/** /**
Specifie les coordonnees du point d'arrivee du poseur de conducteur Specifie les coordonnees du point d'arrivee du poseur de conducteur
@param d Le nouveau point d'arrivee du poseur de conducteur @param a Le nouveau point d'arrivee du poseur de conducteur
*/ */
inline void Diagram::setConductorStop(QPointF a) { inline void Diagram::setConductorStop(QPointF a) {
conductor_setter -> setLine(QLineF(conductor_setter -> line().p1(), a)); conductor_setter -> setLine(QLineF(conductor_setter -> line().p1(), a));
@@ -157,7 +169,6 @@ inline void Diagram::setUseBorder(bool ub) {
/** /**
Permet de savoir si le cadre du schema est pris en compte pour Permet de savoir si le cadre du schema est pris en compte pour
determiner le contour du schema. determiner le contour du schema.
@param ub true le cadre est pris en compte, false sinon
*/ */
inline bool Diagram::useBorder() { inline bool Diagram::useBorder() {
return(use_border); return(use_border);

View File

@@ -5,8 +5,9 @@
#include "qgimanager.h" #include "qgimanager.h"
/** /**
Constructeur Constructeur
@param name Nom de la partie ajoutee @param d Schema auquel on ajoute un element
@param parts Liste des parties deplacees @param elmt Element ajoute
@param p Position a laquelle l'element est ajoute
@param parent QUndoCommand parent @param parent QUndoCommand parent
*/ */
AddElementCommand::AddElementCommand( AddElementCommand::AddElementCommand(

View File

@@ -15,10 +15,15 @@ class DiagramTextItem : public QGraphicsTextItem {
// attributs // attributs
public: public:
enum { Type = UserType + 1004 }; enum { Type = UserType + 1004 };
/// Texte precedent
QString previous_text; QString previous_text;
// methodes // methodes
public: public:
/**
Cette methode permet d'utiliser qgraphicsitem_cast sur cet objet
@return le type de QGraphicsItem
*/
virtual int type() const { return Type; } virtual int type() const { return Type; }
Diagram *diagram() const; Diagram *diagram() const;

View File

@@ -380,7 +380,6 @@ bool DiagramView::save() {
Si l'enregistrement reussit, le nom du fichier est conserve et la fonction renvoie true. Si l'enregistrement reussit, le nom du fichier est conserve et la fonction renvoie true.
Sinon, faux est renvoye. Sinon, faux est renvoye.
@return true si l'enregistrement a reussi, false sinon @return true si l'enregistrement a reussi, false sinon
@todo detecter le chemin du bureau automatiquement
*/ */
bool DiagramView::saveAs() { bool DiagramView::saveAs() {
// demande un nom de fichier a l'utilisateur pour enregistrer le schema // demande un nom de fichier a l'utilisateur pour enregistrer le schema

View File

@@ -53,8 +53,9 @@ class DiagramView : public QGraphicsView {
QRectF viewedSceneRect() const; QRectF viewedSceneRect() const;
signals: signals:
/// Signal emis lorsque la selection change
void selectionChanged(); void selectionChanged();
void antialiasingChanged(); /// Signal emis lorsque le mode de selection change
void modeChanged(); void modeChanged();
public slots: public slots:

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "elementitemeditor.h" #include "elementitemeditor.h"
class PartArc; class PartArc;
/**
Cette classe represente le widget d'edition d'un arc dans l'editeur
d'element.
*/
class ArcEditor : public ElementItemEditor { class ArcEditor : public ElementItemEditor {
Q_OBJECT Q_OBJECT
//constructeurs, destructeur //constructeurs, destructeur

View File

@@ -4,12 +4,12 @@
#include "customelementpart.h" #include "customelementpart.h"
#include "styleeditor.h" #include "styleeditor.h"
class QETElementEditor; class QETElementEditor;
typedef CustomElementGraphicPart CEGP;
/** /**
Cette classe represente une partie graphique d'element Cette classe represente une partie graphique d'element
Elle encapsule des methodes afin de gerer les attributs de style communs Elle encapsule des methodes afin de gerer les attributs de style communs
a la plupart des parties d'elements a la plupart des parties d'elements
*/ */
typedef CustomElementGraphicPart CEGP;
class CustomElementGraphicPart : public CustomElementPart { class CustomElementGraphicPart : public CustomElementPart {
public: public:
enum LineStyle { NormalStyle, DashedStyle }; enum LineStyle { NormalStyle, DashedStyle };

View File

@@ -337,7 +337,7 @@ void ChangeOrientationsCommand::redo() {
/** /**
Constructeur Constructeur
@param element ElementScene concernee @param elmt ElementScene concernee
@param o Option decrivant le type de traitement applique aux zValues des parties de l'element @param o Option decrivant le type de traitement applique aux zValues des parties de l'element
@param parent QUndoCommand parent @param parent QUndoCommand parent
*/ */

View File

@@ -31,7 +31,7 @@ QUndoStack &ElementItemEditor::undoStack() const {
/** /**
Ajoute une ChangePartCommand a l'UndoStack. L'ancienne valeur sera Ajoute une ChangePartCommand a l'UndoStack. L'ancienne valeur sera
automatiquement recuperee. automatiquement recuperee.
@param name nom de la propriete modifiee @param desc nom de la propriete modifiee
@param part partie modifiee @param part partie modifiee
@param prop propriete modifiee @param prop propriete modifiee
@param new_v nouvelle valeur @param new_v nouvelle valeur

View File

@@ -4,6 +4,12 @@
class QETElementEditor; class QETElementEditor;
class ElementScene; class ElementScene;
class CustomElementPart; class CustomElementPart;
/**
Cette classe est la classe de base pour les editeurs de aprties dans
l'editeur d'element. Elle fournit des methodes pour acceder facilement
a l'editeur, a la pile d'annulation, a la scene d'edition ou encore pour
ajouter facilement une annulation de type ChangePartCommand.
*/
class ElementItemEditor : public QWidget { class ElementItemEditor : public QWidget {
Q_OBJECT Q_OBJECT
// constructeurs, destructeur // constructeurs, destructeur

View File

@@ -263,7 +263,7 @@ void ElementScene::drawBackground(QPainter *p, const QRectF &r) {
} }
/** /**
Dessine l'arriere-plan de l'editeur, cad l'indicateur de hotspotó. Dessine l'arriere-plan de l'editeur, cad l'indicateur de hotspot.
@param p Le QPainter a utiliser pour dessiner @param p Le QPainter a utiliser pour dessiner
@param r Le rectangle de la zone a dessiner @param r Le rectangle de la zone a dessiner
*/ */

View File

@@ -11,6 +11,12 @@ class PartEllipse;
class PartCircle; class PartCircle;
class PartPolygon; class PartPolygon;
class PartArc; class PartArc;
/**
Cette classe est le canevas permettant l'edition d'un element electrique.
Elle regroupe les differentes parties composant le dessin de l'element mais
egalement les informations complementaires : dimensions, orientations,
noms.
*/
class ElementScene : public QGraphicsScene { class ElementScene : public QGraphicsScene {
Q_OBJECT Q_OBJECT

View File

@@ -2,6 +2,10 @@
#define ELEMENT_VIEW_H #define ELEMENT_VIEW_H
#include <QGraphicsView> #include <QGraphicsView>
#include "elementscene.h" #include "elementscene.h"
/**
Cette classe represente un widget permettant de visualiser une
ElementScene, c'est-a-dire la classe d'edition des elements.
*/
class ElementView : public QGraphicsView { class ElementView : public QGraphicsView {
Q_OBJECT Q_OBJECT
// constructeurs, destructeur // constructeurs, destructeur

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "elementitemeditor.h" #include "elementitemeditor.h"
class PartEllipse; class PartEllipse;
/**
Cette classe represente le widget d'edition d'une ellipse dans l'editeur
d'element.
*/
class EllipseEditor : public ElementItemEditor { class EllipseEditor : public ElementItemEditor {
Q_OBJECT Q_OBJECT
//constructeurs, destructeur //constructeurs, destructeur

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "elementitemeditor.h" #include "elementitemeditor.h"
class PartLine; class PartLine;
/**
Cette classe represente le widget d'edition d'une ligne dans l'editeur
d'element.
*/
class LineEditor : public ElementItemEditor { class LineEditor : public ElementItemEditor {
Q_OBJECT Q_OBJECT
//constructeurs, destructeur //constructeurs, destructeur

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "customelementgraphicpart.h" #include "customelementgraphicpart.h"
class ArcEditor; class ArcEditor;
/**
Cette classe represente un arc pouvant etre utilise pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart { class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "customelementgraphicpart.h" #include "customelementgraphicpart.h"
class CircleEditor; class CircleEditor;
/**
Cette classe represente un cercle pouvant etre utilise pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart { class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "customelementgraphicpart.h" #include "customelementgraphicpart.h"
class EllipseEditor; class EllipseEditor;
/**
Cette classe represente une ellipse pouvant etre utilisee pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart { class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "customelementgraphicpart.h" #include "customelementgraphicpart.h"
class LineEditor; class LineEditor;
/**
Cette classe represente une ligne pouvant etre utilisee pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart { class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "customelementgraphicpart.h" #include "customelementgraphicpart.h"
class PolygonEditor; class PolygonEditor;
/**
Cette classe represente un polygone pouvant etre utilise pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart { class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -5,6 +5,10 @@
#include <QtGui> #include <QtGui>
class TerminalEditor; class TerminalEditor;
class QETElementEditor; class QETElementEditor;
/**
Cette classe represente une borne pouvant etre utilisee pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartTerminal : public CustomElementPart, public QGraphicsItem { class PartTerminal : public CustomElementPart, public QGraphicsItem {
public: public:
// constructeurs, destructeur // constructeurs, destructeur

View File

@@ -3,6 +3,10 @@
#include <QtGui> #include <QtGui>
#include "customelementpart.h" #include "customelementpart.h"
class TextEditor; class TextEditor;
/**
Cette classe represente un texte pouvant etre utilise pour composer le
dessin d'un element dans l'editeur d'element.
*/
class PartText : public QGraphicsTextItem, public CustomElementPart { class PartText : public QGraphicsTextItem, public CustomElementPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -4,6 +4,12 @@
#include "customelementpart.h" #include "customelementpart.h"
class TextFieldEditor; class TextFieldEditor;
class QETElementEditor; class QETElementEditor;
/**
Cette classe represente un champ de texte editable pouvant etre utilise
pour composer le dessin d'un element dans l'editeur d'element.
L'utilisateur peut specifier un valeur par defaut. Le champ sera editable
lorsque l'element sera pose sur un schema.
*/
class PartTextField : public QGraphicsTextItem, public CustomElementPart { class PartTextField : public QGraphicsTextItem, public CustomElementPart {
// constructeurs, destructeur // constructeurs, destructeur
public: public:

View File

@@ -2,6 +2,10 @@
#define POLYGON_EDITOR_H #define POLYGON_EDITOR_H
#include "elementitemeditor.h" #include "elementitemeditor.h"
class PartPolygon; class PartPolygon;
/**
Cette classe represente le widget d'edition d'un polygone dans l'editeur
d'element.
*/
class PolygonEditor : public ElementItemEditor { class PolygonEditor : public ElementItemEditor {
Q_OBJECT Q_OBJECT

View File

@@ -4,6 +4,11 @@
#include "elementscene.h" #include "elementscene.h"
#include "orientationset.h" #include "orientationset.h"
class ElementView; class ElementView;
/**
Cette classe represente un editeur d'element. Elle permet a l'utilisateur
de dessiner, modifier et parametrer un element electrique. Le dessin se
fait par ajout de parties (Part).
*/
class QETElementEditor : public QMainWindow { class QETElementEditor : public QMainWindow {
Q_OBJECT Q_OBJECT

View File

@@ -3,6 +3,12 @@
#include <QtGui> #include <QtGui>
#include "elementitemeditor.h" #include "elementitemeditor.h"
class CustomElementGraphicPart; class CustomElementGraphicPart;
/**
Cette classe represente un widget d'edition des styles que peut comporter
une partie d'elements (couleur, epaisseur et style du trait, remplissage,
antialiasing). Elle peut accueillir un widget sous cette interface grace a
la methode appendWidget.
*/
class StyleEditor : public ElementItemEditor { class StyleEditor : public ElementItemEditor {
Q_OBJECT Q_OBJECT
// constructeurs, destructeur // constructeurs, destructeur

View File

@@ -3,7 +3,8 @@
/** /**
Constructeur Constructeur
@param term Champ de texte a editer @param editor L'editeur d'element concerne
@param text Champ de texte a editer
@param parent QWidget parent de ce widget @param parent QWidget parent de ce widget
*/ */
TextEditor::TextEditor(QETElementEditor *editor, PartText *text, QWidget *parent) : ElementItemEditor(editor, parent) { TextEditor::TextEditor(QETElementEditor *editor, PartText *text, QWidget *parent) : ElementItemEditor(editor, parent) {

View File

@@ -3,7 +3,8 @@
/** /**
Constructeur Constructeur
@param part Champ de texte a editer @param editor L'editeur d'element concerne
@param textfield Champ de texte a editer
@param parent QWidget parent @param parent QWidget parent
*/ */
TextFieldEditor::TextFieldEditor(QETElementEditor *editor, PartTextField *textfield, QWidget *parent) : ElementItemEditor(editor, parent) { TextFieldEditor::TextFieldEditor(QETElementEditor *editor, PartTextField *textfield, QWidget *parent) : ElementItemEditor(editor, parent) {

View File

@@ -78,8 +78,7 @@ QSize Element::setSize(int wid, int hei) {
/** /**
Definit le hotspot de l'element par rapport au coin superieur gauche de son rectangle delimitant. Definit le hotspot de l'element par rapport au coin superieur gauche de son rectangle delimitant.
Necessite que la taille ait deja ete definie Necessite que la taille ait deja ete definie
@param hsx Abscisse du hotspot @param hs Coordonnees du hotspot
@param hsy Ordonnee du hotspot
*/ */
QPoint Element::setHotspot(QPoint hs) { QPoint Element::setHotspot(QPoint hs) {
// la taille doit avoir ete definie // la taille doit avoir ete definie

View File

@@ -3,10 +3,10 @@
#include <QtGui> #include <QtGui>
#include "terminal.h" #include "terminal.h"
#include "orientationset.h" #include "orientationset.h"
class Diagram;
/** /**
Cette classe abstraite represente un element electrique. Cette classe abstraite represente un element electrique.
*/ */
class Diagram;
class Element : public QGraphicsItem { class Element : public QGraphicsItem {
// constructeurs, destructeur // constructeurs, destructeur

View File

@@ -1,12 +1,12 @@
#ifndef ELEMENTS_CATEGORIES_WIDGET_H #ifndef ELEMENTS_CATEGORIES_WIDGET_H
#define ELEMENTS_CATEGORIES_WIDGET_H #define ELEMENTS_CATEGORIES_WIDGET_H
#include <QtGui> #include <QtGui>
class ElementsCategoriesList;
/** /**
Cette classe represente un widget integrant la liste des categories Cette classe represente un widget integrant la liste des categories
de l'utilisteur surplombee de boutons permettant d'ajouter, de modifier de l'utilisteur surplombee de boutons permettant d'ajouter, de modifier
ou de supprimer des categories ou de supprimer des categories
*/ */
class ElementsCategoriesList;
class ElementsCategoriesWidget : public QWidget { class ElementsCategoriesWidget : public QWidget {
Q_OBJECT Q_OBJECT

View File

@@ -1,12 +1,12 @@
#ifndef ELEMENTS_CATEGORY_EDITOR_H #ifndef ELEMENTS_CATEGORY_EDITOR_H
#define ELEMENTS_CATEGORY_EDITOR_H #define ELEMENTS_CATEGORY_EDITOR_H
#include <QtGui> #include <QtGui>
class ElementsCategory;
class NamesListWidget;
/** /**
Cette classe permet d'editer une categorie existante ou de creer une Cette classe permet d'editer une categorie existante ou de creer une
categorie. categorie.
*/ */
class ElementsCategory;
class NamesListWidget;
class ElementsCategoryEditor : public QDialog { class ElementsCategoryEditor : public QDialog {
Q_OBJECT Q_OBJECT

View File

@@ -2,6 +2,10 @@
#define HOTSPOT_EDITOR_H #define HOTSPOT_EDITOR_H
#include <QtGui> #include <QtGui>
#include "diagram.h" #include "diagram.h"
/**
Ce widget permet a l'utilisateur d'editer les dimensions ainsi que le point
de saisie d'un element.
*/
class HotspotEditor : public QWidget { class HotspotEditor : public QWidget {
Q_OBJECT Q_OBJECT

View File

@@ -2,14 +2,13 @@
/** /**
Constructeur Constructeur
@param parent QObject parent
*/ */
NamesList::NamesList() { NamesList::NamesList() {
} }
/** /**
Constructeur de copie Constructeur de copie
@param other La NamesList a copie @param other La NamesList a copier
*/ */
NamesList::NamesList(const NamesList &other) : hash_names(other.hash_names) { NamesList::NamesList(const NamesList &other) : hash_names(other.hash_names) {
} }

View File

@@ -1,6 +1,10 @@
#ifndef NEW_ELEMENT_WIZARD_H #ifndef NEW_ELEMENT_WIZARD_H
#define NEW_ELEMENT_WIZARD_H #define NEW_ELEMENT_WIZARD_H
#include <QtGui> #include <QtGui>
class ElementsCategoriesWidget;
class NamesListWidget;
class OrientationSetWidget;
class HotspotEditor;
/** /**
Cette classe represente un dialogue qui permet a l'utilisateur de specifier Cette classe represente un dialogue qui permet a l'utilisateur de specifier
les premiers parametres de l'element qu'il va construire. les premiers parametres de l'element qu'il va construire.
@@ -12,10 +16,6 @@
- la position du hotspot - la position du hotspot
- les orientations possibles - les orientations possibles
*/ */
class ElementsCategoriesWidget;
class NamesListWidget;
class OrientationSetWidget;
class HotspotEditor;
class NewElementWizard : public QWizard { class NewElementWizard : public QWizard {
Q_OBJECT Q_OBJECT

View File

@@ -137,7 +137,7 @@ const OrientationSet OrientationSet::operator--(int) {
/** /**
Permet de savoir si une orientation donnee peut etre utilisee. Permet de savoir si une orientation donnee peut etre utilisee.
@param o L'orientation en question @param ori L'orientation en question
@return true si l'orientation est utilisable, false sinon @return true si l'orientation est utilisable, false sinon
*/ */
bool OrientationSet::accept(QET::Orientation ori) const { bool OrientationSet::accept(QET::Orientation ori) const {

3
qet.h
View File

@@ -7,8 +7,11 @@
classes de l'application classes de l'application
*/ */
namespace QET { namespace QET {
/// version de QElectroTech
const QString version = "0.1"; const QString version = "0.1";
/// Orientation (utilise pour les bornes mais aussi pour les elements)
enum Orientation {North, East, South, West}; enum Orientation {North, East, South, West};
/// Types de segment de conducteurs
enum ConductorSegmentType { Horizontal = 1, Vertical = 2, Both = 3 }; enum ConductorSegmentType { Horizontal = 1, Vertical = 2, Both = 3 };
QET::Orientation nextOrientation(QET::Orientation); QET::Orientation nextOrientation(QET::Orientation);
QET::Orientation previousOrientation(QET::Orientation); QET::Orientation previousOrientation(QET::Orientation);

View File

@@ -109,7 +109,7 @@ void QETApp::setLanguage(const QString &desired_language) {
/** /**
Gere les evenements relatifs au QSystemTrayIcon Gere les evenements relatifs au QSystemTrayIcon
@param raison un entier representant l'evenement survenu sur le systray @param reason un entier representant l'evenement survenu sur le systray
*/ */
void QETApp::systray(QSystemTrayIcon::ActivationReason reason) { void QETApp::systray(QSystemTrayIcon::ActivationReason reason) {
if (!QSystemTrayIcon::isSystemTrayAvailable()) return; if (!QSystemTrayIcon::isSystemTrayAvailable()) return;
@@ -205,7 +205,7 @@ QString QETApp::customElementsDir() {
Renvoie le dossier de configuration de QET, c-a-d le chemin du dossier dans Renvoie le dossier de configuration de QET, c-a-d le chemin du dossier dans
lequel QET lira les informations de configuration et de personnalisation lequel QET lira les informations de configuration et de personnalisation
propres a l'utilisateur courant. Ce dossier est generalement propres a l'utilisateur courant. Ce dossier est generalement
C:\Documents And Settings\utilisateur\Application Data\qet sous Windows et C:\\Documents And Settings\\utilisateur\\Application Data\\qet sous Windows et
~/.qet sous les systemes type UNIX. ~/.qet sous les systemes type UNIX.
@return Le chemin du dossier de configuration de QElectroTech @return Le chemin du dossier de configuration de QElectroTech
*/ */
@@ -237,7 +237,7 @@ QString QETApp::realPath(const QString &sym_path) {
/** /**
Construit le chemin symbolique (du type custom://outils_pervers/sado_maso/ Construit le chemin symbolique (du type custom://outils_pervers/sado_maso/
contact_bizarre) correspondant a un fichier. contact_bizarre) correspondant a un fichier.
@param real_pathChaine de caracteres representant le chemin symbolique du fichier @param real_path Chaine de caracteres representant le chemin symbolique du fichier
@return Une chaine de caracteres vide en cas d'erreur ou le chemin @return Une chaine de caracteres vide en cas d'erreur ou le chemin
symbolique designant l'element. symbolique designant l'element.
*/ */

View File

@@ -567,7 +567,6 @@ bool QETDiagramEditor::openDiagram() {
/** /**
Ferme le document courant Ferme le document courant
@return true si la fermeture du fichier a reussi, false sinon @return true si la fermeture du fichier a reussi, false sinon
@todo detecter les modifications et ne demander que si besoin est
*/ */
bool QETDiagramEditor::closeDiagram() { bool QETDiagramEditor::closeDiagram() {
DiagramView *sv = currentDiagram(); DiagramView *sv = currentDiagram();
@@ -761,7 +760,7 @@ void QETDiagramEditor::slot_updateActions() {
/** /**
Ajoute un schema dans l'espace de travail Ajoute un schema dans l'espace de travail
@param sv L'objet DiagramView a ajouter a l'espace de travail @param dv L'objet DiagramView a ajouter a l'espace de travail
*/ */
void QETDiagramEditor::addDiagramView(DiagramView *dv) { void QETDiagramEditor::addDiagramView(DiagramView *dv) {
if (!dv) return; if (!dv) return;

View File

@@ -70,7 +70,7 @@ class QETDiagramEditor : public QMainWindow {
void slot_editDefaultConductors(); void slot_editDefaultConductors();
// attributs // attributs
protected: private:
// Actions faisables au travers de menus dans l'application QElectroTech // Actions faisables au travers de menus dans l'application QElectroTech
QAction *mode_selection; QAction *mode_selection;
QAction *mode_visualise; QAction *mode_visualise;

View File

@@ -418,7 +418,7 @@ QDomElement Terminal::toXml(QDomDocument &doc) const {
/** /**
Permet de savoir si un element XML represente une borne Permet de savoir si un element XML represente une borne
@param e Le QDomElement a analyser @param terminal Le QDomElement a analyser
@return true si le QDomElement passe en parametre est une borne, false sinon @return true si le QDomElement passe en parametre est une borne, false sinon
*/ */
bool Terminal::valideXml(QDomElement &terminal) { bool Terminal::valideXml(QDomElement &terminal) {
@@ -454,7 +454,7 @@ bool Terminal::valideXml(QDomElement &terminal) {
/** /**
Permet de savoir si un element XML represente cette borne. Attention, l'element XML n'est pas verifie Permet de savoir si un element XML represente cette borne. Attention, l'element XML n'est pas verifie
@param e Le QDomElement a analyser @param terminal Le QDomElement a analyser
@return true si la borne "se reconnait" (memes coordonnes, meme orientation), false sinon @return true si la borne "se reconnait" (memes coordonnes, meme orientation), false sinon
*/ */
bool Terminal::fromXml(QDomElement &terminal) { bool Terminal::fromXml(QDomElement &terminal) {

View File

@@ -25,7 +25,10 @@ class Terminal : public QGraphicsItem {
// methodes // methodes
public: public:
// permet de caster un QGraphicsItem en Borne avec qgraphicsitem_cast /**
permet de caster un QGraphicsItem en Borne avec qgraphicsitem_cast
@return le type de QGraphicsItem
*/
virtual int type() const { return Type; } virtual int type() const { return Type; }
// implementation des methodes virtuelles pures de QGraphicsItem // implementation des methodes virtuelles pures de QGraphicsItem
@@ -61,12 +64,17 @@ class Terminal : public QGraphicsItem {
// attributs // attributs
public: public:
enum { Type = UserType + 1002 }; enum { Type = UserType + 1002 };
/// Longueur d'une borne
static const qreal terminalSize; static const qreal terminalSize;
// differentes couleurs statiques utilisables pour l'effet "hover" // differentes couleurs statiques utilisables pour l'effet "hover"
/// couleur par defaut
static QColor couleur_neutre; static QColor couleur_neutre;
/// couleur indiquant une action autorisee
static QColor couleur_autorise; static QColor couleur_autorise;
/// couleur indiquant une action autorisee mais pas forcement recommandee
static QColor couleur_prudence; static QColor couleur_prudence;
/// couleur indiquant une action interdite
static QColor couleur_interdit; static QColor couleur_interdit;
private: private: