diff --git a/sources/aboutqet.h b/sources/aboutqet.h index c55e7717c..2ab40b30d 100644 --- a/sources/aboutqet.h +++ b/sources/aboutqet.h @@ -20,13 +20,12 @@ #include class QLabel; /** - Cette classe represente la boite de dialogue - "A propos de QElectroTech". + This class represents the "About QElectroTech" dialog. */ class AboutQET : public QDialog { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: AboutQET(QWidget * = 0); virtual ~AboutQET(); @@ -34,7 +33,7 @@ class AboutQET : public QDialog { private: AboutQET(AboutQET &); - // methodes + // methods private: QWidget *title() const; QWidget *aboutTab() const; diff --git a/sources/basicmoveelementshandler.h b/sources/basicmoveelementshandler.h index c2cf96728..f644c83b4 100644 --- a/sources/basicmoveelementshandler.h +++ b/sources/basicmoveelementshandler.h @@ -19,21 +19,21 @@ #define BASIC_MOVE_ELEMENTS_HANDLER #include "moveelementshandler.h" /** - Cette classe implemente basiquement la classe strategie MoveElementsHandler - Elle retourne toujours la meme action (parametrable) pour une methode - donnee. + This class implements the MoveElementsHandler Strategy class in a baasic way. + It always returns the same (configurable) action or value for a particular + question. */ class BasicMoveElementsHandler : public MoveElementsHandler { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: BasicMoveElementsHandler(QObject * = 0); virtual ~BasicMoveElementsHandler(); private: BasicMoveElementsHandler(const BasicMoveElementsHandler &); - // methodes + // methods public: virtual void setActionIfItemAlreadyExists(QET::Action); virtual void setActionIfItemIsNotReadable(QET::Action); @@ -51,7 +51,7 @@ class BasicMoveElementsHandler : public MoveElementsHandler { virtual QET::Action errorWithAnElement(ElementDefinition *, const QString &); virtual QString nameForRenamingOperation(); - // attributs + // attributes private: QET::Action already_exists_; QET::Action not_readable_; diff --git a/sources/borderproperties.h b/sources/borderproperties.h index e4c4169c2..b2d2a30eb 100644 --- a/sources/borderproperties.h +++ b/sources/borderproperties.h @@ -20,12 +20,12 @@ #include #include /** - Cette classe est un conteneur pour les dimensions et proprietes d'affichage - d'un schema : affichage, nombre et dimensions des colonnes et lignes, ... + This class is a container for dimensions and display properties of a + diagram. */ class BorderProperties { public: - // constructeur, destructeur, operateurs + // constructor, destructor, operators BorderProperties(); virtual ~BorderProperties(); @@ -37,15 +37,15 @@ class BorderProperties { void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); - // attributs - int columns_count; ///< Nombre de colonnes - qreal columns_width; ///< Largeur des colonnes - qreal columns_header_height; ///< Hauteur des entetes des colonnes - bool display_columns; ///< Afficher ou non les entetes des colonnes + // attributes + int columns_count; ///< Columns count + qreal columns_width; ///< Columns width + qreal columns_header_height; ///< Column headers height + bool display_columns; ///< Whether to display column headers - int rows_count; ///< Nombre de lignes - qreal rows_height; ///< Hauteur des lignes - qreal rows_header_width; ///< Largeur des entetes des lignes - bool display_rows; ///< Afficher ou non les entetes des lignes + int rows_count; ///< Rows count + qreal rows_height; ///< Rows height + qreal rows_header_width; ///< Row headers width + bool display_rows; ///< Whether to display row headers }; #endif diff --git a/sources/borderpropertieswidget.h b/sources/borderpropertieswidget.h index c4b012896..8b85437b1 100644 --- a/sources/borderpropertieswidget.h +++ b/sources/borderpropertieswidget.h @@ -22,21 +22,21 @@ class QCheckBox; class QSpinBox; /** - Cette classe represente un widget permettant d'editer les dimensions et les - options d'affichage d'un schema, cartouche non inclus. + This class provides a widget to edit dimensions and display properties of a + diagram, title block excluded. @see TitleBlockPropertiesWidget */ class BorderPropertiesWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: BorderPropertiesWidget(const BorderProperties &, QWidget * = 0); virtual ~BorderPropertiesWidget(); private: BorderPropertiesWidget(const BorderPropertiesWidget &); - // methodes + // methods public: const BorderProperties &borderProperties(); bool isReadOnly() const; @@ -46,14 +46,14 @@ class BorderPropertiesWidget : public QWidget { private: void build(); - // attributs + // attributes private: - BorderProperties border_; ///< Proprietes editees - QSpinBox *columns_count; ///< Widget d'edition du nombre de colonnes - QSpinBox *columns_width; ///< Widget d'edition de la largeur des colonnes - QCheckBox *display_columns; ///< Case a cocher pour afficher ou non les entetes des colonnes - QSpinBox *rows_count; ///< Widget d'edition du nombre de lignes - QSpinBox *rows_height; ///< Widget d'edition de la hauteur des lignes - QCheckBox *display_rows; ///< Case a cocher pour afficher ou non les entetes des lignes + BorderProperties border_; ///< Edited properties + QSpinBox *columns_count; ///< Widget to edit the columns count + QSpinBox *columns_width; ///< Widget to edit the columns width + QCheckBox *display_columns; ///< Checkbox stating whether to display column headers + QSpinBox *rows_count; ///< Widget to edit the rows count + QSpinBox *rows_height; ///< Widget to edit the rows height + QCheckBox *display_rows; ///< Checkbox stating whether to display row headers }; #endif diff --git a/sources/bordertitleblock.cpp b/sources/bordertitleblock.cpp index 4d25cfb0f..77e12b383 100644 --- a/sources/bordertitleblock.cpp +++ b/sources/bordertitleblock.cpp @@ -32,12 +32,12 @@ BorderTitleBlock::BorderTitleBlock(QObject *parent) : QObject(parent) { // at first, the internal titleblock template renderer uses the default titleblock template - titleblock_template_renderer = new TitleBlockTemplateRenderer(this); - titleblock_template_renderer -> setTitleBlockTemplate(QETApp::defaultTitleBlockTemplate()); + titleblock_template_renderer_ = new TitleBlockTemplateRenderer(this); + titleblock_template_renderer_ -> setTitleBlockTemplate(QETApp::defaultTitleBlockTemplate()); // disable the QPicture-based cache from Qt 4.8 to avoid rendering errors and crashes if (!QRegExp("4\\.[0-7]\\.").exactMatch(qVersion())) { - titleblock_template_renderer -> setUseCache(false); + titleblock_template_renderer_ -> setUseCache(false); } // dimensions par defaut du schema @@ -46,8 +46,8 @@ BorderTitleBlock::BorderTitleBlock(QObject *parent) : // contenu par defaut du cartouche importTitleBlock(TitleBlockProperties()); - display_titleblock = true; - display_border = true; + display_titleblock_ = true; + display_border_ = true; setFolioData(1, 1); updateRectangles(); } @@ -62,7 +62,7 @@ BorderTitleBlock::~BorderTitleBlock() { @return la hauteur du cartouche */ qreal BorderTitleBlock::titleBlockHeight() const { - return(titleblock_template_renderer -> height()); + return(titleblock_template_renderer_ -> height()); } /** @@ -116,11 +116,11 @@ void BorderTitleBlock::titleBlockFromXml(const QDomElement &xml_elmt) { @param xml_elmt the XML element attributes will be added to */ void BorderTitleBlock::borderToXml(QDomElement &xml_elmt) { - xml_elmt.setAttribute("cols", nbColumns()); + xml_elmt.setAttribute("cols", columnsCount()); xml_elmt.setAttribute("colsize", QString("%1").arg(columnsWidth())); xml_elmt.setAttribute("displaycols", columnsAreDisplayed() ? "true" : "false"); - xml_elmt.setAttribute("rows", nbRows()); + xml_elmt.setAttribute("rows", rowsCount()); xml_elmt.setAttribute("rowsize", QString("%1").arg(rowsHeight())); xml_elmt.setAttribute("displayrows", rowsAreDisplayed() ? "true" : "false"); @@ -136,7 +136,7 @@ void BorderTitleBlock::borderFromXml(const QDomElement &xml_elmt) { bool ok; // columns count int cols_count = xml_elmt.attribute("cols").toInt(&ok); - if (ok) setNbColumns(cols_count); + if (ok) setColumnsCount(cols_count); // columns width double cols_width = xml_elmt.attribute("colsize").toDouble(&ok); @@ -146,7 +146,7 @@ void BorderTitleBlock::borderFromXml(const QDomElement &xml_elmt) { if (xml_elmt.hasAttribute("rows") && xml_elmt.hasAttribute("rowsize")) { // rows counts int rows_count = xml_elmt.attribute("rows").toInt(&ok); - if (ok) setNbRows(rows_count); + if (ok) setRowsCount(rows_count); // taille des lignes double rows_size = xml_elmt.attribute("rowsize").toDouble(&ok); @@ -202,11 +202,11 @@ void BorderTitleBlock::importTitleBlock(const TitleBlockProperties &ip) { */ BorderProperties BorderTitleBlock::exportBorder() { BorderProperties bp; - bp.columns_count = nbColumns(); + bp.columns_count = columnsCount(); bp.columns_width = columnsWidth(); bp.columns_header_height = columnsHeaderHeight(); bp.display_columns = columnsAreDisplayed(); - bp.rows_count = nbRows(); + bp.rows_count = rowsCount(); bp.rows_height = rowsHeight(); bp.rows_header_width = rowsHeaderWidth(); bp.display_rows = rowsAreDisplayed(); @@ -218,11 +218,11 @@ BorderProperties BorderTitleBlock::exportBorder() { */ void BorderTitleBlock::importBorder(const BorderProperties &bp) { setColumnsHeaderHeight(bp.columns_header_height); - setNbColumns(bp.columns_count); + setColumnsCount(bp.columns_count); setColumnsWidth(bp.columns_width); displayColumns(bp.display_columns); setRowsHeaderWidth(bp.rows_header_width); - setNbRows(bp.rows_count); + setRowsCount(bp.rows_count); setRowsHeight(bp.rows_height); displayRows(bp.display_rows); } @@ -232,7 +232,7 @@ void BorderTitleBlock::importBorder(const BorderProperties &bp) { @see TitleBlockTemplateRenderer::titleBlockTemplate() */ const TitleBlockTemplate *BorderTitleBlock::titleBlockTemplate() { - return(titleblock_template_renderer -> titleBlockTemplate()); + return(titleblock_template_renderer_ -> titleBlockTemplate()); } /** @@ -240,14 +240,14 @@ const TitleBlockTemplate *BorderTitleBlock::titleBlockTemplate() { @see TitleBlockTemplateRenderer::setTitleBlockTemplate() */ void BorderTitleBlock::setTitleBlockTemplate(const TitleBlockTemplate *titleblock_template) { - titleblock_template_renderer -> setTitleBlockTemplate(titleblock_template); + titleblock_template_renderer_ -> setTitleBlockTemplate(titleblock_template); } /** @return The name of the template used to render the titleblock. */ QString BorderTitleBlock::titleBlockTemplateName() const { - QString tbt_name = titleblock_template_renderer -> titleBlockTemplate() -> name(); + QString tbt_name = titleblock_template_renderer_ -> titleBlockTemplate() -> name(); return((tbt_name == "default") ? "" : tbt_name); } @@ -259,7 +259,7 @@ QString BorderTitleBlock::titleBlockTemplateName() const { */ void BorderTitleBlock::titleBlockTemplateChanged(const QString &template_name) { if (titleBlockTemplateName() != template_name) return; - titleblock_template_renderer -> invalidateRenderedTemplate(); + titleblock_template_renderer_ -> invalidateRenderedTemplate(); } /** @@ -284,8 +284,8 @@ void BorderTitleBlock::titleBlockTemplateRemoved(const QString &removed_template @param di true pour afficher le cartouche, false sinon */ void BorderTitleBlock::displayTitleBlock(bool di) { - bool change = (di != display_titleblock); - display_titleblock = di; + bool change = (di != display_titleblock_); + display_titleblock_ = di; if (change) emit(displayChanged()); } @@ -293,8 +293,8 @@ void BorderTitleBlock::displayTitleBlock(bool di) { @param dc true pour afficher les entetes des colonnes, false sinon */ void BorderTitleBlock::displayColumns(bool dc) { - bool change = (dc != display_columns); - display_columns = dc; + bool change = (dc != display_columns_); + display_columns_ = dc; if (change) emit(displayChanged()); } @@ -302,8 +302,8 @@ void BorderTitleBlock::displayColumns(bool dc) { @param dr true pour afficher les entetes des lignes, false sinon */ void BorderTitleBlock::displayRows(bool dr) { - bool change = (dr != display_rows); - display_rows = dr; + bool change = (dr != display_rows_); + display_rows_ = dr; if (change) emit(displayChanged()); } @@ -313,8 +313,8 @@ void BorderTitleBlock::displayRows(bool dr) { colonnes ne seront pas dessinees. */ void BorderTitleBlock::displayBorder(bool db) { - bool change = (db != display_border); - display_border = db; + bool change = (db != display_border_); + display_border_ = db; if (change) emit(displayChanged()); } @@ -324,12 +324,12 @@ void BorderTitleBlock::displayBorder(bool db) { */ void BorderTitleBlock::updateRectangles() { // rectangle delimitant le schema - QRectF previous_diagram = diagram; - diagram = QRectF(0, 0, diagramWidth(), diagramHeight()); - if (diagram != previous_diagram) emit(borderChanged(previous_diagram, diagram)); + QRectF previous_diagram = diagram_rect_; + diagram_rect_ = QRectF(0, 0, diagramWidth(), diagramHeight()); + if (diagram_rect_ != previous_diagram) emit(borderChanged(previous_diagram, diagram_rect_)); // rectangles relatifs au cartouche - titleblock = QRectF(diagram.bottomLeft().x(), diagram.bottomLeft().y(), titleBlockWidth(), titleBlockHeight()); + titleblock_rect_ = QRectF(diagram_rect_.bottomLeft().x(), diagram_rect_.bottomLeft().y(), titleBlockWidth(), titleBlockHeight()); } /** @@ -340,8 +340,8 @@ void BorderTitleBlock::updateRectangles() { */ void BorderTitleBlock::draw(QPainter *qp, qreal x, qreal y) { // translate tous les rectangles - diagram .translate(x, y); - titleblock .translate(x, y); + diagram_rect_ .translate(x, y); + titleblock_rect_ .translate(x, y); // prepare le QPainter qp -> save(); @@ -349,30 +349,30 @@ void BorderTitleBlock::draw(QPainter *qp, qreal x, qreal y) { qp -> setBrush(Qt::NoBrush); // dessine le cadre - if (display_border) qp -> drawRect(diagram); + if (display_border_) qp -> drawRect(diagram_rect_); qp -> setFont(QETApp::diagramTextsFont()); // dessine la case vide qui apparait des qu'il y a un entete - if (display_border && (display_columns || display_rows)) { + if (display_border_ && (display_columns_ || display_rows_)) { qp -> setBrush(Qt::white); QRectF first_rectangle( - diagram.topLeft().x(), - diagram.topLeft().y(), - rows_header_width, - columns_header_height + diagram_rect_.topLeft().x(), + diagram_rect_.topLeft().y(), + rows_header_width_, + columns_header_height_ ); qp -> drawRect(first_rectangle); } // dessine la numerotation des colonnes - if (display_border && display_columns) { - for (int i = 1 ; i <= nb_columns ; ++ i) { + if (display_border_ && display_columns_) { + for (int i = 1 ; i <= columns_count_ ; ++ i) { QRectF numbered_rectangle = QRectF( - diagram.topLeft().x() + (rows_header_width + ((i - 1) * columns_width)), - diagram.topLeft().y(), - columns_width, - columns_header_height + diagram_rect_.topLeft().x() + (rows_header_width_ + ((i - 1) * columns_width_)), + diagram_rect_.topLeft().y(), + columns_width_, + columns_header_height_ ); qp -> drawRect(numbered_rectangle); qp -> drawText(numbered_rectangle, Qt::AlignVCenter | Qt::AlignCenter, QString("%1").arg(i)); @@ -380,14 +380,14 @@ void BorderTitleBlock::draw(QPainter *qp, qreal x, qreal y) { } // dessine la numerotation des lignes - if (display_border && display_rows) { + if (display_border_ && display_rows_) { QString row_string("A"); - for (int i = 1 ; i <= nb_rows ; ++ i) { + for (int i = 1 ; i <= rows_count_ ; ++ i) { QRectF lettered_rectangle = QRectF( - diagram.topLeft().x(), - diagram.topLeft().y() + (columns_header_height + ((i - 1) * rows_height)), - rows_header_width, - rows_height + diagram_rect_.topLeft().x(), + diagram_rect_.topLeft().y() + (columns_header_height_ + ((i - 1) * rows_height_)), + rows_header_width_, + rows_height_ ); qp -> drawRect(lettered_rectangle); qp -> drawText(lettered_rectangle, Qt::AlignVCenter | Qt::AlignCenter, row_string); @@ -396,24 +396,24 @@ void BorderTitleBlock::draw(QPainter *qp, qreal x, qreal y) { } // render the titleblock, using the TitleBlockTemplate object - if (display_titleblock) { - qp -> translate(titleblock.topLeft()); - titleblock_template_renderer -> render(qp, titleblock.width()); - qp -> translate(-titleblock.topLeft()); + if (display_titleblock_) { + qp -> translate(titleblock_rect_.topLeft()); + titleblock_template_renderer_ -> render(qp, titleblock_rect_.width()); + qp -> translate(-titleblock_rect_.topLeft()); } qp -> restore(); // annule la translation des rectangles - diagram .translate(-x, -y); - titleblock .translate(-x, -y); + diagram_rect_ .translate(-x, -y); + titleblock_rect_ .translate(-x, -y); } /** Ajoute une colonne. */ void BorderTitleBlock::addColumn() { - setNbColumns(nbColumns() + 1); + setColumnsCount(columnsCount() + 1); } /** @@ -421,14 +421,14 @@ void BorderTitleBlock::addColumn() { @see minNbColumns() */ void BorderTitleBlock::removeColumn() { - setNbColumns(nbColumns() - 1); + setColumnsCount(columnsCount() - 1); } /** Ajoute une ligne. */ void BorderTitleBlock::addRow() { - setNbRows(nbRows() + 1); + setRowsCount(rowsCount() + 1); } /** @@ -436,7 +436,7 @@ void BorderTitleBlock::addRow() { @see minNbRows() */ void BorderTitleBlock::removeRow() { - setNbRows(nbRows() - 1); + setRowsCount(rowsCount() - 1); } /** @@ -446,9 +446,9 @@ void BorderTitleBlock::removeRow() { @param nb_c nouveau nombre de colonnes @see minNbColumns() */ -void BorderTitleBlock::setNbColumns(int nb_c) { - if (nb_c == nbColumns()) return; - nb_columns = qMax(minNbColumns(), nb_c); +void BorderTitleBlock::setColumnsCount(int nb_c) { + if (nb_c == columnsCount()) return; + columns_count_ = qMax(minNbColumns(), nb_c); setTitleBlockWidth(diagramWidth()); } @@ -461,7 +461,7 @@ void BorderTitleBlock::setNbColumns(int nb_c) { */ void BorderTitleBlock::setColumnsWidth(const qreal &new_cw) { if (new_cw == columnsWidth()) return; - columns_width = qMax(minColumnsWidth(), new_cw); + columns_width_ = qMax(minColumnsWidth(), new_cw); setTitleBlockWidth(diagramWidth()); } @@ -471,7 +471,7 @@ void BorderTitleBlock::setColumnsWidth(const qreal &new_cw) { @param new_chh nouvelle hauteur des en-tetes de colonnes */ void BorderTitleBlock::setColumnsHeaderHeight(const qreal &new_chh) { - columns_header_height = qBound(qreal(5.0), new_chh, qreal(50.0)); + columns_header_height_ = qBound(qreal(5.0), new_chh, qreal(50.0)); updateRectangles(); } @@ -482,9 +482,9 @@ void BorderTitleBlock::setColumnsHeaderHeight(const qreal &new_chh) { @param nb_r nouveau nombre de lignes @see minNbRows() */ -void BorderTitleBlock::setNbRows(int nb_r) { - if (nb_r == nbRows()) return; - nb_rows = qMax(minNbRows(), nb_r); +void BorderTitleBlock::setRowsCount(int nb_r) { + if (nb_r == rowsCount()) return; + rows_count_ = qMax(minNbRows(), nb_r); setTitleBlockWidth(diagramWidth()); updateRectangles(); } @@ -498,7 +498,7 @@ void BorderTitleBlock::setNbRows(int nb_r) { */ void BorderTitleBlock::setRowsHeight(const qreal &new_rh) { if (new_rh == rowsHeight()) return; - rows_height = qMax(minRowsHeight(), new_rh); + rows_height_ = qMax(minRowsHeight(), new_rh); updateRectangles(); } @@ -508,7 +508,7 @@ void BorderTitleBlock::setRowsHeight(const qreal &new_rh) { @param new_rhw nouvelle largeur des en-tetes des lignes */ void BorderTitleBlock::setRowsHeaderWidth(const qreal &new_rhw) { - rows_header_width = qBound(qreal(5.0), new_rhw, qreal(50.0)); + rows_header_width_ = qBound(qreal(5.0), new_rhw, qreal(50.0)); updateRectangles(); } @@ -518,7 +518,7 @@ void BorderTitleBlock::setRowsHeaderWidth(const qreal &new_rhw) { */ void BorderTitleBlock::setDiagramHeight(const qreal &height) { // taille des lignes a utiliser = rows_height - setNbRows(qRound(ceil(height / rows_height))); + setRowsCount(qRound(ceil(height / rows_height_))); } /** @@ -526,7 +526,7 @@ void BorderTitleBlock::setDiagramHeight(const qreal &height) { schema. */ void BorderTitleBlock::setTitleBlockWidth(const qreal &new_iw) { - titleblock_width = qMin(diagramWidth(), new_iw); + titleblock_width_ = qMin(diagramWidth(), new_iw); updateRectangles(); } @@ -584,15 +584,15 @@ void BorderTitleBlock::updateDiagramContextForTitleBlock(const DiagramContext &i } // ... overridden by the historical and/or dynamically generated fields - context.addValue("author", bi_author); - context.addValue("date", bi_date.toString("dd/MM/yyyy")); - context.addValue("title", bi_title); - context.addValue("filename", bi_filename); - context.addValue("folio", bi_final_folio); + context.addValue("author", btb_author_); + context.addValue("date", btb_date_.toString("dd/MM/yyyy")); + context.addValue("title", btb_title_); + context.addValue("filename", btb_filename_); + context.addValue("folio", btb_final_folio_); context.addValue("folio-id", folio_index_); context.addValue("folio-total", folio_total_); - titleblock_template_renderer -> setContext(context); + titleblock_template_renderer_ -> setContext(context); } QString BorderTitleBlock::incrementLetters(const QString &string) { @@ -625,9 +625,9 @@ void BorderTitleBlock::setFolioData(int index, int total, const DiagramContext & folio_total_ = total; // regenere le contenu du champ folio - bi_final_folio = bi_folio; - bi_final_folio.replace("%id", QString::number(folio_index_)); - bi_final_folio.replace("%total", QString::number(folio_total_)); + btb_final_folio_ = btb_folio_; + btb_final_folio_.replace("%id", QString::number(folio_index_)); + btb_final_folio_.replace("%total", QString::number(folio_total_)); updateDiagramContextForTitleBlock(project_properties); } diff --git a/sources/bordertitleblock.h b/sources/bordertitleblock.h index adfe3d5dd..236c6a165 100644 --- a/sources/bordertitleblock.h +++ b/sources/bordertitleblock.h @@ -28,13 +28,13 @@ class DiagramPosition; class TitleBlockTemplate; class TitleBlockTemplateRenderer; /** - Cette classe represente l'ensemble bordure + cartouche qui encadre le - schema electrique. + This class represents the border and the titleblock which frame a + particular electric diagram. */ class BorderTitleBlock : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: BorderTitleBlock(QObject * = 0); virtual ~BorderTitleBlock(); @@ -42,7 +42,7 @@ class BorderTitleBlock : public QObject { private: BorderTitleBlock(const BorderTitleBlock &); - // methodes + // methods public: static int minNbColumns(); static qreal minColumnsWidth(); @@ -51,100 +51,100 @@ class BorderTitleBlock : public QObject { void draw(QPainter *, qreal = 0.0, qreal = 0.0); - // methodes d'acces en lecture aux dimensions - // colonnes - /// @return le nombre de colonnes du schema - int nbColumns() const { return(nb_columns); } - /// @return la largeur des colonnes en pixels - qreal columnsWidth() const { return(columns_width); } - /// @return la taille de l'ensemble des colonnes, en-tete des lignes non inclus - qreal columnsTotalWidth() const { return(nb_columns * columns_width); } - /// @return la hauteur, en pixels, des en-tetes des colonnes - qreal columnsHeaderHeight() const { return(columns_header_height); } + // methods to get dimensions + // columns + /// @return the number of columns + int columnsCount() const { return(columns_count_); } + /// @return the columns width, in pixels + qreal columnsWidth() const { return(columns_width_); } + /// @return the total width of all columns, headers excluded + qreal columnsTotalWidth() const { return(columns_count_ * columns_width_); } + /// @return the column headers height, in pixels + qreal columnsHeaderHeight() const { return(columns_header_height_); } - // lignes - /// @return le nombre de lignes du schema - int nbRows() const { return(nb_rows); } - /// @return la hauteur des lignes en pixels - qreal rowsHeight() const { return(rows_height); } - /// @return la taille de l'ensemble des lignes, en-tete des colonnes non inclus - qreal rowsTotalHeight() const { return(nb_rows * rows_height); } - /// @return la largeur, en pixels, des en-tetes des lignes - qreal rowsHeaderWidth() const { return(rows_header_width); } + // rows + /// @return the number of rows + int rowsCount() const { return(rows_count_); } + /// @return the rows height, in pixels + qreal rowsHeight() const { return(rows_height_); } + /// @return the total height of all rows, headers excluded + qreal rowsTotalHeight() const { return(rows_count_ * rows_height_); } + /// @return la rows header width, in pixels + qreal rowsHeaderWidth() const { return(rows_header_width_); } - // cadre sans le cartouche = schema - /// @return la largeur du schema, c'est-a-dire du cadre sans le cartouche - qreal diagramWidth() const { return(columnsTotalWidth() + rowsHeaderWidth()); } - /// @return la hauteurdu schema, c'est-a-dire du cadre sans le cartouche - qreal diagramHeight() const { return(rowsTotalHeight() + columnsHeaderHeight()); } + // border - title block = diagram + /// @return the diagram width, i.e. the width of the border without title block + qreal diagramWidth() const { return(columnsTotalWidth() + rowsHeaderWidth()); } + /// @return the diagram height, i.e. the height of the border without title block + qreal diagramHeight() const { return(rowsTotalHeight() + columnsHeaderHeight()); } - // cartouche - /// @return la largeur du cartouche - qreal titleBlockWidth() const { return(titleblock_width); } - qreal titleBlockHeight() const; + // title block + /// @return the title block width + qreal titleBlockWidth() const { return(titleblock_width_); } + qreal titleBlockHeight() const; - // cadre avec le cartouche - /// @return la hauteur de la bordure - qreal borderWidth() const { return(diagramWidth()); } - /// @return la hauteur de la bordure - qreal borderHeight() const { return(diagramHeight() + titleBlockHeight()); } + // border + title block + /// @return the border width + qreal borderWidth() const { return(diagramWidth()); } + /// @return the border height + qreal borderHeight() const { return(diagramHeight() + titleBlockHeight()); } - // methodes d'acces en lecture aux informations du cartouche - /// @return le champ "Auteur" du cartouche - QString author() const { return(bi_author); } - /// @return le champ "Date" du cartouche - QDate date() const { return(bi_date); } - /// @return le champ "Titre" du cartouche - QString title() const { return(bi_title); } - /// @return le champ "Folio" du cartouche - QString folio() const { return(bi_folio); } - /// @return le champ "Fichier" du cartouche - QString fileName() const { return(bi_filename); } + // methods to get title block basic data + /// @return the value of the title block "Author" field + QString author() const { return(btb_author_); } + /// @return the value of the title block "Date" field + QDate date() const { return(btb_date_); } + /// @return the value of the title block "Title" field + QString title() const { return(btb_title_); } + /// @return the value of the title block "Folio" field + QString folio() const { return(btb_folio_); } + /// @return the value of the title block "File" field + QString fileName() const { return(btb_filename_); } - // methodes d'acces en lecture aux options + // methods to get display options /// @return true si le cartouche est affiche, false sinon - bool titleBlockIsDisplayed() const { return(display_titleblock); } + bool titleBlockIsDisplayed() const { return(display_titleblock_); } /// @return true si les entetes des colonnes sont affiches, false sinon - bool columnsAreDisplayed() const { return(display_columns); } + bool columnsAreDisplayed() const { return(display_columns_); } /// @return true si les entetes des lignes sont affiches, false sinon - bool rowsAreDisplayed() const { return(display_rows); } + bool rowsAreDisplayed() const { return(display_rows_); } /// @return true si la bordure est affichee, false sinon - bool borderIsDisplayed() const { return(display_border); } + bool borderIsDisplayed() const { return(display_border_); } - // methodes d'acces en ecriture aux dimensions - void addColumn (); - void addRow (); - void removeColumn (); - void removeRow (); - void setNbColumns (int); - void setNbRows (int); - void setColumnsWidth (const qreal &); - void setRowsHeight (const qreal &); + // methods to set dimensions + void addColumn(); + void addRow(); + void removeColumn(); + void removeRow(); + void setColumnsCount(int); + void setRowsCount(int); + void setColumnsWidth(const qreal &); + void setRowsHeight(const qreal &); void setColumnsHeaderHeight(const qreal &); - void setRowsHeaderWidth (const qreal &); - void setDiagramHeight (const qreal &); - void setTitleBlockWidth (const qreal &); - void adjustTitleBlockToColumns (); + void setRowsHeaderWidth(const qreal &); + void setDiagramHeight(const qreal &); + void setTitleBlockWidth(const qreal &); + void adjustTitleBlockToColumns(); DiagramPosition convertPosition(const QPointF &); - // methodes d'acces en ecriture aux informations du cartouche - /// @param author le nouveau contenu du champ "Auteur" - void setAuthor (const QString &author) { bi_author = author; } - /// @param date le nouveau contenu du champ "Date" - void setDate (const QDate &date) { bi_date = date; } - /// @param title le nouveau contenu du champ "Titre" - void setTitle (const QString &title) { - if (bi_title != title) { - bi_title = title; + // methods to set title block basic data + /// @param author the new value of the "Author" field + void setAuthor(const QString &author) { btb_author_ = author; } + /// @param author the new value of the "Date" field + void setDate(const QDate &date) { btb_date_ = date; } + /// @param author the new value of the "Title" field + void setTitle(const QString &title) { + if (btb_title_ != title) { + btb_title_ = title; emit(diagramTitleChanged(title)); } } - /// @param folio le nouveau contenu du champ "Folio" - void setFolio (const QString &folio) { bi_folio = folio; } + /// @param author the new value of the "Folio" field + void setFolio(const QString &folio) { btb_folio_ = folio; } void setFolioData(int, int, const DiagramContext & = DiagramContext()); - /// @param filename le nouveau contenu du champ "Fichier" - void setFileName (const QString &filename) { bi_filename = filename; } + /// @param author the new value of the "File" field + void setFileName(const QString &filename) { btb_filename_ = filename; } void titleBlockToXml(QDomElement &); void titleBlockFromXml(const QDomElement &); @@ -164,7 +164,7 @@ class BorderTitleBlock : public QObject { void titleBlockTemplateChanged(const QString &); void titleBlockTemplateRemoved(const QString &, const TitleBlockTemplate * = 0); - // methodes d'acces en ecriture aux options + // methods to set display options void displayTitleBlock(bool); void displayColumns(bool); void displayRows(bool); @@ -175,27 +175,26 @@ class BorderTitleBlock : public QObject { void updateDiagramContextForTitleBlock(const DiagramContext & = DiagramContext()); QString incrementLetters(const QString &); - // signaux signals: /** - Signal emis lorsque la bordure change - @param old_border Ancienne bordure - @param new_border Nouvelle bordure + Signal emitted after the border has changed + @param old_border Former border + @param new_border New border */ void borderChanged(QRectF old_border, QRectF new_border); /** - Signal emise lorsque des options d'affichage change + Signal emitted after display options have changed */ void displayChanged(); /** - Signal emis lorsque le titre du schema change + Signal emitted after the title has changed */ void diagramTitleChanged(const QString &); /** - Signal emis lorsque le cartouche requiert une mise a jour des donnees - utilisees pour generer le folio. + Signal emitted when the title block requires its data to be updated in order + to generate the folio field. */ void needFolioData(); @@ -206,43 +205,43 @@ class BorderTitleBlock : public QObject { */ void needTitleBlockTemplate(const QString &); - // attributs + // attributes private: - // informations du cartouche - QString bi_author; - QDate bi_date; - QString bi_title; - QString bi_folio; - QString bi_final_folio; + // titleblock basic data + QString btb_author_; + QDate btb_date_; + QString btb_title_; + QString btb_folio_; + QString btb_final_folio_; int folio_index_; int folio_total_; - QString bi_filename; + QString btb_filename_; DiagramContext additional_fields_; - // dimensions du cadre (lignes et colonnes) - // colonnes : nombres et dimensions - int nb_columns; - qreal columns_width; - qreal columns_header_height; + // border dimensions (rows and columns) + // columns: number and dimensions + int columns_count_; + qreal columns_width_; + qreal columns_header_height_; - // lignes : nombres et dimensions - int nb_rows; - qreal rows_height; - qreal rows_header_width; + // rows: number and dimensions + int rows_count_; + qreal rows_height_; + qreal rows_header_width_; - // dimensions du cartouche - qreal titleblock_width; - qreal titleblock_height; + // title block dimensions + qreal titleblock_width_; + qreal titleblock_height_; - // rectangles utilises pour le dessin - QRectF diagram; - QRectF titleblock; + // rectangles used for drawing operations + QRectF diagram_rect_; + QRectF titleblock_rect_; - // booleens pour les options de dessin - bool display_titleblock; - bool display_columns; - bool display_rows; - bool display_border; - TitleBlockTemplateRenderer *titleblock_template_renderer; + // display options + bool display_titleblock_; + bool display_columns_; + bool display_rows_; + bool display_border_; + TitleBlockTemplateRenderer *titleblock_template_renderer_; }; #endif diff --git a/sources/conductor.cpp b/sources/conductor.cpp index dc71367db..5d0bfea4a 100644 --- a/sources/conductor.cpp +++ b/sources/conductor.cpp @@ -40,7 +40,7 @@ Conductor::Conductor(Terminal *p1, Terminal* p2, Diagram *parent_diagram) : QGraphicsPathItem(0, parent_diagram), terminal1(p1), terminal2(p2), - destroyed(false), + destroyed_(false), text_item(0), segments(NULL), moving_point(false), @@ -77,7 +77,7 @@ Conductor::Conductor(Terminal *p1, Terminal* p2, Diagram *parent_diagram) : conductor_profiles.insert(Qt::BottomRightCorner, ConductorProfile()); // calcul du rendu du conducteur - priv_calculeConductor(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); + generateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); setFlags(QGraphicsItem::ItemIsSelectable); setAcceptsHoverEvents(true); @@ -116,10 +116,10 @@ void Conductor::updatePath(const QRectF &rect) { QPointF p1, p2; p1 = terminal1 -> dockConductor(); p2 = terminal2 -> dockConductor(); - if (nbSegments() && !conductor_profiles[currentPathType()].isNull()) - priv_modifieConductor(p1, terminal1 -> orientation(), p2, terminal2 -> orientation()); + if (segmentsCount() && !conductor_profiles[currentPathType()].isNull()) + updateConductorPath(p1, terminal1 -> orientation(), p2, terminal2 -> orientation()); else - priv_calculeConductor(p1, terminal1 -> orientation(), p2, terminal2 -> orientation()); + generateConductorPath(p1, terminal1 -> orientation(), p2, terminal2 -> orientation()); calculateTextItemPosition(); QGraphicsPathItem::update(rect); } @@ -158,13 +158,13 @@ void Conductor::segmentsToPath() { @param p2 Coordonnees du point d'amarrage de la borne 2 @param o2 Orientation de la borne 2 */ -void Conductor::priv_modifieConductor(const QPointF &p1, QET::Orientation o1, const QPointF &p2, QET::Orientation o2) { +void Conductor::updateConductorPath(const QPointF &p1, QET::Orientation o1, const QPointF &p2, QET::Orientation o2) { Q_UNUSED(o1); Q_UNUSED(o2); ConductorProfile &conductor_profile = conductor_profiles[currentPathType()]; - Q_ASSERT_X(conductor_profile.nbSegments(QET::Both) > 1, "Conductor::priv_modifieConductor", "pas de points a modifier"); + Q_ASSERT_X(conductor_profile.segmentsCount(QET::Both) > 1, "Conductor::priv_modifieConductor", "pas de points a modifier"); Q_ASSERT_X(!conductor_profile.isNull(), "Conductor::priv_modifieConductor", "pas de profil utilisable"); // recupere les coordonnees fournies des bornes @@ -286,7 +286,7 @@ QHash Conductor::shareOffsetBetweenSegments( @param p2 Coordonnees du point d'amarrage de la borne 2 @param o2 Orientation de la borne 2 */ -void Conductor::priv_calculeConductor(const QPointF &p1, QET::Orientation o1, const QPointF &p2, QET::Orientation o2) { +void Conductor::generateConductorPath(const QPointF &p1, QET::Orientation o1, const QPointF &p2, QET::Orientation o2) { QPointF sp1, sp2, depart, newp1, newp2, arrivee, depart0, arrivee0; QET::Orientation ori_depart, ori_arrivee; @@ -509,7 +509,7 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWi Methode de preparation a la destruction du conducteur ; le conducteur se detache de ses deux bornes */ void Conductor::destroy() { - destroyed = true; + destroyed_ = true; terminal1 -> removeConductor(this); terminal2 -> removeConductor(this); } @@ -862,7 +862,7 @@ qreal Conductor::conductor_bound(qreal tobound, qreal bound, bool positive) { @param type Type de Segments @return Le nombre de segments composant le conducteur. */ -uint Conductor::nbSegments(QET::ConductorSegmentType type) const { +uint Conductor::segmentsCount(QET::ConductorSegmentType type) const { QList segments_list = segmentsList(); if (type == QET::Both) return(segments_list.count()); uint nb_seg = 0; @@ -1174,10 +1174,10 @@ void Conductor::setProfile(const ConductorProfile &cp, Qt::Corner path_type) { // si le type de trajet correspond a l'actuel if (currentPathType() == path_type) { if (conductor_profiles[path_type].isNull()) { - priv_calculeConductor(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); + generateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); modified_path = false; } else { - priv_modifieConductor(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); + updateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); modified_path = true; } if (type() == ConductorProperties::Multi) { @@ -1468,10 +1468,10 @@ ConductorProfilesGroup Conductor::profiles() const { void Conductor::setProfiles(const ConductorProfilesGroup &cpg) { conductor_profiles = cpg; if (conductor_profiles[currentPathType()].isNull()) { - priv_calculeConductor(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); + generateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); modified_path = false; } else { - priv_modifieConductor(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); + updateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation()); modified_path = true; } if (type() == ConductorProperties::Multi) { diff --git a/sources/conductor.h b/sources/conductor.h index 9f53273e8..47f10de3f 100644 --- a/sources/conductor.h +++ b/sources/conductor.h @@ -27,13 +27,14 @@ class Element; typedef QPair ConductorBend; typedef QHash ConductorProfilesGroup; /** - Cette classe represente un conducteur. Un conducteur relie deux bornes d'element. + This class represents a conductor, i.e. a wire between two element + terminals. */ class Conductor : public QObject, public QGraphicsPathItem { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: Conductor(Terminal *, Terminal *, Diagram * = 0); virtual ~Conductor(); @@ -41,26 +42,27 @@ class Conductor : public QObject, public QGraphicsPathItem { private: Conductor(const Conductor &); - // attributs + // attributes public: enum { Type = UserType + 1001 }; enum Highlight { None, Normal, Alert }; - /// premiere borne a laquelle le fil est rattache + /// First terminal the wire is attached to Terminal *terminal1; - /// deuxieme borne a laquelle le fil est rattache + /// Second terminal the wire is attached to Terminal *terminal2; - // methodes + // methods public: /** - permet de caster un QGraphicsItem en Conductor avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + Conductor. + @return the QGraphicsItem type */ virtual int type() const { return Type; } void destroy(); - /// @return true si ce conducteur est detruit - bool isDestroyed() const { return(destroyed); } + /// @return true if this conductor is destroyed + bool isDestroyed() const { return(destroyed_); } Diagram *diagram() const; ConductorTextItem *textItem() const; void updatePath(const QRectF & = QRectF()); @@ -104,15 +106,15 @@ class Conductor : public QObject, public QGraphicsPathItem { virtual QVariant itemChange(GraphicsItemChange, const QVariant &); private: - /// caracteristiques du conducteur + /// Functional properties ConductorProperties properties_; - /// booleen indiquant si le fil est encore valide - bool destroyed; - /// champ de texte editable pour les conducteurs non unifilaires + /// Whether this conductor is still valid + bool destroyed_; + /// Text input for non simple, non-singleline conductors ConductorTextItem *text_item; - /// segments composant le conducteur + /// Segments composing the conductor ConductorSegment *segments; - /// attributs lies aux manipulations a la souris + /// Attributs related to mouse interaction QPointF press_point; bool moving_point; bool moving_segment; @@ -120,28 +122,29 @@ class Conductor : public QObject, public QGraphicsPathItem { qreal previous_z_value; ConductorSegment *moved_segment; QPointF before_mov_text_pos_; - /// booleen indiquant si le conducteur a ete modifie manuellement par l'utilisateur + /// Whether the conductor was manually modified by users bool modified_path; - /// booleen indiquant s'il faut sauver le profil courant au plus tot + /// Whether the current profile should be saved as soon as possible bool has_to_save_profile; - /// profil du conducteur : "photo" de ce a quoi le conducteur doit ressembler - il y a un profil par type de trajet + /// conductor profile: "photography" of what the conductor is supposed to look + /// like - there is one profile per kind of traject ConductorProfilesGroup conductor_profiles; - /// QPen et QBrush utilises pour dessiner les conducteurs + /// QPen et QBrush objects used to draw conductors static QPen conductor_pen; static QBrush conductor_brush; static QBrush square_brush; static bool pen_and_brush_initialized; - /// facteur de taille du carre de saisie du segment + /// Scale factor to render square used to move segments qreal segments_squares_scale_; - /// Definit la facon dont le conducteur doit etre mis en evidence + /// Define whether and how the conductor should be highlighted Highlight must_highlight_; private: void segmentsToPath(); void saveProfile(bool = true); - void priv_calculeConductor(const QPointF &, QET::Orientation, const QPointF &, QET::Orientation); - void priv_modifieConductor(const QPointF &, QET::Orientation, const QPointF &, QET::Orientation); - uint nbSegments(QET::ConductorSegmentType = QET::Both) const; + void generateConductorPath(const QPointF &, QET::Orientation, const QPointF &, QET::Orientation); + void updateConductorPath(const QPointF &, QET::Orientation, const QPointF &, QET::Orientation); + uint segmentsCount(QET::ConductorSegmentType = QET::Both) const; QList segmentsToPoints() const; QSet relatedConductors() const; QList bends() const; diff --git a/sources/conductorprofile.cpp b/sources/conductorprofile.cpp index d98657ab3..3ceeb4217 100644 --- a/sources/conductorprofile.cpp +++ b/sources/conductorprofile.cpp @@ -100,7 +100,7 @@ qreal ConductorProfile::height() const{ @param type Type de Segments @return Le nombre de segments composant le conducteur. */ -uint ConductorProfile::nbSegments(QET::ConductorSegmentType type) const { +uint ConductorProfile::segmentsCount(QET::ConductorSegmentType type) const { if (type == QET::Both) return(segments.count()); uint nb_seg = 0; foreach(ConductorSegmentProfile *csp, segments) { diff --git a/sources/conductorprofile.h b/sources/conductorprofile.h index 0c2711920..8fff295b2 100644 --- a/sources/conductorprofile.h +++ b/sources/conductorprofile.h @@ -22,34 +22,34 @@ class Conductor; class ConductorSegmentProfile; /** - Cette classe contient le profil (= les caracteristiques essentielles) d'un - conducteur. + This class represents the profile of a conductor, i.e. its primary + characteristics. */ class ConductorProfile { public: - // constructeurs, destructeur + // constructors, destructor ConductorProfile(); ConductorProfile(Conductor *conductor); ConductorProfile(const ConductorProfile &); ConductorProfile &operator=(const ConductorProfile &); virtual ~ConductorProfile(); - // attributs + // attributes public: - /// Segment composant le profil du conducteur + /// Segments composing the conductor QList segments; - /// Orientation de la borne de depart du profil + /// Orientation of the start terminal QET::Orientation beginOrientation; - /// Orientation de la borne d'arrivee du profil + /// Orientation of the end terminal. QET::Orientation endOrientation; - // methodes + // methods public: bool isNull() const; void setNull(); qreal width() const; qreal height() const; - uint nbSegments(QET::ConductorSegmentType) const; + uint segmentsCount(QET::ConductorSegmentType) const; QList horizontalSegments(); QList verticalSegments(); void fromConductor(Conductor *); diff --git a/sources/conductorproperties.h b/sources/conductorproperties.h index 50ccf63e6..1bf010010 100644 --- a/sources/conductorproperties.h +++ b/sources/conductorproperties.h @@ -21,7 +21,7 @@ #include #include /** - Cette classe represente les proprietes specifiques a un conducteur unifilaire + This class represents the properties of a singleline conductor. */ class SingleLineProperties { public: @@ -37,9 +37,9 @@ class SingleLineProperties { void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); - /// indique si le conducteur unifilaire doit afficher le symbole terre + /// Whether the singleline conductor should display the ground symbol bool hasGround; - /// indique si le conducteur unifilaire doit afficher le symbole neutre + /// Whether the singleline conductor should display the neutral symbol bool hasNeutral; /// Protective Earth Neutral: visually merge neutral and ground bool is_pen; @@ -55,44 +55,44 @@ class SingleLineProperties { }; /** - Cette classe represente les proprietes specifiques a un conducteur, - en dehors de ses bornes et de son trajet. + This class represents the functional properties of a particular conductor, + i.e. properties other than path and terminals. */ class ConductorProperties { - // constructeurs, destructeur + // constructors, destructor public: 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 + Represents the kind of a particular conductor: + * Simple: no symbols, no text input + * Single: singleline symbols, no text input + * Multi: text input, no symbol */ enum ConductorType { Simple, Single, Multi }; - // attributs - /// type du conducteur + // attributes + /// Conductor type ConductorType type; - /// couleur du conducteur + /// Conductor color QColor color; - /// texte affiche si le conducteur est multifilaire + /// Texte displayed for multiline conductors QString text; - /// style du conducteur (Qt::SolidLine ou Qt::DashLine) + /// conducteur style (Qt::SolidLine or Qt::DashLine) Qt::PenStyle style; - /// proprietes si le conducteur est unifilaire + /// properties for singleline conductors SingleLineProperties singleLineProperties; - // methodes + // methods void toXml(QDomElement &) const; void fromXml(QDomElement &); void toSettings(QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); static QString typeToString(ConductorType); - // operateurs + // operators int operator==(const ConductorProperties &); int operator!=(const ConductorProperties &); diff --git a/sources/conductorpropertieswidget.h b/sources/conductorpropertieswidget.h index c520e836b..378b435ac 100644 --- a/sources/conductorpropertieswidget.h +++ b/sources/conductorpropertieswidget.h @@ -20,14 +20,13 @@ #include "conductorproperties.h" #include /** - 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. + This widget enables users to change the properties of a particular + conductor; these properties include singleline symbols, style, color, and + conductor type but exclude the path it draws. */ class ConductorPropertiesWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ConductorPropertiesWidget(QWidget * = 0); ConductorPropertiesWidget(const ConductorProperties &, QWidget * = 0); @@ -36,7 +35,7 @@ class ConductorPropertiesWidget : public QWidget { private: ConductorPropertiesWidget(const ConductorPropertiesWidget &); - // methodes + // methods public: void setConductorProperties(const ConductorProperties &); ConductorProperties conductorProperties() const; @@ -57,7 +56,7 @@ class ConductorPropertiesWidget : public QWidget { protected: void focusInEvent(QFocusEvent *); - // attributs prives + // private attributes private: QButtonGroup *radio_buttons; QRadioButton *simple; @@ -76,7 +75,7 @@ class ConductorPropertiesWidget : public QWidget { ConductorProperties properties_; - // methodes privees + // private methods void buildInterface(); void buildConnections(); void destroyConnections(); diff --git a/sources/conductorsegment.h b/sources/conductorsegment.h index 1ea70b46b..3aa770c5b 100644 --- a/sources/conductorsegment.h +++ b/sources/conductorsegment.h @@ -20,11 +20,11 @@ #include #include "qet.h" /** - Cette classe represente un segment de conducteur. + This class represents a conductor segment. */ class ConductorSegment { - // constructeurs, destructeur + // constructors, destructor public: ConductorSegment(const QPointF &, const QPointF &, ConductorSegment * = NULL, ConductorSegment * = NULL); virtual ~ConductorSegment(); @@ -32,14 +32,14 @@ class ConductorSegment { private: ConductorSegment(const ConductorSegment &); - // attributs + // attributes private: ConductorSegment *previous_segment; ConductorSegment *next_segment; QPointF point1; QPointF point2; - // methodes + // methods public: void moveX(const qreal &); void moveY(const qreal &); diff --git a/sources/conductorsegmentprofile.h b/sources/conductorsegmentprofile.h index 1e5044eae..7d84eef81 100644 --- a/sources/conductorsegmentprofile.h +++ b/sources/conductorsegmentprofile.h @@ -20,16 +20,16 @@ #include #include "conductorsegment.h" /** - Cette classe contient le profil (= les caracteristiques essentielles) d'un - segment de conducteur. + This class embeds the profile (i.e. main characteristics) of a conductor + segment. */ class ConductorSegmentProfile { - // constructeurs, destructeur + // constructors, destructor public: /** - Constructeur - @param l longueur du segment - @param ori true si le segment est horizontal, false s'il est vertical + Constructor + @param l segment length + @param ori true if the segment is horizontal, false if it is vertical */ ConductorSegmentProfile(qreal l, bool ori = true) : length(l), @@ -38,8 +38,8 @@ class ConductorSegmentProfile { } /** - Constructeur - @param segment ConductorSegment dont il faut extraire le profil + Constructor + @param segment Segment the profile should be copied from. */ ConductorSegmentProfile(ConductorSegment *segment) : length(segment -> length()), @@ -47,15 +47,15 @@ class ConductorSegmentProfile { { } - /// Destructeur + /// Destructor virtual ~ConductorSegmentProfile() { } - // attributs + // attributes public: - /// longueur du segment + /// segment length qreal length; - /// orientation du segment + /// segment orientation bool isHorizontal; }; #endif diff --git a/sources/conductortextitem.h b/sources/conductortextitem.h index d6bc8f120..7d027f9d0 100644 --- a/sources/conductortextitem.h +++ b/sources/conductortextitem.h @@ -20,16 +20,16 @@ #include "diagramtextitem.h" class Conductor; /** - Cette classe represente un champ de texte rattache a un conducteur. - Il est editable et deplacable par l'utilisateur. - Il peut egalement etre oriente a un angle quelconque. - Ses deplacements sont toutefois limites a une certaine distance autour de - son conducteur parent. + This class represents a text item attached to a parent conductor. + It may be moved and edited by users. + It may also be rotated to any angle. + Its movements are however limited to a particular distance around its + parent conductor. */ class ConductorTextItem : public DiagramTextItem { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ConductorTextItem(Conductor * = 0, Diagram * = 0); ConductorTextItem(const QString &, Conductor * = 0, Diagram * = 0); @@ -37,14 +37,14 @@ class ConductorTextItem : public DiagramTextItem { private: ConductorTextItem(const ConductorTextItem &); - // attributs + // attributes public: enum { Type = UserType + 1006 }; Conductor *parentConductor() const; virtual void fromXml(const QDomElement &); virtual QDomElement toXml(QDomDocument &) const; - // methodes + // methods public: virtual int type() const { return Type; } virtual bool wasMovedByUser() const; @@ -55,7 +55,7 @@ class ConductorTextItem : public DiagramTextItem { virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *); virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *); - // attributs + // attributes private: Conductor *parent_conductor_; bool moved_by_user_; diff --git a/sources/configdialog.h b/sources/configdialog.h index 9edc40b4d..e5d7c50e8 100644 --- a/sources/configdialog.h +++ b/sources/configdialog.h @@ -24,20 +24,20 @@ class QListWidgetItem; class QStackedWidget; class QDialogButtonBox; /** - Cette classe represente le dialogue de configuration de QElectroTech. - Il s'agit d'un dialogue affichant des "pages de configuration". - Chaque page de configuration doit fournir une icone et un titre. + This class represents the configuration dialog for QElectroTech. + It displays "configuration pages", each page having to provide an icon and + a title. */ class ConfigDialog : public QDialog { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ConfigDialog(QWidget * = 0); virtual ~ConfigDialog(); private: ConfigDialog(const ConfigDialog &); - // methodes + // methods public slots: void changePage(QListWidgetItem *, QListWidgetItem *); void applyConf(); @@ -47,7 +47,7 @@ class ConfigDialog : public QDialog { void buildPagesList(); void addPageToList(ConfigPage *); - // attributs + // attributes private: QListWidget *pages_list; QStackedWidget *pages_widget; diff --git a/sources/configpage.h b/sources/configpage.h index 87461d387..1aa4b1680 100644 --- a/sources/configpage.h +++ b/sources/configpage.h @@ -4,7 +4,7 @@ #include /** - This abstract class specifies methods all derived classes should should + This abstract class specifies methods all derived classes should implement. */ class ConfigPage : public QWidget { diff --git a/sources/configpages.h b/sources/configpages.h index 9a23e628a..97a6577f8 100644 --- a/sources/configpages.h +++ b/sources/configpages.h @@ -25,49 +25,51 @@ class TitleBlockPropertiesWidget; class ExportPropertiesWidget; /** - Cette classe represente la page de configuration des nouveaux schemas. + This configuration page enables users to define the properties of new + diagrams to come. */ class NewDiagramPage : public ConfigPage { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: NewDiagramPage(QWidget * = 0); virtual ~NewDiagramPage(); private: NewDiagramPage(const NewDiagramPage &); - // methodes + // methods public: void applyConf(); QString title() const; QIcon icon() const; - // attributs + // attributes public: - BorderPropertiesWidget *bpw; ///< Widget d'edition des dimensions du schema - TitleBlockPropertiesWidget *ipw; ///< Widget d'edition des proprietes par defaut du cartouche - ConductorPropertiesWidget *cpw; ///< Widget d'edition des proprietes par defaut des conducteurs + BorderPropertiesWidget *bpw; ///< Widget to edit default diagram dimensions + TitleBlockPropertiesWidget *ipw; ///< Widget to edit default title block properties + ConductorPropertiesWidget *cpw; ///< Widget to edit default conductor properties }; /** - Cette classe represente la page de configuration generale. + This configuration page enables users to specify various options,most of + them applying to the whole application. */ class GeneralConfigurationPage : public ConfigPage { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: GeneralConfigurationPage(QWidget * = 0); virtual ~GeneralConfigurationPage(); private: GeneralConfigurationPage(const GeneralConfigurationPage &); - // methodes + // methods public: void applyConf(); QString title() const; QIcon icon() const; - // attributs + // attributes public: QLabel *title_label_; QFrame *horiz_line_; @@ -85,47 +87,47 @@ class GeneralConfigurationPage : public ConfigPage { }; /** - Cette classe represente la page de configuration du dialogue d'exportation + This configuration page enables users to set default export options. */ class ExportConfigPage : public ConfigPage { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ExportConfigPage(QWidget * = 0); virtual ~ExportConfigPage(); private: ExportConfigPage(const ExportConfigPage &); - // methodes + // methods public: void applyConf(); QString title() const; QIcon icon() const; - // attributs + // attributes public: ExportPropertiesWidget *epw; }; /** - Cette classe represente la page de configuration du dialogue d'impression + This configuration page enables users to set default printing options. */ class PrintConfigPage : public ConfigPage { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: PrintConfigPage(QWidget * = 0); virtual ~PrintConfigPage(); private: PrintConfigPage(const PrintConfigPage &); - // methodes + // methods public: void applyConf(); QString title() const; QIcon icon() const; - // attributs + // attributes public: ExportPropertiesWidget *epw; }; diff --git a/sources/customelement.h b/sources/customelement.h index 7ab08ee4f..f05b5bb71 100644 --- a/sources/customelement.h +++ b/sources/customelement.h @@ -24,16 +24,15 @@ class ElementTextItem; class Terminal; /** - Cette classe represente un element electrique. Elle est utilisable - comme un element fixe. La difference est que l'element perso lit - sa description (noms, dessin, comportement) dans un fichier XML a fournir - en parametre. + This class represents an electrical element; it may be used like a fixed + element, the difference being that the CustomElement reads its description + (names, drawing, behavior) from an XML document. */ class CustomElement : public FixedElement { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: CustomElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0, int * = 0); CustomElement(const QDomElement &, QGraphicsItem * = 0, Diagram * = 0, int * = 0); @@ -42,9 +41,9 @@ class CustomElement : public FixedElement { private: CustomElement(const CustomElement &); - // attributs + // attributes protected: - int elmt_state; // contient le code d'erreur si l'instanciation a echoue ou 0 si l'instanciation s'est bien passe + int elmt_state; // hold the error code in case the instanciation fails, or 0 if everything went well NamesList names; ElementsLocation location_; QPicture drawing; @@ -53,7 +52,7 @@ class CustomElement : public FixedElement { QList list_texts_; bool forbid_antialiasing; - // methodes + // methods public: virtual QList terminals() const; virtual QList conductors() const; @@ -84,8 +83,8 @@ class CustomElement : public FixedElement { }; /** - @return L'ID du type de l'element ; pour un CustomElement, cela revient au - nom du fichier + @return The element type ID; considering a CustomElement, this means the + @location of its XML description. @see location() */ inline QString CustomElement::typeId() const { @@ -93,38 +92,38 @@ inline QString CustomElement::typeId() const { } /** - @return L'adresse du fichier contenant la description XML de cet element + @return the location of the XML document describing this element. */ inline ElementsLocation CustomElement::location() const { return(location_); } /** - @return true si cet element est nul, c'est-a-dire si le chargement de sa - description XML a echoue + @return true if this element is null, i.e. if its XML description could not + be loaded. */ inline bool CustomElement::isNull() const { return(elmt_state); } /** - @return Un entier representant l'etat de l'element : - - 0 : L'instanciation a reussi - - 1 : Le fichier n'existe pas - - 2 : Le fichier n'a pu etre ouvert - - 3 : Le fichier n'est pas un document XML - - 4 : Le document XML n'a pas une "definition" comme racine - - 5 : Les attributs de la definition ne sont pas presents et / ou valides - - 6 : La definition est vide - - 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 + @return An integer representing the state of this element: + - 0: instantiation succeeded + - 1: the file does not exist + - 2: the file could not be opened + - 3: The file is not a valid XML document + - 4: The XML document does not have a "definition" root element. + - 5: The definition attributes are missing or invalid + - 6: The definition is empty + - 7: The parsing of an XML element describing an element drawing primitive failed + - 8: No primitive could be loadedAucune partie du dessin n'a pu etre chargee */ inline int CustomElement::state() const { return(elmt_state); } /** - @return Le nom de l'element + @return The name of this element. */ inline QString CustomElement::name() const { return(names.name(location_.baseName())); diff --git a/sources/diagram.cpp b/sources/diagram.cpp index f1850cc14..aa9dc7e01 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -41,25 +41,25 @@ const qreal Diagram::margin = 5.0; */ Diagram::Diagram(QObject *parent) : QGraphicsScene(parent), - draw_grid(true), - use_border(true), - draw_terminals(true), + draw_grid_(true), + use_border_(true), + draw_terminals_(true), draw_colored_conductors_(true), project_(0), read_only_(false), diagram_qet_version_(-1) { - undo_stack = new QUndoStack(); - qgi_manager = new QGIManager(this); + undo_stack_ = new QUndoStack(); + qgi_manager_ = new QGIManager(this); setBackgroundBrush(Qt::white); - conductor_setter = new QGraphicsLineItem(0, 0); - conductor_setter -> setZValue(1000000); + conductor_setter_ = new QGraphicsLineItem(0, 0); + conductor_setter_ -> setZValue(1000000); QPen t; t.setColor(Qt::black); t.setWidthF(1.5); t.setStyle(Qt::DashLine); - conductor_setter -> setPen(t); - conductor_setter -> setLine(QLineF(QPointF(0.0, 0.0), QPointF(0.0, 0.0))); + conductor_setter_ -> setPen(t); + conductor_setter_ -> setLine(QLineF(QPointF(0.0, 0.0), QPointF(0.0, 0.0))); // initialise les objets gerant les deplacements elements_mover_ = new ElementsMover(); // deplacements d'elements/conducteurs/textes @@ -80,9 +80,9 @@ Diagram::Diagram(QObject *parent) : */ Diagram::~Diagram() { // suppression de la liste des annulations - l'undo stack fait appel au qgimanager pour supprimer certains elements - delete undo_stack; + delete undo_stack_; // suppression du QGIManager - tous les elements qu'il connait sont supprimes - delete qgi_manager; + delete qgi_manager_; // suppression des objets gerant les deplacements delete elements_mover_; @@ -120,7 +120,7 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) { p -> setBrush(Qt::white); p -> drawRect(r); - if (draw_grid) { + if (draw_grid_) { // dessine les points de la grille p -> setPen(Qt::black); p -> setBrush(Qt::NoBrush); @@ -141,7 +141,7 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) { p -> drawPoints(points); } - if (use_border) border_and_titleblock.draw(p, margin, margin); + if (use_border_) border_and_titleblock.draw(p, margin, margin); p -> restore(); } @@ -201,7 +201,7 @@ void Diagram::keyReleaseEvent(QKeyEvent *e) { bool Diagram::toPaintDevice(QPaintDevice &pix, int width, int height, Qt::AspectRatioMode aspectRatioMode) { // determine la zone source = contenu du schema + marges QRectF source_area; - if (!use_border) { + if (!use_border_) { source_area = itemsBoundingRect(); source_area.translate(-margin, -margin); source_area.setWidth (source_area.width () + 2.0 * margin); @@ -248,7 +248,7 @@ bool Diagram::toPaintDevice(QPaintDevice &pix, int width, int height, Qt::Aspect QSize Diagram::imageSize() const { // determine la zone source = contenu du schema + marges qreal image_width, image_height; - if (!use_border) { + if (!use_border_) { QRectF items_rect = itemsBoundingRect(); image_width = items_rect.width(); image_height = items_rect.height(); @@ -399,8 +399,8 @@ bool Diagram::initFromXml(QDomElement &document, QPointF position, bool consider // initialise le document XML interne a partir de l'element XML fourni en parametre if (from_xml) { - xml_document.clear(); - xml_document.appendChild(xml_document.importNode(document, true)); + xml_document_.clear(); + xml_document_.appendChild(xml_document_.importNode(document, true)); // a ce stade, le document XML interne contient le code XML qui a ete importe, et non pas une version re-exporte par la methode toXml() } return(from_xml); @@ -585,8 +585,8 @@ void Diagram::write() { @param element xml a enregistrer */ void Diagram::write(const QDomElement &element) { - xml_document.clear(); - xml_document.appendChild(xml_document.importNode(element, true)); + xml_document_.clear(); + xml_document_.appendChild(xml_document_.importNode(element, true)); emit(written()); } @@ -595,7 +595,7 @@ void Diagram::write(const QDomElement &element) { si le document XML utilise en interne n'est pas vide), false sinon */ bool Diagram::wasWritten() const { - return(!xml_document.isNull()); + return(!xml_document_.isNull()); } /** @@ -606,7 +606,7 @@ QDomElement Diagram::writeXml(QDomDocument &xml_doc) const { // si le schema n'a pas ete enregistre explicitement, on n'ecrit rien if (!wasWritten()) return(QDomElement()); - QDomElement diagram_elmt = xml_document.documentElement(); + QDomElement diagram_elmt = xml_document_.documentElement(); QDomNode new_node = xml_doc.importNode(diagram_elmt, true); return(new_node.toElement()); } @@ -737,7 +737,7 @@ void Diagram::titleChanged(const QString &title) { */ void Diagram::diagramTextChanged(DiagramTextItem *text_item, const QString &old_text, const QString &new_text) { if (!text_item) return; - undo_stack -> push(new ChangeDiagramTextCommand(text_item, old_text, new_text)); + undo_stack_ -> push(new ChangeDiagramTextCommand(text_item, old_text, new_text)); } /** diff --git a/sources/diagram.h b/sources/diagram.h index 16b32f799..32088ea3a 100644 --- a/sources/diagram.h +++ b/sources/diagram.h @@ -37,14 +37,13 @@ class IndependentTextItem; class QETProject; class Terminal; /** - Cette classe represente un schema electrique. - Elle gere les differents elements et conducteurs qui le composent - et en effectue le rendu graphique. + This class represents an electric diagram. It manages its various child + elements, conductors and texts and handles their graphic rendering. */ class Diagram : public QGraphicsScene { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: Diagram(QObject * = 0); virtual ~Diagram(); @@ -52,42 +51,42 @@ class Diagram : public QGraphicsScene { private: Diagram(const Diagram &diagram); - // attributs + // attributes public: /** - Represente les options possibles pour l'affichage du schema : - * EmptyBorder : N'afficher que la bordure - * TitleBlock : Afficher le cartouche - * Columns : Afficher les colonnes + Represents available options when rendering a particular diagram: + * EmptyBorder: display border only + * TitleBlock: display title block + * Columns: display columns */ enum BorderOptions { EmptyBorder, TitleBlock, Columns }; - /// Proprietes par defaut des nouveaux conducteurs + /// Default properties for new conductors ConductorProperties defaultConductorProperties; - /// Dimensions et cartouches du schema + /// Diagram dimensions and title block BorderTitleBlock border_and_titleblock; - /// taille de la grille en abscisse + /// abscissa grid step size static const int xGrid; - /// taille de la grille en ordonnee + /// ordinate grid step size static const int yGrid; - /// marge autour du schema + /// margin around the diagram static const qreal margin; private: - QGraphicsLineItem *conductor_setter; + QGraphicsLineItem *conductor_setter_; ElementsMover *elements_mover_; ElementTextsMover *element_texts_mover_; - bool draw_grid; - bool use_border; - QGIManager *qgi_manager; - QUndoStack *undo_stack; - bool draw_terminals; + bool draw_grid_; + bool use_border_; + QGIManager *qgi_manager_; + QUndoStack *undo_stack_; + bool draw_terminals_; bool draw_colored_conductors_; - QDomDocument xml_document; + QDomDocument xml_document_; QETProject *project_; bool read_only_; qreal diagram_qet_version_; - // methodes + // methods protected: virtual void drawBackground(QPainter *, const QRectF &); virtual void keyPressEvent(QKeyEvent *); @@ -96,22 +95,22 @@ class Diagram : public QGraphicsScene { public: static bool clipboardMayContainDiagram(); - // fonctions relatives au projet parent + // methods related to parent project QETProject *project() const; void setProject(QETProject *); int folioIndex() const; qreal declaredQElectroTechVersion(bool = true) const; - // fonctions relatives a la lecture seule + // methods related to read only mode bool isReadOnly() const; void setReadOnly(bool); - // fonctions relatives a la pose de conducteurs + // methods related to conductor creation void setConductor(bool); void setConductorStart (QPointF); void setConductorStop(QPointF); - // fonctions relatives a l'import / export XML + // methods related to XML import/export QDomDocument toXml(bool = true); bool initFromXml(QDomElement &, QPointF = QPointF(), bool = true, DiagramContent * = 0); bool fromXml(QDomDocument &, QPointF = QPointF(), bool = true, DiagramContent * = 0); @@ -121,7 +120,7 @@ class Diagram : public QGraphicsScene { bool wasWritten() const; QDomElement writeXml(QDomDocument &) const; - // fonctions relative a l'ajout et a l'enlevement d'elements graphiques sur le schema + // methods related to graphics items addition/removal on the diagram void addElement(Element *); void addConductor(Conductor *); void addIndependentTextItem(IndependentTextItem *); @@ -130,7 +129,7 @@ class Diagram : public QGraphicsScene { void removeConductor(Conductor *); void removeIndependentTextItem(IndependentTextItem *); - // fonctions relatives aux options graphiques + // methods related to graphics options ExportProperties applyProperties(const ExportProperties &); void setDisplayGrid(bool); bool displayGrid(); @@ -177,7 +176,7 @@ class Diagram : public QGraphicsScene { void titleBlockTemplateRemoved(const QString &, const QString & = QString()); void setTitleBlockTemplate(const QString &); - // fonctions relative a la selection sur le schema + // methods related to graphics items selection void selectAll(); void deselectAll(); void invertSelection(); @@ -191,71 +190,73 @@ class Diagram : public QGraphicsScene { Q_DECLARE_METATYPE(Diagram *) /** - 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 - bornes. + Display or hide the conductor setter, i.e. a dashed conductor stub which appears when creating a conductor between two terminals. @param pf true pour ajouter le poseur de conducteur, false pour l'enlever */ -inline void Diagram::setConductor(bool pf) { - if (pf) { - if (!conductor_setter -> scene()) addItem(conductor_setter); +inline void Diagram::setConductor(bool adding) { + if (adding) { + if (!conductor_setter_ -> scene()) addItem(conductor_setter_); } else { - if (conductor_setter -> scene()) removeItem(conductor_setter); + if (conductor_setter_ -> scene()) removeItem(conductor_setter_); } } /** - Specifie les coordonnees du point de depart du poseur de conducteur - @param d Le nouveau point de depart du poseur de conducteur + Set the start point of the conductor setter. + @param start the point (in scene coordinates) which the newly created + conductor should start from. */ -inline void Diagram::setConductorStart(QPointF d) { - conductor_setter -> setLine(QLineF(d, conductor_setter -> line().p2())); +inline void Diagram::setConductorStart(QPointF start) { + conductor_setter_ -> setLine(QLineF(start, conductor_setter_ -> line().p2())); } /** - Specifie les coordonnees du point d'arrivee du poseur de conducteur - @param a Le nouveau point d'arrivee du poseur de conducteur + Set the end point of the conductor setter. + @param end the point (in scene coordinates) upon to which the newly created + conductor should be drawn. */ -inline void Diagram::setConductorStop(QPointF a) { - conductor_setter -> setLine(QLineF(conductor_setter -> line().p1(), a)); +inline void Diagram::setConductorStop(QPointF end) { + conductor_setter_ -> setLine(QLineF(conductor_setter_ -> line().p1(), end)); } /** - Permet de specifier si la grille du schema doit etre dessinee ou non - @param dg true pour afficher la grille, false pour ne pas l'afficher + Set whether the diagram grid should be drawn. + @param dg true to render the grid, false otherwise. */ inline void Diagram::setDisplayGrid(bool dg) { - draw_grid = dg; + draw_grid_ = dg; } /** - Permet de savoir si la grille du schema est dessinee ou non - @return true si la grille est affichee , false sinon + @return true if the grid is drawn, false otherwise. */ inline bool Diagram::displayGrid() { - return(draw_grid); + return(draw_grid_); } /** - Permet de specifier si le cadre du schema doit etre pris en compte pour - determiner le contour du schema. - @param ub true pour prendre le schema en compte, false sinon + Set whether the diagram border (including rows/colums headers and the title + block) should be rendered along with the diagram. When set to false, the size + of the smallest rectangle containing all items is considered as the diagram + size. + @param ub true to take the border into account, false otherwise */ inline void Diagram::setUseBorder(bool ub) { - use_border = ub; + use_border_ = ub; } /** - Permet de savoir si le cadre du schema est pris en compte pour - determiner le contour du schema. + @return true if the border is rendered and take into account, false + otherwise. */ inline bool Diagram::useBorder() { - return(use_border); + return(use_border_); } /** - Permet de definir les options du cadre, des colonnes et du cartouche. - @param bo Un OU binaire entre les options possibles + Set the rendering options for the diagram border (including rows/colums + headers and the title block) + @param bo Enabled options ORed together @see BorderOptions */ inline void Diagram::setBorderOptions(Diagram::BorderOptions bo) { @@ -265,33 +266,32 @@ inline void Diagram::setBorderOptions(Diagram::BorderOptions bo) { } /** - Permet de savoir les options du cadre, des colonnes et du cartouche. - @return Un OU binaire entre les options possibles - @see BorderOptions + @return The rendering optios for the diagram border + @see setBorderOptions */ inline Diagram::BorderOptions Diagram::borderOptions() { - BorderOptions retour = EmptyBorder; - if (border_and_titleblock.titleBlockIsDisplayed()) retour = (BorderOptions)(retour|TitleBlock); - if (border_and_titleblock.columnsAreDisplayed()) retour = (BorderOptions)(retour|Columns); - return(retour); + BorderOptions options = EmptyBorder; + if (border_and_titleblock.titleBlockIsDisplayed()) options = (BorderOptions)(options|TitleBlock); + if (border_and_titleblock.columnsAreDisplayed()) options = (BorderOptions)(options|Columns); + return(options); } -/// @return la pile d'annulations de ce schema +/// @return the diagram undo stack inline QUndoStack &Diagram::undoStack() { - return(*undo_stack); + return(*undo_stack_); } -/// @return le egstionnaire de QGraphicsItem de ce schema +/// @return the diagram graphics item manager inline QGIManager &Diagram::qgiManager() { - return(*qgi_manager); + return(*qgi_manager_); } -/// @return true si les bornes sont affichees, false sinon +/// @return true if terminals are rendered, false otherwise inline bool Diagram::drawTerminals() const { - return(draw_terminals); + return(draw_terminals_); } -/// @return true si les couleurs des conducteurs sont respectees, false sinon +/// @return true if conductors colors are rendered, false otherwise. inline bool Diagram::drawColoredConductors() const { return(draw_colored_conductors_); } diff --git a/sources/diagramcommands.h b/sources/diagramcommands.h index 61bb1f5a4..9f7a45907 100644 --- a/sources/diagramcommands.h +++ b/sources/diagramcommands.h @@ -31,140 +31,139 @@ class ElementTextItem; class IndependentTextItem; /** - Cette classe represente l'action d'ajouter un element au schema + This command adds an element to a particular diagram. */ class AddElementCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: AddElementCommand(Diagram *, Element *, const QPointF &, QUndoCommand * = 0); virtual ~AddElementCommand(); private: AddElementCommand(const AddElementCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// element ajoute + /// added element Element *element; - /// schema sur lequel on ajoute l'element + /// diagram the element is added to Diagram *diagram; - /// position de l'element sur le schema + /// position of the element on the diagram QPointF position; }; /** - Cette classe represente l'action d'ajouter du texte au schema + This command adds an independent (i.e. related to neither an element nor a + conductor) text item to a particular diagram. */ class AddTextCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: AddTextCommand(Diagram *, IndependentTextItem *, const QPointF &, QUndoCommand * = 0); virtual ~AddTextCommand(); private: AddTextCommand(const AddTextCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// texte ajoute + /// added text item IndependentTextItem *textitem; - /// schema sur lequel on ajoute le texte + /// diagram the text item is added to Diagram *diagram; - /// position du texte sur le schema + /// position of the text item on the diagram QPointF position; }; /** - Cette classe represente l'action d'ajouter un conducteur au schema + This command adds a conductor to a particular diagram. */ class AddConductorCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: AddConductorCommand(Diagram *, Conductor *, QUndoCommand * = 0); virtual ~AddConductorCommand(); private: AddConductorCommand(const AddConductorCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// conducteur ajoute + /// added conductor Conductor *conductor; - /// schema auquel on ajoute le conducteur + /// diagram the conductor is added to Diagram *diagram; }; /** - Cette classe represente l'action de supprimer des elements, conducteurs - et / ou textes independants d'un schema + This command removes content from a particular diagram. */ class DeleteElementsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: DeleteElementsCommand(Diagram *, const DiagramContent &, QUndoCommand * = 0); virtual ~DeleteElementsCommand(); private: DeleteElementsCommand(const DeleteElementsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// contenu enleve + /// removed content DiagramContent removed_content; - /// schema dont on supprime des elements et conducteurs + /// diagram which the content is removed from Diagram *diagram; }; /** - Cette classe represente l'action de coller quelque chose sur un schema + This command pastes some content onto a particular diagram. */ class PasteDiagramCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: PasteDiagramCommand(Diagram *, const DiagramContent &, QUndoCommand * = 0); virtual ~PasteDiagramCommand(); private: PasteDiagramCommand(const PasteDiagramCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// contenu ajoute + /// pasted content DiagramContent content; - /// schema sur lequel on colle les elements et conducteurs + /// diagram content is pasted onto Diagram *diagram; - /// entien pour filtrer le contenu du schema + /// filter stating what kinds of items should be pasted int filter; - /// booleen pour empecher le premier appel a redo + /// prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de supprimer des elements et / ou - conducteurs d'un schema + This command cuts content from a particular diagram. */ class CutDiagramCommand : public DeleteElementsCommand { - // constructeurs, destructeur + // constructors, destructor public: CutDiagramCommand(Diagram *, const DiagramContent &, QUndoCommand * = 0); virtual ~CutDiagramCommand(); @@ -173,89 +172,84 @@ class CutDiagramCommand : public DeleteElementsCommand { }; /** - Cette classe represente l'action de deplacer des elements et des - conducteurs sur un schema + This command moves some content on a particular diagram. */ class MoveElementsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: MoveElementsCommand(Diagram *, const DiagramContent &, const QPointF &m, QUndoCommand * = 0); virtual ~MoveElementsCommand(); private: MoveElementsCommand(const MoveElementsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); virtual void move(const QPointF &); virtual void addConductorTextItemMovement(ConductorTextItem *, const QPointF &, const QPointF &); - // attributs + // attributes private: - /// schema sur lequel on deplace les elements + /// diagram the movement takes place on. Diagram *diagram; - /// contenu a deplacer + /// moved content DiagramContent content_to_move; - /// mouvement effectue + /// applied movement QPointF movement; /** - Deplacer des elements ou champs de texte entraine des conducteurs. - Soit ces conducteurs sont betement deplaces, soit leur trajet est - recalcule. - Si leur trajet est recalcule, les champs de texte dont la position a ete - personnalisee par l'utilisateur - Liste des champs de texte de conducteurs dont la position a ete modifiee - par des mises + Moving elements impacts their conductors: either they are moved, or their path + needs to be generated again, which in turn tends to move their child text + items. This attribute holds both new and previous positions for each moved + text item. */ QHash > moved_conductor_texts_; - /// booleen pour ne pas executer le premier redo() + /// prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de deplacer des champs de texte rattaches - a des elements sur un schema + This command moves text items related to elements on a particular diagram. */ class MoveElementsTextsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: MoveElementsTextsCommand(Diagram *, const QSet &, const QPointF &m, QUndoCommand * = 0); virtual ~MoveElementsTextsCommand(); private: MoveElementsTextsCommand(const MoveElementsTextsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); virtual void move(const QPointF &); - // attributs + // attributes private: - /// schema sur lequel on deplace les elements + /// diagram the movement takes place on. Diagram *diagram; - /// liste des champs de texte a deplacer + /// text items to be moved QSet texts_to_move; - /// mouvement effectue + /// applied movement QPointF movement; - /// booleen pour ne pas executer le premier redo() + /// prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de deplacer des champs de texte rattaches - a des conducteurs sur un schema + This command moves text items related to conductors on a particular + diagram. */ class MoveConductorsTextsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: MoveConductorsTextsCommand(Diagram *, QUndoCommand * = 0); virtual ~MoveConductorsTextsCommand(); private: MoveConductorsTextsCommand(const MoveConductorsTextsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); @@ -264,56 +258,56 @@ class MoveConductorsTextsCommand : public QUndoCommand { private: void regenerateTextLabel(); - // attributs + // attributes private: - /// schema sur lequel on deplace les elements + /// diagram the movement takes place on. Diagram *diagram; - /// liste des champs de texte a deplacer + /// text items to be moved QHash > texts_to_move_; - /// booleen pour ne pas executer le premier redo() + /// prevent the first call to redo() bool first_redo; }; /** - Cette classe represente la modification d'un champ de texte + This commad modifies a text item. */ class ChangeDiagramTextCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeDiagramTextCommand(DiagramTextItem *, const QString &before, const QString &after, QUndoCommand * = 0); virtual ~ChangeDiagramTextCommand(); private: ChangeDiagramTextCommand(const ChangeDiagramTextCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// DiagramTextItem modifie + /// modified text item DiagramTextItem *text_item; - /// texte avant changement + /// former text QString text_before; - /// texte apres changement + /// new text QString text_after; - /// booleen pour ne pas executer le premier redo() + /// prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de pivoter plusieurs elements ou champs de textes avec un meme angle + This command rotates several elements or text items by a particular angle. */ class RotateElementsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: RotateElementsCommand(const QHash &elements, const QList &, QUndoCommand * = 0); virtual ~RotateElementsCommand(); private: RotateElementsCommand(const RotateElementsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); @@ -321,21 +315,22 @@ class RotateElementsCommand : public QUndoCommand { void setAppliedRotationAngle(const qreal &); static void rotateElement(Element *, QET::Orientation); - // attributs + // attributes private: - /// elements pivotes associes a leur ancienne orientation + /// hold rotated elements along with their former orientation QHash elements_to_rotate; - /// textes a pivoter + /// text items to be rotated QList texts_to_rotate; - /// angle de rotation a appliquer aux textes (valeur utilisee dans le redo + /// angle of rotation to be applied to text items qreal applied_rotation_angle_; }; /** - Cette classe represente l'action d'orienter plusieurs textes a un meme angle de rotation bien precis + This command directs several text items to a same particular angle of + rotation. */ class RotateTextsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: RotateTextsCommand(const QHash &, double, QUndoCommand * = 0); RotateTextsCommand(const QList &, double, QUndoCommand * = 0); @@ -343,7 +338,7 @@ class RotateTextsCommand : public QUndoCommand { private: RotateTextsCommand(const RotateTextsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); @@ -351,152 +346,153 @@ class RotateTextsCommand : public QUndoCommand { private: void defineCommandName(); - // attributs + // attributes private: - /// textes pivotes associes a leur ancienne orientation + /// hold rotated text items along with their former angle of rotation QHash texts_to_rotate; - /// angle de rotation a appliquer aux textes + /// angle of rotation of all text items after the command double applied_rotation_angle_; }; /** - Cette classe represente l'action de modifier un conducteur + This command changes a particular conductor. */ class ChangeConductorCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeConductorCommand(Conductor *, const ConductorProfile &, const ConductorProfile &, Qt::Corner, QUndoCommand * = 0); virtual ~ChangeConductorCommand(); private: ChangeConductorCommand(const ChangeConductorCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); virtual void setConductorTextItemMove(const QPointF &, const QPointF &); - // attributs + // attributes private: - /// conducteur modifie + /// changed conductor Conductor *conductor; - /// profil avant changement + /// profile before the change ConductorProfile old_profile; - /// profil apres changement + /// profile after the change ConductorProfile new_profile; - /// Type de trajet + /// Path type of the modified conductor Qt::Corner path_type; - /// Position du champ de texte avant le changement + /// position of the text item before the change QPointF text_pos_before_mov_; - /// Position du champ de texte apres le changement + /// position of the text item after the change QPointF text_pos_after_mov_; - /// booleen pour ne pas executer le premier redo() + /// prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de reinitialiser des conducteurs + This command resets conductor paths. */ class ResetConductorCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ResetConductorCommand(const QHash &, QUndoCommand * = 0); virtual ~ResetConductorCommand(); private: ResetConductorCommand(const ResetConductorCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// conducteurs reinitialises associes a leur ancien profil + /// impacted conductors along with their former profiles QHash conductors_profiles; }; /** - Cette classe represente l'action de modifier les informations du cartouche d'un schema + This command changes the title block properties for a particular diagram. */ class ChangeTitleBlockCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeTitleBlockCommand(Diagram *, const TitleBlockProperties &, const TitleBlockProperties &, QUndoCommand * = 0); virtual ~ChangeTitleBlockCommand(); private: ChangeTitleBlockCommand(const ChangeTitleBlockCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// schema modifie + /// modified diagram Diagram *diagram; - /// proprietes avant changement + /// properties before the change TitleBlockProperties old_titleblock; - /// proprietes apres changement + /// properties after the change TitleBlockProperties new_titleblock; }; /** - Cette classe represente l'action de modifier les dimensions d'un schema + This command changes the border properties of a particular diagram. */ class ChangeBorderCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeBorderCommand(Diagram *, const BorderProperties &, const BorderProperties &, QUndoCommand * = 0); virtual ~ChangeBorderCommand(); private: ChangeBorderCommand(const ChangeBorderCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// schema modifie + /// modified diagram Diagram *diagram; public: - /// anciennes dimensions du schema + /// properties before the change BorderProperties old_properties; - /// nouvelles dimensions du schema + /// properties after the change BorderProperties new_properties; }; /** - Cette classe represente l'action de modifier les proprietes d'un conducteur + This command changes the properties for a particular conductor. */ class ChangeConductorPropertiesCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeConductorPropertiesCommand(Conductor *, QUndoCommand * = 0); virtual ~ChangeConductorPropertiesCommand(); private: ChangeConductorPropertiesCommand(const ChangeConductorPropertiesCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); virtual void setOldSettings(const ConductorProperties &); virtual void setNewSettings(const ConductorProperties &); - // attributs + // attributes private: - /// conducteur modifie + /// modified conductor Conductor *conductor; - /// anciennes proprietes + /// properties before the change ConductorProperties old_properties; - /// nouvelles proprietes + /// properties after the change ConductorProperties new_properties; - /// booleens indiquant si les proprietes ont ete definies ou non + /// track whether pre-change properties were set bool old_settings_set; + /// track whether post-change properties were set bool new_settings_set; }; #endif diff --git a/sources/diagramcontent.h b/sources/diagramcontent.h index bd6446035..5ca340229 100644 --- a/sources/diagramcontent.h +++ b/sources/diagramcontent.h @@ -22,14 +22,13 @@ class Conductor; class Element; class IndependentTextItem; /** - Cette classe est un conteneur pour passer facilement le contenu d'un schema - a une fonction. Il permet d'acceder rapidement aux differents types de - composants que l'on peut trouver sur un schema, comme les elements, les - champs de texte, les conducteurs (a deplacer ou a mettre a jour, en cas de - deplacements), etc. - A noter que ce container ne contient pas systematiquement l'integralite - d'un schema. Il peut n'en contenir qu'une partie, typiquement les - composants selectionnes. + This class provides a container that makes the transmission of diagram content + to other functions/methods easier. The different kind of items are made + available through a handful of filter-aware methods. Considering selected + elements are to be moved, the filter notably distinguishes conductors to be + moved from those to be updated. + Please note this container does not systematically contains a whole + diagram: it may describe only a part of it, e.g. selected items. */ class DiagramContent { public: @@ -37,7 +36,7 @@ class DiagramContent { DiagramContent(const DiagramContent &); ~DiagramContent(); - /// Permet de filtrer facilement les differentes parties d'un schema + /// Used to filter the different items carried by this container. enum Filter { Elements = 1, TextFields = 2, @@ -49,15 +48,15 @@ class DiagramContent { SelectedOnly = 32 }; - /// Elements de texte du schema + /// Hold electrical elements QSet elements; - /// Champs de texte independants du schema + /// Hold independent text items QSet textFields; - /// Conducteurs a mettre a jour du schema + /// Hold conductors that would get updated considering electrical elements are moved QSet conductorsToUpdate; - /// Conducteurs a deplacer du schema + /// Hold conductors that would be moved as is considering electrical elements are moved QSet conductorsToMove; - /// Conducteurs isoles (ni a deplacer, ni a mettre a jour) + /// Hold conductors that would be left untouched considering electrical elements are moved QSet otherConductors; QList conductors(int = AnyConductor) const; diff --git a/sources/diagramposition.h b/sources/diagramposition.h index 4559245f0..cef3b0a07 100644 --- a/sources/diagramposition.h +++ b/sources/diagramposition.h @@ -21,25 +21,25 @@ #include #include /** - Cette classe represente la position d'un element sur le schema. Il ne - s'agit pas de ses coordonnees (bien que celles-ci puissent etre embarquees - par commodite), mais du secteur du schema dans lequel il se situe, par - exemple B2 ou C4. + This class stores the position of an electrical element on its parent diagram. + While exact coordinates can be stored for convenience, the concept of diagram + position as implemented by this class simply designates the intersection + between a column and a row, e.g. B2 or C4. */ class DiagramPosition { - // constructeurs, destructeur + // constructors, destructor public: DiagramPosition(const QString & = "", unsigned int = 0); virtual ~DiagramPosition(); - // methodes + // methods public: QPointF position() const; void setPosition(const QPointF &); QString toString(); bool isOutOfBounds() const; - // attributs + // attributes private: QString letter_; unsigned int number_; diff --git a/sources/diagramprintdialog.h b/sources/diagramprintdialog.h index b6f0ddd91..e295a33db 100644 --- a/sources/diagramprintdialog.h +++ b/sources/diagramprintdialog.h @@ -22,20 +22,19 @@ #include "diagram.h" #include "exportproperties.h" /** - Cette classe represente le dialogue de configuration de l'impression d'un - schema electrique. - Elle se charge egalement de l'impression elle-meme + This class implements both the dialog allowing users to configure the printing + of a project file and the printing itself. */ class DiagramPrintDialog : public QWidget { Q_OBJECT - // Constructeurs, destructeur + // Constructors, destructor public: DiagramPrintDialog(QETProject *, QWidget * = 0); virtual ~DiagramPrintDialog(); private: DiagramPrintDialog(const DiagramPrintDialog &); - // methodes + // methods public: void setFileName(const QString &); QString fileName() const; @@ -62,14 +61,13 @@ class DiagramPrintDialog : public QWidget { void acceptPrintTypeDialog(); void browseFilePrintTypeDialog(); - // attributs + // attributes private: QETProject *project_; QPrinter *printer_; QString doc_name_; QString file_name_; - /// Attributs relatifs au 1er dialogue QDialog *dialog_; QLabel *printtype_label_; QGridLayout *glayout0_; diff --git a/sources/diagramschooser.h b/sources/diagramschooser.h index d7519c5c2..32740a33c 100644 --- a/sources/diagramschooser.h +++ b/sources/diagramschooser.h @@ -21,20 +21,20 @@ class QETProject; class Diagram; /** - Cette classe represente un widget permettant de choisir 0 a n schemas parmi - ceux d'un projet. + This class provides a widget which allows users to select 0 to n diagrams + among those of a particular project. */ class DiagramsChooser : public QScrollArea { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: DiagramsChooser(QETProject *, QWidget * = 0); virtual ~DiagramsChooser(); private: DiagramsChooser(const DiagramsChooser &); - // methodes + // methods public: QETProject *project() const; QList selectedDiagrams() const; @@ -52,7 +52,7 @@ class DiagramsChooser : public QScrollArea { private: void buildLayout(); - // attributs + // attributes private: QETProject *project_; QWidget *widget0_; diff --git a/sources/diagramtextitem.h b/sources/diagramtextitem.h index bf4744196..e25c3b661 100644 --- a/sources/diagramtextitem.h +++ b/sources/diagramtextitem.h @@ -20,27 +20,28 @@ #include #include "diagram.h" /** - Cette classe represente un champ de texte editable sur le schema. - Par defaut, les DiagramTextItem sont Selectable et Movable. + This class represents a selectable, movable and editable text field on a + diagram. @see QGraphicsItem::GraphicsItemFlags */ class DiagramTextItem : public QGraphicsTextItem { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: DiagramTextItem(QGraphicsItem * = 0, Diagram * = 0); DiagramTextItem(const QString &, QGraphicsItem * = 0, Diagram * = 0); virtual ~DiagramTextItem(); - // attributs + // attributes public: enum { Type = UserType + 1004 }; - // methodes + // methods public: /** - Cette methode permet d'utiliser qgraphicsitem_cast sur cet objet - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + DiagramTextItem + @return the QGraphicsItem type */ virtual int type() const { return Type; } Diagram *diagram() const; @@ -64,22 +65,19 @@ class DiagramTextItem : public QGraphicsTextItem { virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *); virtual void applyRotation(const qreal &); - // signaux signals: - /// signal emis lorsque le champ de texte perd le focus + /// signal emitted when the text field loses focus void lostFocus(); - /// signal emis lorsque le champ de texte a ete modifie + /// signal emitted after text was changed void diagramTextChanged(DiagramTextItem *, const QString &, const QString &); - - // slots + public slots: void setNonFocusable(); - // attributs prives private: - /// Texte precedent + /// Previous text value QString previous_text_; - /// angle de rotation du champ de texte + /// angle of rotation of the text field qreal rotation_angle_; }; #endif diff --git a/sources/diagramview.h b/sources/diagramview.h index bab532281..c05763967 100644 --- a/sources/diagramview.h +++ b/sources/diagramview.h @@ -26,12 +26,13 @@ class Element; class IndependentTextItem; class QETDiagramEditor; /** - Classe representant graphiquement un schema electrique + This class provides a widget to render an electric diagram in an editable, + interactive way. */ class DiagramView : public QGraphicsView { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: DiagramView(Diagram * = 0, QWidget * = 0); virtual ~DiagramView(); @@ -39,7 +40,7 @@ class DiagramView : public QGraphicsView { private: DiagramView(const DiagramView &); - // attributs + // attributes private: Diagram *scene; QMenu *context_menu; @@ -52,7 +53,7 @@ class DiagramView : public QGraphicsView { ElementsLocation next_location_; QPoint next_position_; - // methodes + // methods public: QString title() const; void editDiagramProperties(); @@ -60,7 +61,7 @@ class DiagramView : public QGraphicsView { void removeColumn(); void addRow(); void removeRow(); - /// @return Le schema visualise par ce DiagramView + /// @return the diagram rendered by this view Diagram *diagram() { return(scene); } QETDiagramEditor *diagramEditor() const; bool hasSelectedItems(); @@ -96,23 +97,23 @@ class DiagramView : public QGraphicsView { bool addElementAtPos(const ElementsLocation &, const QPoint &); signals: - /// Signal emis lorsque la selection change + /// Signal emitted after the selection changed void selectionChanged(); - /// Signal emis lorsque le mode de selection change + /// Signal emitted after the selection mode changed void modeChanged(); - /// Signal emis lorsqu'un texte a ete pose + /// Signal emitted after a text was added void textAdded(bool); - /// Signal emis lorsque le titre du schema change + /// Signal emitted after the diagram title changed void titleChanged(DiagramView *, const QString &); - /// Signal emis avant l'integration d'un element + /// Signal emitted before integrating an element void aboutToAddElement(); /// Signal emitted before integrating a title block template void aboutToSetDroppedTitleBlockTemplate(const TitleBlockTemplateLocation &); - /// Signal emis lorsque l'utilisateur souhaite retrouver un element du schema dans les collections + /// Signal emitted when users wish to locate an element from the diagram within elements collection void findElementRequired(const ElementsLocation &); - /// Signal emis lorsque l'utilisateur souhaite editer un element du schema + /// Signal emitted when users wish to edit an element from the diagram void editElementRequired(const ElementsLocation &); - /// Signal emitted when the user wants to edit and/or duplicate an existing title block template + /// Signal emitted when users want to edit and/or duplicate an existing title block template void editTitleBlockTemplate(const QString &, bool); public slots: diff --git a/sources/editor/arceditor.h b/sources/editor/arceditor.h index 27d804f46..90e2ee97e 100644 --- a/sources/editor/arceditor.h +++ b/sources/editor/arceditor.h @@ -22,26 +22,25 @@ class PartArc; class StyleEditor; /** - Cette classe represente le widget d'edition d'un arc dans l'editeur - d'element. + This class provides a widget to edit elliptical arcs within the element editor. */ class ArcEditor : public ElementItemEditor { Q_OBJECT - //constructeurs, destructeur + // constructors, destructor public: ArcEditor(QETElementEditor *, PartArc * = 0, QWidget * = 0); virtual ~ArcEditor(); private: ArcEditor(const ArcEditor &); - // attributs + // attributes private: PartArc *part; StyleEditor *style_; QLineEdit *x, *y, *h, *v; QSpinBox *angle, *start_angle; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/circleeditor.h b/sources/editor/circleeditor.h index 762749a49..b3b51f90c 100644 --- a/sources/editor/circleeditor.h +++ b/sources/editor/circleeditor.h @@ -22,9 +22,7 @@ class PartCircle; class StyleEditor; /** - Cette classe represente un editeur de cercle. - Elle permet d'editer a travers une interface graphique les - proprietes d'une cercle composant le dessin d'un element. + This class provides a widget to edit circles within the element editor. */ class CircleEditor : public ElementItemEditor { Q_OBJECT @@ -35,13 +33,13 @@ class CircleEditor : public ElementItemEditor { private: CircleEditor(const CircleEditor &); - // attributs + // attributes private: PartCircle *part; StyleEditor *style_; QLineEdit *x, *y, *r; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/customelementgraphicpart.h b/sources/editor/customelementgraphicpart.h index c7913d310..15b126fea 100644 --- a/sources/editor/customelementgraphicpart.h +++ b/sources/editor/customelementgraphicpart.h @@ -23,44 +23,43 @@ class QETElementEditor; typedef CustomElementGraphicPart CEGP; /** - Cette classe represente une partie graphique d'element - Elle encapsule des methodes afin de gerer les attributs de style communs - a la plupart des parties d'elements + This class represents an element visual/geometric primitive. It provides + methods to manage style attributes common to most primitives. */ class CustomElementGraphicPart : public CustomElementPart { public: - /// Qualifie le style de ligne utilise pour dessiner la partie + /// This enum lists the various line styles available to draw primitives. enum LineStyle { - NormalStyle, ///< Ligne pleine - DashedStyle, ///< Ligne pointillee (tirets) - DottedStyle ///< Ligne pointillee (points) + NormalStyle, ///< Normal line + DashedStyle, ///< Dashed line + DottedStyle ///< Dotted line }; - /// Qualifie l'epaisseur de ligne utilisee pour dessiner la partie + /// This enum lists the various line weights available to draw primitives. enum LineWeight { - NormalWeight, ///< Ligne normale - ThinWeight, ///< Ligne fine - NoneWeight ///< Ligne invisible + NormalWeight, ///< Normal line + ThinWeight, ///< Thin line + NoneWeight ///< Invisible line }; - /// Qualifie la couleur utilisee pour remplir la partie + /// This enum lists the various filling colors available to draw primitives. enum Filling { - NoneFilling, ///< Remplissage transparent - BlackFilling, ///< Remplissage en noir - WhiteFilling ///< Remplissage en blanc + NoneFilling, ///< No filling (i.e. transparent) + BlackFilling, ///< Black filling + WhiteFilling ///< White filling }; - /// Qualifie la couleur de ligne utilisee pour dessiner la partie + /// This enum lists the various line colors available to draw primitives. enum Color { - BlackColor, ///< Ligne noire - WhiteColor ///< Ligne blanche + BlackColor, ///< Black line + WhiteColor ///< White line }; - // constructeurs, destructeur + // constructors, destructor public: /** - Constructeur - @param editor Editeur d'element auquel cette partie est rattachee + Constructor + @param editor Element editor this primitive lives in. */ CustomElementGraphicPart(QETElementEditor *editor) : CustomElementPart(editor), @@ -72,11 +71,11 @@ class CustomElementGraphicPart : public CustomElementPart { { }; - /// Destructeur + /// Destructor virtual ~CustomElementGraphicPart() { }; - // attributs + // attributes private: LineStyle _linestyle; LineWeight _lineweight; @@ -84,7 +83,7 @@ class CustomElementGraphicPart : public CustomElementPart { Color _color; bool _antialiased; - //methodes + // methods public: void setLineStyle(LineStyle); void setLineWeight(LineWeight); @@ -109,75 +108,75 @@ class CustomElementGraphicPart : public CustomElementPart { }; /** - Change le style de trait - @param ls Le nouveau style de trait + Set the primitive line style. + @param ls the new line style */ inline void CustomElementGraphicPart::setLineStyle(LineStyle ls) { _linestyle = ls; } /** - Change l'epaisseur de trait - @param lw La nouvelle epaisseur de trait + Set the primitive line weight. + @param lw the new line weight */ inline void CustomElementGraphicPart::setLineWeight(LineWeight lw) { _lineweight = lw; } /** - Change la couleur de remplissage - @param f La nouvelle couleur de remplissage + Set the filling color. + @param f the new filling color */ inline void CustomElementGraphicPart::setFilling(Filling f) { _filling = f; } /** - Change la couleur de trait - @param c La nouvelle couleur de trait + Set the line color. + @param c the new line color */ inline void CustomElementGraphicPart::setColor(Color c) { _color = c; } /** - @return Le style de trait + @return the current line style */ inline CustomElementGraphicPart::LineStyle CustomElementGraphicPart::lineStyle() const { return(_linestyle); } /** - @return L'epaisseur de trait + @return the current line weight */ inline CustomElementGraphicPart::LineWeight CustomElementGraphicPart::lineWeight() const { return(_lineweight); } /** - @return La couleur de remplissage + @return the current filling color */ inline CustomElementGraphicPart::Filling CustomElementGraphicPart::filling() const { return(_filling); } /** - @return La couleur de trait + @return the current line color */ inline CustomElementGraphicPart::Color CustomElementGraphicPart::color() const { return(_color); } /** - Definit si la partie doit etre antialiasee ou non - @param aa True pour activer l'antialiasing, false pour le desactiver + Set whether the primitive should be drawn antialiased. + @param aa True to enable antialiasing, false to disable it. */ inline void CustomElementGraphicPart::setAntialiased(bool aa) { _antialiased = aa; } /** - @return true si la partie est antialiasee, false sinon + @return whether the primitive is drawn antialiased. */ inline bool CustomElementGraphicPart::antialiased() const { return(_antialiased); diff --git a/sources/editor/customelementpart.h b/sources/editor/customelementpart.h index 001e148b3..29af22510 100644 --- a/sources/editor/customelementpart.h +++ b/sources/editor/customelementpart.h @@ -24,69 +24,67 @@ class CustomElement; class QETElementEditor; class ElementScene; /** - Cette classe abstraite represente une partie de la representation graphique - d'un element de schema electrique. Les attributs et methodes qu'elle - encapsule ne sont pas integres directement dans la classe CustomElement - afin de ne pas alourdir celle-ci. Il est en effet inutile pour cette classe - de retenir sa conception graphique autrement que sous la forme d'une - QImage. + This abstract class represents a primitive of the visual representation of an + electrical element. The Element, FixedElement and CustomElement classes do not + embed its attributes and methods in order to remain lightweight; indeed, there + is no point for those classes to store their visual representation with + anything more complex than a QImage. */ class CustomElementPart { - // constructeurs, destructeur + // constructors, destructor public: /** - Constructeur - @param editor Editeur d'element auquel cette partie est rattachee + Constructor + @param editor Element editor this primitive is attached to */ CustomElementPart(QETElementEditor *editor) : element_editor(editor) {} - /// Destructeur + /// Destructor virtual ~CustomElementPart() {} private: CustomElementPart(const CustomElementPart &); - // attributs + // attributes private: QETElementEditor *element_editor; - // methodes + // methods public: /** - Charge la partie depuis un element XML sense le decrire + Load the primitive from an XML element that describes it */ virtual void fromXml(const QDomElement &) = 0; /** - Enregistre la partie dans un document XML + Export the primitive as an XML element */ virtual const QDomElement toXml(QDomDocument &) const = 0; /** - Permet de modifier une des proprietes de la partie + Set a specific property of the primitive */ virtual void setProperty(const QString &, const QVariant &) = 0; /** - Permet de lire une des proprietes de la partie + Get the current value of a specific primitive property */ 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. + @return whether the primitive appears to be useless (e.g. 0-length line) + Typically, useless primitives are discarded when saving the element. */ virtual bool isUseless() const = 0; - /// @return un pointeur vers l'editeur d'element parent + /// @return a pointer to the parent element editor virtual QETElementEditor *elementEditor() const; /** - Appelle le slot updateCurrentPartEditor de l'editeur + Call the updateCurrentPartEditor() slot of the editor @see QETElementEditor::updateCurrentPartEditor() */ virtual void updateCurrentPartEditor() const; - /// @return un pointeur vers la scene d'edition parente + /// @return a pointer to the parent editing scene virtual ElementScene *elementScene() const; - /// @return la pile d'annulations a utiliser + /// @return the element editor undo stack virtual QUndoStack &undoStack() const; - /// @return le nom de la partie + /// @return the name of the primitive virtual QString name() const = 0; - /// @return le nom qui sera utilise pour nommer l'element XML lors de l'export + /// @return the name that will be used as XML tag when exporting the primitive virtual QString xmlName() const = 0; }; #endif diff --git a/sources/editor/editorcommands.h b/sources/editor/editorcommands.h index 2f14bcf97..c54b7497f 100644 --- a/sources/editor/editorcommands.h +++ b/sources/editor/editorcommands.h @@ -25,69 +25,69 @@ #include "qgimanager.h" #include /** - Cette classe represente l'action de supprimer une ou plusieurs - parties lors de l'edition d'un element + This command deletes one or several primitives/parts when editing an + electrical element. */ class DeletePartsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: DeletePartsCommand(ElementScene *, const QList, QUndoCommand * = 0); virtual ~DeletePartsCommand(); private: DeletePartsCommand(const DeletePartsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Liste des parties supprimees + /// Deleted primitives QList deleted_parts; - /// scene sur laquelle se produisent les actions + /// Element editor/view/scene the command should take place on ElementScene *editor_scene; }; /** - Cette classe represente l'action de coller quelque chose dans un element + This command pastes primitives when editing an electrical element. */ class PastePartsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: PastePartsCommand(ElementView *, const ElementContent &, QUndoCommand * = 0); virtual ~PastePartsCommand(); private: PastePartsCommand(const PastePartsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); virtual void setOffset(int, const QPointF &, int, const QPointF &); - // attributs + // attributes private: - /// contenu ajoute + /// Pasted content ElementContent content_; - /// schema sur lequel on colle les elements et conducteurs + /// Element editor/view/scene the command should take place on ElementView *editor_view_; ElementScene *editor_scene_; - /// Informations pour annuler un c/c avec decalage + /// Data required to undo a copy/paste with offset int old_offset_paste_count_; QPointF old_start_top_left_corner_; int new_offset_paste_count_; QPointF new_start_top_left_corner_; bool uses_offset; - /// booleen pour empecher le premier appel a redo + /// Prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de supprimer des parties d'un element + This command cut primitives when editing an electrical element. */ class CutPartsCommand : public DeletePartsCommand { - // constructeurs, destructeur + // constructors, destructor public: CutPartsCommand(ElementScene *, const QList, QUndoCommand * = 0); virtual ~CutPartsCommand(); @@ -96,127 +96,127 @@ class CutPartsCommand : public DeletePartsCommand { }; /** - Cette classe represente l'action de deplacer une ou plusieurs - parties lors de l'edition d'un element + This command moves primitives when editing an electrical element. */ class MovePartsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: MovePartsCommand(const QPointF &, ElementScene *, const QList, QUndoCommand * = 0); virtual ~MovePartsCommand(); private: MovePartsCommand(const MovePartsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Liste des parties supprimees + /// List of moved primitives QList moved_parts; - /// scene sur laquelle se produisent les actions + /// Element editor/view/scene the command should take place on ElementScene *editor_scene; - /// translation appliquee + /// applied movement QPointF movement; - /// booleen pour eviter d'appeler redo() lors de la construction de l'objet + /// Prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action d'ajouter une partie lors de l'edition - d'un element + This command adds a primitive when editing an electrical element. */ class AddPartCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: AddPartCommand(const QString &, ElementScene *, QGraphicsItem *, QUndoCommand * = 0); virtual ~AddPartCommand(); private: AddPartCommand(const AddPartCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Liste des parties supprimees + /// Added primitive QGraphicsItem *part; - /// scene sur laquelle se produisent les actions + /// Element editor/view/scene the command should take place on ElementScene *editor_scene; - /// booleen pour eviter d'appeler redo() lors de la construction de l'objet + /// Prevent the first call to redo() bool first_redo; }; /** - Cette classe represente l'action de modifier une propriete d'une partie - lors de l'edition d'un element + This command changes a property of a primitive when editing an electrical + element. */ class ChangePartCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangePartCommand(const QString &, CustomElementPart *, const QString &, const QVariant &, const QVariant &, QUndoCommand * = 0); virtual ~ChangePartCommand(); private: ChangePartCommand(const ChangePartCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Partie modifiee + /// Changed primitive CustomElementPart *cep; - /// Propriete modifiee + /// Changed property QString property; - /// ancienne valeur + /// Former value QVariant old_value; - /// nouvelle valeur + /// New value QVariant new_value; }; /** - Cette classe represente l'action de modifier les points composants un polygone + This command changes the points of a polygon when editing an electrical + element. */ class ChangePolygonPointsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangePolygonPointsCommand(PartPolygon *, const QVector &, const QVector &, QUndoCommand * = 0); virtual ~ChangePolygonPointsCommand(); private: ChangePolygonPointsCommand(const ChangePolygonPointsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs - /// Polygone modifie + // attributes + /// Changed polygon PartPolygon *polygon; - /// anciens points + /// Former points QVector old_points; - /// nouveaux points + /// New points QVector new_points; }; /** - Cette classe represente l'action de modifier les dimensions et le point de saisie d'un element + This command changes the dimensions and/or the hotspot of an electrical + element. */ class ChangeHotspotCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeHotspotCommand(ElementScene *, const QSize &, const QSize &, const QPoint &, const QPoint &, const QPoint & = QPoint(), QUndoCommand * = 0); virtual ~ChangeHotspotCommand(); private: ChangeHotspotCommand(const ChangeHotspotCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); @@ -224,92 +224,93 @@ class ChangeHotspotCommand : public QUndoCommand { private: void applyOffset(const QPointF &); - // attributs - /// Element edite auquel il faut appliquer les modifications + // attributes + /// Element editor/view/scene the command should take place on ElementScene *element; - /// dimensions avant l'action + /// Former dimensions QSize size_before; - /// dimensions apres l'action + /// new dimensions QSize size_after; - /// point de saisie avant l'action + /// Former hotspot QPoint hotspot_before; - /// point de saisie apres l'action + /// New hotspot QPoint hotspot_after; - /// decalage a appliquer aux elements + /// Offset to be applied to primitives QPoint offset; }; /** - Cette classe represente l'action de changer les noms d'un element + This command changes the translated names of an electrical element. */ class ChangeNamesCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeNamesCommand(ElementScene *, const NamesList &, const NamesList &, QUndoCommand * = 0); virtual ~ChangeNamesCommand(); private: ChangeNamesCommand(const ChangeNamesCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Liste des noms avant changement + /// List of former names NamesList names_before; - /// Liste des noms apres changement + /// List of new names NamesList names_after; - /// Element edite auquel il faut appliquer les modifications + /// Element editor/view/scene the command should take place on ElementScene *element; }; /** - Cette classe represente l'action de changer les noms d'un element + This command changes the allowed orientations of an electrical element. */ class ChangeOrientationsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeOrientationsCommand(ElementScene *, const OrientationSet &, const OrientationSet &, QUndoCommand * = 0); virtual ~ChangeOrientationsCommand(); private: ChangeOrientationsCommand(const ChangeOrientationsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Orientations avant changement + /// Former orientations OrientationSet ori_before; - /// Orientations apres changement + /// New orientations OrientationSet ori_after; - /// Element edite auquel il faut appliquer les modifications + /// Element editor/view/scene the command should take place on ElementScene *element; }; /** - Cette classe represente l'action de changer les noms d'un element + This command changes the zValue of a set of primitives when editing an + electrical element. */ class ChangeZValueCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: - /// Qualifie le type de changement de zValue + /// List the various kind of changes for the zValue enum Option { - BringForward, ///< Amene la partie a l'avant-plan ; elle a alors la plus haute zValue - Raise, ///< Amene la partie un plan au-dessus ; la zValue de la partie est incrementee - Lower, ///< Envoie la partie un plan en-dessous ; la zValue de la partie est decrementee - SendBackward ///< Envoie la partie a l'arriere-plan ; elle a alors la plus faible zValue + BringForward, ///< Bring primitives to the foreground so they have the highest zValue + Raise, ///< Raise primitives one layer above their current one; zValues are incremented + Lower, ///< Send primitives one layer below their current one; zValues are decremented + SendBackward ///< Send primitives to the background so they have the lowest zValue }; ChangeZValueCommand(ElementScene *, Option, QUndoCommand * = 0); virtual ~ChangeZValueCommand(); private: ChangeZValueCommand(const ChangeZValueCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); @@ -320,67 +321,66 @@ class ChangeZValueCommand : public QUndoCommand { void applyLower(const QList &); void applySendBackward(const QList &); - // attributs + // attributes private: - /// zValues avant changement + /// associates impacted primitives with their former zValues QHash undo_hash; - /// zValues apres changement + /// associates impacted primitives with their new zValues QHash redo_hash; - /// Element edite auquel il faut appliquer les modifications + /// Element editor/view/scene the command should take place on ElementScene *element; - /// type de traitement + /// kind of treatment to apply Option option; }; /** - Cette classe represente l'action d'autoriser ou non les connexions - internes pour un element. + This command enables or disables internal connections for an electrical + element. */ class AllowInternalConnectionsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: AllowInternalConnectionsCommand(ElementScene *, bool, QUndoCommand * = 0); virtual ~AllowInternalConnectionsCommand(); private: AllowInternalConnectionsCommand(const AllowInternalConnectionsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Element edite auquel il faut appliquer les modifications + /// Element editor/view/scene the command should take place on ElementScene *element; - /// autorisation des connexions internes apres modification + /// whether internal connections are allowed afterward bool ic; }; /** - Cette classe represente l'action de changer les informations - complementaires d'un element. + This command changes extra information carried by an electrical element. */ class ChangeInformationsCommand : public QUndoCommand { - // constructeurs, destructeur + // constructors, destructor public: ChangeInformationsCommand(ElementScene *, const QString &, const QString &, QUndoCommand * = 0); virtual ~ChangeInformationsCommand(); private: ChangeInformationsCommand(const ChangeInformationsCommand &); - // methodes + // methods public: virtual void undo(); virtual void redo(); - // attributs + // attributes private: - /// Element edite auquel il faut appliquer les modifications + /// Element editor/view/scene the command should take place on ElementScene *element; - /// Informations avant modification + /// Former information QString old_informations_; - /// Informations apres modification + /// New information QString new_informations_; }; #endif diff --git a/sources/editor/elementcontent.h b/sources/editor/elementcontent.h index 526fd6b78..7fa0b95fb 100644 --- a/sources/editor/elementcontent.h +++ b/sources/editor/elementcontent.h @@ -20,11 +20,12 @@ #include class QGraphicsItem; /** - Lors de son edition dans l'editeur d'element, un element est decompose en - parties graphiques. La classe ElementContent represente un ensemble de parties - graphiques constituant tout ou partie d'un element. - Note : pour le moment, ElementContent est un typedef pour QList\ - @see la documentation Qt de la classe QList + When edited using the element editor, electrical elements are decomposed into + visual primitives. The ElementContent class represents a set of visual + primitives composing all or a part of an electrical element. + + Note: currently, ElementContent is a simple typedef for + QList\ */ typedef QList ElementContent; #endif diff --git a/sources/editor/elementitemeditor.h b/sources/editor/elementitemeditor.h index 017f51717..7627b0850 100644 --- a/sources/editor/elementitemeditor.h +++ b/sources/editor/elementitemeditor.h @@ -22,21 +22,20 @@ class QETElementEditor; class ElementScene; class CustomElementPart; /** - Cette classe est la classe de base pour les editeurs de parties 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. + This is the base class for primitives editors within the element editor. It + provides methods to access the editor itself, the undo stack, the edition + scene and even a method to easily take a ChangePartCommand into account. */ class ElementItemEditor : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementItemEditor(QETElementEditor *, QWidget * = 0); virtual ~ElementItemEditor() {}; private: ElementItemEditor(const ElementItemEditor &); - // methodes + // methods public: virtual QETElementEditor *elementEditor() const; virtual ElementScene *elementScene() const; @@ -49,7 +48,7 @@ class ElementItemEditor : public QWidget { virtual CustomElementPart *currentPart() const = 0; virtual void updateForm() = 0; - // attributs + // attributes private: QETElementEditor *element_editor; QString element_type_name; diff --git a/sources/editor/elementscene.h b/sources/editor/elementscene.h index 9e8616756..300acd3ec 100644 --- a/sources/editor/elementscene.h +++ b/sources/editor/elementscene.h @@ -31,10 +31,9 @@ class PartCircle; class PartPolygon; 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. + This class is the canvas allowing the visual edition of an electrial element. + It displays the various primitives composing the drawing of the element, the + border due to its fixed size and its hotspot. */ class ElementScene : public QGraphicsScene { Q_OBJECT @@ -42,7 +41,7 @@ class ElementScene : public QGraphicsScene { // enum enum Behavior { Normal, Line, Rectangle, Circle, Ellipse, Polygon, Text, Terminal, Arc, TextField, PasteArea }; - // constructeurs, destructeur + // constructors, destructor public: ElementScene(QETElementEditor *, QObject * = 0); virtual ~ElementScene(); @@ -50,37 +49,36 @@ class ElementScene : public QGraphicsScene { private: ElementScene(const ElementScene &); - // attributs + // attributes private: - /// longueur de l'element en dizaines de pixels + /// element width, in dozens of pixels uint _width; - /// hauteur de l'element en dizaines de pixels + /// element height, in dozens of pixels uint _height; - /// position du point de saisie + /// hotspot position QPoint _hotspot; - /// Liste des noms de l'element + /// List of localized names NamesList _names; - /// Liste des orientations de l'element + /// Set of orientations OrientationSet ori; - /// booleen indiquant si les bornes de l'element peuvent etre reliees a des bornes de ce meme element + /// whether internal connections (i.e. connections between terminals of a same element) are accepted bool internal_connections; - /// Chaine contenant les informations complementaires de l'element + /// Extra informations QString informations_; - /// Gestionnaire de QGraphicsItem + /// QGraphicsItem manager QGIManager qgi_manager; - /// Pile des actions annulables + /// Undo stack QUndoStack undo_stack; /** - fsi_pos (first selected item pos) : Position du premier item - selectionne : utilise pour annuler les deplacements a la souris ; - egalement utilise pour gerer les deplacements avec les fleches du - clavier. + fsi_pos (first selected item pos) : Position of the forst selected item: used + to cancel mouse movements; also used to handle movements using keybard + arrwows. */ QPointF fsi_pos; QPointF moving_press_pos; bool moving_parts_; - /// Variables relatives a la gestion du dessin des parties sur la scene + /// Variables related to drawing Behavior behavior; PartLine *current_line; PartRectangle *current_rectangle; @@ -90,19 +88,19 @@ class ElementScene : public QGraphicsScene { PartArc *current_arc; QETElementEditor *element_editor; - /// Variables relatives a la gestion de la zone de collage sur la scene + /// Variables to manage the paste area on the scene QGraphicsRectItem *paste_area_; QRectF defined_paste_area_; - /// Variables relatives au copier-coller avec decalage + /// Variables to handle copy/paste with offset QString last_copied_; - ///< Taille horizontale de la grille + ///< Size of the horizontal grid step int x_grid; - ///< Taille verticale de la grille + ///< Size of the vertical grid step int y_grid; - // methodes + // methods public: void setWidth(const uint &); uint width() const; @@ -188,22 +186,22 @@ class ElementScene : public QGraphicsScene { signals: /** - Signal emis lorsque la scene exige que l'editeur d'element repasse - en mode normal + Signal emitted when the scene requires the element editor to switch back to + normal mode. */ void needNormalMode(); - /// Signal emis lorsqu'une ou plusieurs parties sont ajoutees + /// Signal emitted after one or several parts were added void partsAdded(); - /// Signal emis lorsqu'une ou plusieurs parties sont enlevees + /// Signal emitted after one or several parts were removed void partsRemoved(); - /// Signal emis lorsque la zValue d'une ou plusieurs parties change + /// Signal emitted when the zValue of one or several parts change void partsZValueChanged(); - /// Signal emis lorsque l'utilisateur a fini de choisir une zone pour un copier/coller + /// Signal emitted when users have defined the copy/paste area void pasteAreaDefined(const QRectF &); }; /** - @param wid Nouvelle largeur de l'element edite + @param wid the new width for the currently edited element */ inline void ElementScene::setWidth(const uint &wid) { _width = wid; @@ -212,14 +210,14 @@ inline void ElementScene::setWidth(const uint &wid) { } /** - @return la largeur de l'element edite + @return the height of the currently edited element */ inline uint ElementScene::width() const { return(_width * 10); } /** - @param hei Nouvelle hauteur de l'element edite + @param hei the new height for the currently edited element */ inline void ElementScene::setHeight(const uint &hei) { _height = hei; @@ -228,77 +226,77 @@ inline void ElementScene::setHeight(const uint &hei) { } /** - @return la largeur de l'element edite + @return the width of the currently edited element */ inline uint ElementScene::height() const { return(_height * 10); } /** - @param hs Nouveau point de saisie de l'element edite + @param hs the new hotspot for the currently edited element */ inline void ElementScene::setHotspot(const QPoint &hs) { _hotspot = hs; } /** - @return le point de saisie de l'element edite + @return the hotspot of the currently edited element */ inline QPoint ElementScene::hotspot() const { return(_hotspot); } /** - @param nameslist Nouvel ensemble de noms de l'element edite + @param nameslist New set of naes for the currently edited element */ inline void ElementScene::setNames(const NamesList &nameslist) { _names = nameslist; } /** - @return l'ensemble de noms de l'element edite + @return the list of names of the currently edited element */ inline NamesList ElementScene::names() const { return(_names); } /** - @return l'ensemble d'orientations de l'element edite + @return the orientation set of the currently edited element */ inline OrientationSet ElementScene::orientations() { return(ori); } /** - @param orientation_set Nouvel ensemble d'orientations de l'element edite + @param orientation_set the new orientation set for the currently edited element */ inline void ElementScene::setOrientations(const OrientationSet &orientation_set) { ori = orientation_set; } /** - @return true si les connexions internes sont acceptees, false sinon + @return whether internal connections are accepted */ inline bool ElementScene::internalConnections() { return(internal_connections); } /** - @param ic true pour que les connexions internes soient acceptees, false sinon + @param ic true for internal connections to be accepted, false otherwise */ inline void ElementScene::setInternalConnections(bool ic) { internal_connections = ic; } /** - @return les informations complementaires de cet element + @return extra informations of the currently edited element */ inline QString ElementScene::informations() const { return(informations_); } /** - @param infos les nouvelles informations complementaires de cet element + @param infos new extra information for the currently edited element */ inline void ElementScene::setInformations(const QString &infos) { informations_ = infos; diff --git a/sources/editor/elementview.h b/sources/editor/elementview.h index 50731dc4b..ddb7fb4c3 100644 --- a/sources/editor/elementview.h +++ b/sources/editor/elementview.h @@ -20,14 +20,14 @@ #include #include "elementscene.h" /** - Cette classe represente un widget permettant de visualiser une - ElementScene, c'est-a-dire la classe d'edition des elements. + This class provides a widget to render an ElementScene instance, i.e. the + edition class for electrical elements. */ class ElementView : public QGraphicsView { Q_OBJECT friend class PastePartsCommand; - // constructeurs, destructeur + // constructors, destructor public: ElementView(ElementScene *, QWidget * = 0); virtual ~ElementView(); @@ -35,7 +35,7 @@ class ElementView : public QGraphicsView { private: ElementView(const ElementView &); - // methodes + // methods public: ElementScene *scene() const; void setScene(ElementScene *); @@ -50,7 +50,6 @@ class ElementView : public QGraphicsView { private: QRectF applyMovement(const QRectF &, const QET::OrientedMovement &, const QPointF &); - // slots public slots: void zoomIn(); void zoomOut(); @@ -69,7 +68,7 @@ class ElementView : public QGraphicsView { ElementContent paste(const QDomDocument &, const QPointF &); ElementContent pasteWithOffset(const QDomDocument &); - //attributs + // attributes private: ElementScene *scene_; QString to_paste_in_area_; diff --git a/sources/editor/ellipseeditor.h b/sources/editor/ellipseeditor.h index 757e51e11..3a6b18c70 100644 --- a/sources/editor/ellipseeditor.h +++ b/sources/editor/ellipseeditor.h @@ -22,25 +22,24 @@ class PartEllipse; class StyleEditor; /** - Cette classe represente le widget d'edition d'une ellipse dans l'editeur - d'element. + This class provides a widget to edit ellipses within the element editor. */ class EllipseEditor : public ElementItemEditor { Q_OBJECT - //constructeurs, destructeur + // constructors, destructor public: EllipseEditor(QETElementEditor *, PartEllipse * = 0, QWidget * = 0); virtual ~EllipseEditor(); private: EllipseEditor(const EllipseEditor &); - // attributs + // attributes private: PartEllipse *part; StyleEditor *style_; QLineEdit *x, *y, *h, *v; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/lineeditor.h b/sources/editor/lineeditor.h index f7316c91d..f7e9b19d4 100644 --- a/sources/editor/lineeditor.h +++ b/sources/editor/lineeditor.h @@ -22,19 +22,18 @@ class PartLine; class StyleEditor; /** - Cette classe represente le widget d'edition d'une ligne dans l'editeur - d'element. + This class provides a widget to edit lines within the element editor. */ class LineEditor : public ElementItemEditor { Q_OBJECT - //constructeurs, destructeur + // constructors, destructor public: LineEditor(QETElementEditor *, PartLine * = 0, QWidget * = 0); virtual ~LineEditor(); private: LineEditor(const LineEditor &); - // attributs + // attributes private: PartLine *part; StyleEditor *style_; @@ -42,7 +41,7 @@ class LineEditor : public ElementItemEditor { QComboBox *end1_type, *end2_type; QLineEdit *end1_length, *end2_length; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/partarc.h b/sources/editor/partarc.h index 310c7c55c..f61d66736 100644 --- a/sources/editor/partarc.h +++ b/sources/editor/partarc.h @@ -20,11 +20,11 @@ #include #include "customelementgraphicpart.h" /** - Cette classe represente un arc pouvant etre utilise pour composer le - dessin d'un element dans l'editeur d'element. + This class represents an elliptical arc primitive which may be used to + compose the drawing of an electrical element within the element editor. */ class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart { - // constructeurs, destructeur + // constructors, destructor public: PartArc(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartArc(); @@ -32,17 +32,18 @@ class PartArc : public QGraphicsEllipseItem, public CustomElementGraphicPart { private: PartArc(const PartArc &); - // attributs + // attributes private: int _angle; int start_angle; - // methodes + // methods public: enum { Type = UserType + 1101 }; /** - permet de caster un QGraphicsItem en PartArc avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartArc. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); diff --git a/sources/editor/partcircle.h b/sources/editor/partcircle.h index 73ac9c77e..21015215f 100644 --- a/sources/editor/partcircle.h +++ b/sources/editor/partcircle.h @@ -20,11 +20,11 @@ #include #include "customelementgraphicpart.h" /** - Cette classe represente un cercle pouvant etre utilise pour composer le - dessin d'un element dans l'editeur d'element. + This class represents a circle primitive which may be used to compose the + drawing of an electrical element within the element editor. */ class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart { - // constructeurs, destructeur + // constructors, destructor public: PartCircle(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartCircle(); @@ -32,12 +32,13 @@ class PartCircle : public QGraphicsEllipseItem, public CustomElementGraphicPart private: PartCircle(const PartCircle &); - // methodes + // methods public: enum { Type = UserType + 1102 }; /** - permet de caster un QGraphicsItem en PartCircle avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartCircle. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); diff --git a/sources/editor/partellipse.h b/sources/editor/partellipse.h index 56c9cf720..dfaa35c67 100644 --- a/sources/editor/partellipse.h +++ b/sources/editor/partellipse.h @@ -20,11 +20,11 @@ #include #include "customelementgraphicpart.h" /** - Cette classe represente une ellipse pouvant etre utilisee pour composer le - dessin d'un element dans l'editeur d'element. + This class represents an ellipse primitive which may be used to compose the + drawing of an electrical element within the element editor. */ class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart { - // constructeurs, destructeur + // constructors, destructor public: PartEllipse(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartEllipse(); @@ -32,12 +32,13 @@ class PartEllipse : public QGraphicsEllipseItem, public CustomElementGraphicPart private: PartEllipse(const PartEllipse &); - // methodes + // methods public: enum { Type = UserType + 1103 }; /** - permet de caster un QGraphicsItem en PartEllipse avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartEllipse. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); diff --git a/sources/editor/partline.h b/sources/editor/partline.h index d84f16beb..c294f208f 100644 --- a/sources/editor/partline.h +++ b/sources/editor/partline.h @@ -21,18 +21,16 @@ #include "customelementgraphicpart.h" #include "qet.h" /** - Cette classe represente une ligne pouvant etre utilisee pour composer le - dessin d'un element dans l'editeur d'element. - Une ligne est composee de deux points. Elle peut comporter des extremites - speciales definissables grace aux methodes setFirstEndType et - setSecondEndType. La taille des extremites est definissable via les - methodes setFirstEndLength et setSecondEndLength. - A noter que les extremites ne sont pas dessinees si la longueur requise - pour leur dessin n'est pas contenue dans la ligne. S'il n'y a de la place - que pour une seule extremite, c'est la premiere qui est privilegiee. + This class represents a line primitive which may be used to compose the + drawing of an electrical element within the element editor. Lines may have + specific visual ends (e.g. arrows) through the setFirstEndType and + setSecondEndType methods. Their size can be defined using the + setFirstEndLength and setSecondEndLength methods. Please note ends are not + drawn if the required length for their drawing is longer than the line itself. + In case there is room for a single end only, the first one get priority. */ class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart { - // constructeurs, destructeur + // constructors, destructor public: PartLine(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartLine(); @@ -40,20 +38,21 @@ class PartLine : public QGraphicsLineItem, public CustomElementGraphicPart { private: PartLine(const PartLine &); - // attributs + // attributes private: QET::EndType first_end; qreal first_length; QET::EndType second_end; qreal second_length; - // methodes + // methods public: enum { Type = UserType + 1104 }; /** - permet de caster un QGraphicsItem en PartLine avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartLine. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); diff --git a/sources/editor/partpolygon.h b/sources/editor/partpolygon.h index ef8f55df8..11d57c72c 100644 --- a/sources/editor/partpolygon.h +++ b/sources/editor/partpolygon.h @@ -20,11 +20,11 @@ #include #include "customelementgraphicpart.h" /** - Cette classe represente un polygone pouvant etre utilise pour composer le - dessin d'un element dans l'editeur d'element. + This class represents a polygon primitive which may be used to compose the + drawing of an electrical element within the element editor. */ class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart { - // constructeurs, destructeur + // constructors, destructor public: PartPolygon(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartPolygon(); @@ -32,16 +32,17 @@ class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart private: PartPolygon(const PartPolygon &); - // attributs + // attributes private: bool closed; - // methodes + // methods public: enum { Type = UserType + 1105 }; /** - permet de caster un QGraphicsItem en PartPolygon avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartPolygon. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("polygone", "element part name")); } @@ -61,16 +62,16 @@ class PartPolygon : public QGraphicsPolygonItem, public CustomElementGraphicPart }; /** - Specifie si le polygone doit etre ferme - @param c true pour un polygone ferme, false sinon + Whether the polygon should be closed. + @param c true for the polygon to be closed, false otherwise */ inline void PartPolygon::setClosed(bool c) { closed = c; } /** - Indique si le polygone est ferme - @return true si le polygone est ferme, false sinon + Indicate whether the polygon is closed. + @return true if the polygon is closed, false otherwise */ inline bool PartPolygon::isClosed() const { return(closed); diff --git a/sources/editor/partrectangle.h b/sources/editor/partrectangle.h index b22d7e799..c255d29cf 100644 --- a/sources/editor/partrectangle.h +++ b/sources/editor/partrectangle.h @@ -20,11 +20,11 @@ #include #include "customelementgraphicpart.h" /** - Cette classe represente un rectangle pouvant etre utilise pour composer le - dessin d'un element dans l'editeur d'element. + This class represents a rectangle primitive which may be used to compose the + drawing of an electrical element within the element editor. */ class PartRectangle : public QGraphicsRectItem, public CustomElementGraphicPart { - // constructeurs, destructeur + // constructors, destructor public: PartRectangle(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartRectangle(); @@ -32,12 +32,13 @@ class PartRectangle : public QGraphicsRectItem, public CustomElementGraphicPart private: PartRectangle(const PartRectangle &); - // methodes + // methods public: enum { Type = UserType + 1109 }; /** - permet de caster un QGraphicsItem en PartRectangle avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartRectangle. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0); diff --git a/sources/editor/partterminal.h b/sources/editor/partterminal.h index 9cb40052b..35c8bb376 100644 --- a/sources/editor/partterminal.h +++ b/sources/editor/partterminal.h @@ -21,28 +21,29 @@ #include "qet.h" #include /** - Cette classe represente une borne pouvant etre utilisee pour composer le - dessin d'un element dans l'editeur d'element. + This class represents a terminal which may be used to compose the drawing of + an electrical element within the element editor. */ class PartTerminal : public CustomElementPart, public QGraphicsItem { public: - // constructeurs, destructeur + // constructors, destructor PartTerminal(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartTerminal(); private: PartTerminal(const PartTerminal &); - // attributs + // attributes private: QET::Orientation _orientation; QPointF second_point; - // methodes + // methods public: enum { Type = UserType + 1106 }; /** - permet de caster un QGraphicsItem en PartTerminal avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartTerminal. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("borne", "element part name")); } diff --git a/sources/editor/parttext.h b/sources/editor/parttext.h index 0172e66da..d5fdf4df0 100644 --- a/sources/editor/parttext.h +++ b/sources/editor/parttext.h @@ -21,13 +21,13 @@ #include "customelementpart.h" class TextEditor; /** - Cette classe represente un texte pouvant etre utilise pour composer le - dessin d'un element dans l'editeur d'element. + This class represents an static text primitive which may be used to compose + the drawing of an electrical element within the element editor. */ class PartText : public QGraphicsTextItem, public CustomElementPart { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: PartText(QETElementEditor *, QGraphicsItem * = 0, ElementScene * = 0); virtual ~PartText(); @@ -35,12 +35,13 @@ class PartText : public QGraphicsTextItem, public CustomElementPart { private: PartText(const PartText &); - // methodes + // methods public: enum { Type = UserType + 1107 }; /** - permet de caster un QGraphicsItem en PartText avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartText. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("texte", "element part name")); } diff --git a/sources/editor/parttextfield.h b/sources/editor/parttextfield.h index a44bfd6d8..74e3df95d 100644 --- a/sources/editor/parttextfield.h +++ b/sources/editor/parttextfield.h @@ -22,15 +22,15 @@ class TextFieldEditor; 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. + This class represents an editable text field which may be used to compose the + drawing of an electrical element within the element editor. Users may specify + a default value. The field will remain editable once the element is added onto + a diagram. lorsque l'element sera pose sur un schema. */ class PartTextField : public QGraphicsTextItem, public CustomElementPart { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: PartTextField(QETElementEditor *, QGraphicsItem * = 0, QGraphicsScene * = 0); virtual ~PartTextField(); @@ -38,15 +38,16 @@ class PartTextField : public QGraphicsTextItem, public CustomElementPart { private: PartTextField(const PartTextField &); - // attributs + // attributes bool follow_parent_rotations; - // methodes + // methods public: enum { Type = UserType + 1108 }; /** - permet de caster un QGraphicsItem en PartTextField avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + PartTextField. + @return the QGraphicsItem type */ virtual int type() const { return Type; } virtual QString name() const { return(QObject::tr("champ de texte", "element part name")); } diff --git a/sources/editor/polygoneditor.h b/sources/editor/polygoneditor.h index ab9868916..125e669fb 100644 --- a/sources/editor/polygoneditor.h +++ b/sources/editor/polygoneditor.h @@ -21,14 +21,13 @@ class PartPolygon; class StyleEditor; /** - Cette classe represente le widget d'edition d'un polygone dans l'editeur - d'element. + This class provides a widget to edit polygons within the element editor. */ class PolygonEditor : public ElementItemEditor { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: PolygonEditor(QETElementEditor *, PartPolygon * = 0, QWidget * = 0); virtual ~PolygonEditor(); @@ -36,14 +35,14 @@ class PolygonEditor : public ElementItemEditor { private: PolygonEditor(const PolygonEditor &); - // attributs + // attributes private: PartPolygon *part; StyleEditor *style_; QTreeWidget points_list; QCheckBox close_polygon; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/qetelementeditor.h b/sources/editor/qetelementeditor.h index d52b10e5d..44649f7c3 100644 --- a/sources/editor/qetelementeditor.h +++ b/sources/editor/qetelementeditor.h @@ -26,72 +26,71 @@ class ElementItemEditor; 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). + This class represents an element editor, allowing users to draw, change and + configure a particular electrical element. */ class QETElementEditor : public QETMainWindow { Q_OBJECT - // constructeur, destructeur + // constructor, destructor public: QETElementEditor(QWidget * = 0); virtual ~QETElementEditor(); private: QETElementEditor(const QETElementEditor &); - // attributs + // attributes private: - /// booleen indiquant si l'editeur est en mode "lecture seule" ou non + /// whether the editor is "read-only" bool read_only; /// menus QMenu *file_menu, *edit_menu, *paste_from_menu, *display_menu, *tools_menu; - /// vue sur la scene d'edition + /// view widget for the editing scene ElementView *ce_view; - /// scene d'edition + /// editing scene ElementScene *ce_scene; - /// container pour les widgets d'edition des parties + /// container for widgets dedicated to primitive edition QDockWidget *tools_dock; - /// Pile de widgets pour tools_dock + /// Stack of widgets for tools_dock QStackedWidget *tools_dock_stack_; - /// label affiche lors de la selection de plusieurs elements + /// label displayed when several primitives are selected QLabel *default_informations; - /// Hash permettant d'acceder aux widgets d'editions disponibles + /// Hash associating primitive names with their matching edition widget QHash editors_; - /// ScrollArea pour le DockWidget affichant des infos sur la partie selectionnee + /// ScrollArea for the tools_dock DockWidget QScrollArea *tools_dock_scroll_area_; - /// container pour la liste des annulations + /// container for the undo list QDockWidget *undo_dock; - /// Container pour la liste des parties + /// Container for the list of existing primitives QDockWidget *parts_dock; - /// Liste des parties + /// List of primitives QListWidget *parts_list; - /// actions du menu fichier + /// actions for the "file" menu QAction *new_element, *open, *open_file, *save, *save_as, *save_as_file, *reload, *quit; - /// actions du menu edition + /// actions for the "edit" menu QAction *selectall, *deselectall, *inv_select; QAction *cut, *copy, *paste, *paste_in_area, *paste_from_file, *paste_from_elmt; QAction *undo, *redo; QAction *edit_delete, *edit_size_hs, *edit_names, *edit_ori, *edit_author; QAction *edit_raise, *edit_lower, *edit_backward, *edit_forward; - /// actions du menu affichage + /// actions for the "display" menu QAction *zoom_in, *zoom_out, *zoom_fit, *zoom_reset; - /// barres d'outils + /// toolbars QToolBar *parts_toolbar, *main_toolbar, *view_toolbar, *depth_toolbar, *element_toolbar; - /// actions de la barre d'outils + /// toolbars actions QActionGroup *parts; QAction *move, *add_line, *add_circle, *add_rectangle, *add_ellipse, *add_polygon, *add_text; QAction *add_arc, *add_terminal, *add_textfield; - /// titre minimal + /// minimum window title QString min_title; - /// Nom de fichier de l'element edite + /// filename of the currently edited element QString filename_; - /// Emplacement de l'element edite + /// location of the currently edited element ElementsLocation location_; - /// booleen indiquant si l'element en cours d'edition provient d'un fichier ou d'un emplacement + /// whether the currently edited element comes from a file or a location bool opened_from_file; - // methodes + // methods public: void setSize(const QSize &); QSize size() const; @@ -158,7 +157,7 @@ class QETElementEditor : public QETMainWindow { }; /** - @param siz La nouvelle taille de l'element edite + @param siz The new size for the currently edited element */ inline void QETElementEditor::setSize(const QSize &siz) { ce_scene -> setWidth(siz.width()); @@ -166,7 +165,7 @@ inline void QETElementEditor::setSize(const QSize &siz) { } /** - @return la taille de l'element edite + @return the size of the currently edited element */ inline QSize QETElementEditor::size() const { return( @@ -178,56 +177,56 @@ inline QSize QETElementEditor::size() const { } /** - @param hs Le nouveau point de saisie de l'element edite + @param hs The new hotspot for the currently edited element */ inline void QETElementEditor::setHotspot(const QPoint &hs) { ce_scene -> setHotspot(hs); } /** - @return le point de saisie de l'element edite + @return the hotspot of the currently edited element */ inline QPoint QETElementEditor::hotspot() const { return(ce_scene -> hotspot()); } /** - @param nameslist le nouvel ensemble de noms de l'element edite + @param nameslist the new list of names for the currently edited element */ inline void QETElementEditor::setNames(const NamesList &nameslist) { ce_scene -> setNames(nameslist); } /** - @param orientation_set le nouvel ensemble d'orientations de l'element edite + @param orientation_set the new set of orientations for the currently edited element */ inline void QETElementEditor::setOrientations(const OrientationSet &orientation_set) { ce_scene -> setOrientations(orientation_set); } /** - @return le nouvel ensemble d'orientations de l'element edite + @param the set of orientations for the currently edited element */ inline OrientationSet QETElementEditor::orientations() const { return(ce_scene -> orientations()); } /** - @return l'emplacement de l'element edite + @return the location of the currently edited element */ inline ElementsLocation QETElementEditor::location() const { return(location_); } /** - @return le nom de fichier de l'element edite + @return the filename of the currently edited element */ inline QString QETElementEditor::fileName() const { return(filename_); } /** - @return la scene d'edition de l'element + @return the editing scene */ inline ElementScene *QETElementEditor::elementScene() const { return(ce_scene); diff --git a/sources/editor/rectangleeditor.h b/sources/editor/rectangleeditor.h index add404b4c..f8d25a0e2 100644 --- a/sources/editor/rectangleeditor.h +++ b/sources/editor/rectangleeditor.h @@ -22,25 +22,24 @@ class PartRectangle; class StyleEditor; /** - Cette classe represente le widget d'edition d'un rectangle dans l'editeur - d'element. + This class provides a widget to edit rectangles within the element editor. */ class RectangleEditor : public ElementItemEditor { Q_OBJECT - //constructeurs, destructeur + // constructors, destructor public: RectangleEditor(QETElementEditor *, PartRectangle * = 0, QWidget * = 0); virtual ~RectangleEditor(); private: RectangleEditor(const RectangleEditor &); - // attributs + // attributes private: PartRectangle *part; StyleEditor *style_; QLineEdit *x, *y, *w, *h; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/styleeditor.h b/sources/editor/styleeditor.h index 26c9b3890..904a6f364 100644 --- a/sources/editor/styleeditor.h +++ b/sources/editor/styleeditor.h @@ -21,14 +21,14 @@ #include "elementitemeditor.h" 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. + This class provides a widget to edit styles (color, pen style and thickness, + filling, antialiasing) common to most primitives within the element editor. + Its appendWidget() method makes the insertion of another widget below it + easier. */ class StyleEditor : public ElementItemEditor { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: StyleEditor(QETElementEditor *, CustomElementGraphicPart * = 0, QWidget * = 0); virtual ~StyleEditor(); @@ -36,7 +36,7 @@ class StyleEditor : public ElementItemEditor { private: StyleEditor(const StyleEditor &); - // attributs + // attributes private: CustomElementGraphicPart *part; QVBoxLayout *main_layout; @@ -46,7 +46,7 @@ class StyleEditor : public ElementItemEditor { QRadioButton *black_filling, *white_filling; QCheckBox *antialiasing; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/terminaleditor.h b/sources/editor/terminaleditor.h index dd44f7fed..c615ce2d0 100644 --- a/sources/editor/terminaleditor.h +++ b/sources/editor/terminaleditor.h @@ -21,26 +21,24 @@ #include "elementitemeditor.h" class PartTerminal; /** - Cette classe represente un editeur de borne. - Elle permet d'editer a travers une interface graphique les - proprietes d'une borne d'element. + This class provides a widget to edit terminals within the element editor. */ class TerminalEditor : public ElementItemEditor { Q_OBJECT - // Constructeurs, destructeur + // Constructors, destructor public: TerminalEditor(QETElementEditor *, PartTerminal * = 0, QWidget * = 0); virtual ~TerminalEditor(); private: TerminalEditor(const TerminalEditor &); - // attributs + // attributes private: PartTerminal *part; QLineEdit *qle_x, *qle_y; QComboBox *orientation; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/texteditor.h b/sources/editor/texteditor.h index 12c664e64..8380c4e6c 100644 --- a/sources/editor/texteditor.h +++ b/sources/editor/texteditor.h @@ -22,20 +22,19 @@ class PartText; class QTextOrientationSpinBoxWidget; /** - Cette classe represente un editeur de champ de texte non editable - Elle permet d'editer a travers une interface graphique les - proprietes d'un champ de texte non editable. + This class provides a widget to edit static texts within the element + editor. */ class TextEditor : public ElementItemEditor { Q_OBJECT - // Constructeurs, destructeur + // Constructors, destructor public: TextEditor(QETElementEditor *, PartText * = 0, QWidget * = 0); virtual ~TextEditor(); private: TextEditor(const TextEditor &); - // attributs + // attributes private: PartText *part; QLineEdit *qle_x, *qle_y, *qle_text; @@ -44,7 +43,7 @@ class TextEditor : public ElementItemEditor { QRadioButton *black_color_, *white_color_; QTextOrientationSpinBoxWidget *rotation_angle_; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/editor/textfieldeditor.h b/sources/editor/textfieldeditor.h index bd82149da..07b8ca147 100644 --- a/sources/editor/textfieldeditor.h +++ b/sources/editor/textfieldeditor.h @@ -22,21 +22,18 @@ class PartTextField; class QTextOrientationSpinBoxWidget; /** - Cette classe represente un editeur de champ de texte - Elle permet d'editer a travers une interface graphique les - proprietes d'un champ de texte : taille de la police, texte par - defaut et position. + This class provides a widget to edit text fields within the element editor. */ class TextFieldEditor : public ElementItemEditor { Q_OBJECT - // Constructeurs, destructeur + // Constructors, destructor public: TextFieldEditor(QETElementEditor *, PartTextField * = 0, QWidget * = 0); virtual ~TextFieldEditor(); private: TextFieldEditor(const TextFieldEditor &); - // attributs + // attributes private: PartTextField *part; QLineEdit *qle_x, *qle_y, *qle_text; @@ -44,7 +41,7 @@ class TextFieldEditor : public ElementItemEditor { QCheckBox *rotate; QTextOrientationSpinBoxWidget *rotation_angle_; - // methodes + // methods public: virtual bool setPart(CustomElementPart *); virtual CustomElementPart *currentPart() const; diff --git a/sources/element.cpp b/sources/element.cpp index 9f8faabfa..462e971c5 100644 --- a/sources/element.cpp +++ b/sources/element.cpp @@ -29,7 +29,7 @@ Element::Element(QGraphicsItem *parent, Diagram *scene) : QObject(), QGraphicsItem(parent, scene), - internal_connections(false), + internal_connections_(false), must_highlight_(false), first_move_(true) { diff --git a/sources/element.h b/sources/element.h index 023f0f53e..ae7498a9f 100644 --- a/sources/element.h +++ b/sources/element.h @@ -23,14 +23,14 @@ class Diagram; class ElementTextItem; /** - Cette classe abstraite represente un element electrique. + This is the base class for electrical elements. */ class Element : public QObject, public QGraphicsItem { Q_OBJECT Q_INTERFACES(QGraphicsItem) - // constructeurs, destructeur + // constructors, destructor public: Element(QGraphicsItem * = 0, Diagram * = 0); virtual ~Element(); @@ -38,16 +38,16 @@ class Element : public QObject, public QGraphicsItem { private: Element(const Element &); - // attributs + // attributes public: enum { Type = UserType + 1000 }; protected: /** - orientations de l'element : - * autorisations - * orientation en cours - * orientation par defaut + Hold orientations for the element : + * allowed orientations + * current orientation + * default orientation @see OrientationSet */ OrientationSet ori; @@ -57,34 +57,35 @@ class Element : public QObject, public QGraphicsItem { QPoint hotspot_coord; QPixmap preview; - // methodes + // methods public: /** - permet de caster un QGraphicsItem en Element avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into an + Element. + @return the QGraphicsItem type */ virtual int type() const { return Type; } - // methodes virtuelles pures a definir dans les classes enfants - /// @return la liste des bornes de cet element + // pure virtual methods to be defined in derived classes + /// @return the list of terminals for this element virtual QList terminals() const = 0; - /// @return la liste des conducteurs relies a cet element + /// @return the list of conductors attached to this element virtual QList conductors() const = 0; - /// @return la liste des champs de textes de cet element + /// @return the list of text items attached to this element virtual QList texts() const = 0; - /// @return le nombre de bornes actuel de cet element + /// @return the current number of terminals of this element virtual int terminalsCount() const = 0; - /// @return le nombre de bornes minimum de cet element + /// @return the minimum number of terminals for this element virtual int minTerminalsCount() const = 0; - /// @return le nombre de bornes maximum de cet element + /// @return the maximum number of terminals for this element virtual int maxTerminalsCount() const = 0; /** - Dessine l'element + Draw this element */ virtual void paint(QPainter *, const QStyleOptionGraphicsItem *) = 0; - /// @return L'ID du type de l'element + /// @return This element type ID virtual QString typeId() const = 0; - /// @return Le nom de l'element + /// @return the human name for this element virtual QString name() const = 0; Diagram *diagram() const; @@ -96,28 +97,28 @@ class Element : public QObject, public QGraphicsItem { QSize size() const; QPixmap pixmap(); - // methodes relatives au point de saisie + // methods related to the hotspot QPoint setHotspot(QPoint); QPoint hotspot() const; - // methodes relatives a la selection + // selection-related methods void select(); void deselect(); - // methodes relatives a la position + // position-related methods void setPos(const QPointF &); void setPos(qreal, qreal); - // methodes relatives aux connexions internes + // methods related to internal connections bool internalConnections(); void setInternalConnections(bool); - // methodes relatives aux fichiers XML + // methods related to XML import/export static bool valideXml(QDomElement &); virtual bool fromXml(QDomElement &, QHash &, bool = false); virtual QDomElement toXml(QDomDocument &, QHash &) const; - // methodes d'acces aux possibilites d'orientation + // orientation-related methods bool setOrientation(QET::Orientation o); const OrientationSet &orientation() const; @@ -128,7 +129,7 @@ class Element : public QObject, public QGraphicsItem { void mouseReleaseEvent(QGraphicsSceneMouseEvent *); private: - bool internal_connections; + bool internal_connections_; bool must_highlight_; bool first_move_; void drawSelection(QPainter *, const QStyleOptionGraphicsItem *); @@ -137,27 +138,26 @@ class Element : public QObject, public QGraphicsItem { }; /** - Permet de savoir si l'element accepte les connexions internes, - c'est-a-dire que ses bornes peuvent etre reliees entre elles - @return true si l'element accepte les connexions internes, false sinon + Indicate whether this element allows internal connections, i.e. whether its + terminals can be linked together using a conductor. + @return true if internal connections are accepted, false otherwise */ inline bool Element::internalConnections() { - return(internal_connections); + return(internal_connections_); } /** - Permet de specifier si l'element accepte les connexions internes, - c'est-a-dire que ses bornes peuvent etre reliees entre elles - @param ic true pour que l'element accepte les connexions internes, false pour - qu'il les interdise + Specify whether this element allows internal connections, i.e. whether its + terminals can be linked together using a conductor. + @return true for internal connections to be accepted, false otherwise */ inline void Element::setInternalConnections(bool ic) { - internal_connections = ic; + internal_connections_ = ic; } /** - Permet de connaitre l'orientation actuelle de l'element - @return L'orientation actuelle de l'element + Indicate the current orientation of this element + @return the current orientation of this element */ inline const OrientationSet & Element::orientation() const { return(ori); diff --git a/sources/elementdefinition.h b/sources/elementdefinition.h index 6694d8b13..e8da545b0 100644 --- a/sources/elementdefinition.h +++ b/sources/elementdefinition.h @@ -22,39 +22,37 @@ class ElementsCollection; class MoveElementsHandler; /** - Cette classe abstraite represente une definition XML d'element, - c'est-a-dire qu'elle definit l'interface a implementer pour acceder a la - definition XML d'un element, que celle-ci proviennt d'un fichier *.elmt ou - d'un fichier projet QET. + This abstract class represents a way to access the XML definition of an + element, be it from a .elmt file or from a QET project file. */ class ElementDefinition : public ElementsCollectionItem { Q_OBJECT public: /** - Constructeur + Constructor */ ElementDefinition(ElementsCategory *category = 0, ElementsCollection *collection = 0) : ElementsCollectionItem(category), parent_category_(category), parent_collection_(collection) {}; /** - Destructeur + Destructor */ virtual ~ElementDefinition() {}; /** - @return la definition XML de l'element + @return the XML definition of a particular element */ virtual QDomElement xml() = 0; /** - Change la definition XML de l'element - @param xml_element Nouvelle definition XML de l'element - @return true si l'operation s'est bien passee, false sinon + Specify the XML definition of a particular element + @param xml_element New XML definition + @return true if everything went well, false otherwise */ virtual bool setXml(const QDomElement &xml_element) = 0; /** - @return true si la definition n'est pas disponible + @return true if the definition is not available */ virtual bool isNull() const = 0; @@ -63,35 +61,36 @@ class ElementDefinition : public ElementsCollectionItem { virtual bool hasParentCategory(); /** - @return true si l'element est rattache a une collection d'elements - Un element appartenant a une collection a forcement un chemin virtuel. + @return whether the element is attached to an elements collection + An elemet which belongs to a collection always has a virtual path. */ virtual bool hasParentCollection(); virtual bool isChildOf(ElementsCollectionItem *); /** - @return la collection d'element a laquelle appartient cet element + @return the elements collections this element belongs to */ virtual ElementsCollection *parentCollection(); virtual QETProject *project(); virtual void setProject(QETProject *); /** - @return le protocole utilise par la collection a laquelle appartient cet element + @return the "protocol" used by the parent collection */ virtual QString protocol(); /** - Ne fait rien. + Has no effect. */ virtual void setProtocol(const QString &); /** - @return le chemin virtuel complet de cet element (protocole + chemin) + @return the full virtual path for this element (i.e. "protocol" + path) */ virtual QString fullVirtualPath(); /** - @return l'emplacement de cet element + @return the location of this element, as an ElementsLocation object. + @see ElementsLocation */ virtual ElementsLocation location(); @@ -107,10 +106,10 @@ class ElementDefinition : public ElementsCollectionItem { virtual ElementsCollectionItem *copy(ElementsCategory *, MoveElementsHandler *, bool = true); virtual ElementsCollectionItem *move(ElementsCategory *, MoveElementsHandler *); - virtual bool isCollection() const { return(false); } ///< @return toujours false - virtual bool isRootCategory() const { return(false); } ///< @return toujours false - virtual bool isCategory() const { return(false); } ///< @return toujours false - virtual bool isElement() const { return(true ); } ///< @return toujours true + virtual bool isCollection() const { return(false); } ///< @return always false + virtual bool isRootCategory() const { return(false); } ///< @return always false + virtual bool isCategory() const { return(false); } ///< @return always false + virtual bool isElement() const { return(true ); } ///< @return always true virtual ElementsCollection *toCollection(); virtual ElementsCategory *toCategory(); virtual ElementsCategory *toPureCategory(); @@ -121,7 +120,7 @@ class ElementDefinition : public ElementsCollectionItem { void copy(MoveElementsDescription *); void move(MoveElementsDescription *); - // attributs + // attributes private: ElementsCategory *parent_category_; ElementsCollection *parent_collection_; diff --git a/sources/elementdeleter.h b/sources/elementdeleter.h index 6e83b6044..ec5f761e1 100644 --- a/sources/elementdeleter.h +++ b/sources/elementdeleter.h @@ -21,24 +21,23 @@ #include "elementslocation.h" #include /** - Cette classe represente une couche d'abstraction pour supprimer - un element de la collection d'elements. - Elle demande notamment confirmation a l'utilisateur. + This class provides an abstract way to delete an element from its parent + collection. Especially, it requires a confirmation from users. */ class ElementDeleter : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementDeleter(const ElementsLocation &, QWidget * = 0); virtual ~ElementDeleter(); private: ElementDeleter(const ElementsCategory &); - // methodes + // methods public slots: bool exec(); - // attributs + // attributes private: ElementsCollectionItem *element; }; diff --git a/sources/elementdialog.h b/sources/elementdialog.h index 0b74f401f..abc16054b 100644 --- a/sources/elementdialog.h +++ b/sources/elementdialog.h @@ -24,30 +24,30 @@ class QDialogButtonBox; class ElementsCategoriesList; class QFileNameEdit; /** - Cette classe permet d'acceder a plusieurs types de dialogues lies a la - selection d'element ou de categorie. + This class provides several dialogs to select an element or a category + (e.g. new or existing, for opening or for saving...). */ class ElementDialog : public QObject { Q_OBJECT // enumerations /** - Cette enum represente les configurations possible pour ce dialogue + This enum represents the available configurations for the required dialog */ enum { - OpenElement = 0, ///< Le dialogue sera en mode ouverture - SaveElement = 1, ///< Le dialogue sera en mode enregistrement - OpenCategory = 2, ///< Le dialogue concernera une categorie - SaveCategory = 3 ///< Le dialogue concernera un element + OpenElement = 0, ///< The dialog should open an element + SaveElement = 1, ///< The dialog should select an element for saving + OpenCategory = 2, ///< The dialog should open a category + SaveCategory = 3 ///< The dialog should select a category for saving }; - // constructeurs, destructeur + // constructors, destructor public: ElementDialog(uint = ElementDialog::OpenElement, QWidget * = 0, QObject * = 0); virtual ~ElementDialog(); private: ElementDialog(const ElementDialog &); - // methodes + // methods public: int exec(); ElementsLocation location() const; @@ -69,7 +69,7 @@ class ElementDialog : public QObject { private: void makeInterface(); - // attributs + // attributes private: uint mode_; ElementsLocation location_; diff --git a/sources/elementscategorieslist.h b/sources/elementscategorieslist.h index 9ae0c13b8..87b3593b8 100644 --- a/sources/elementscategorieslist.h +++ b/sources/elementscategorieslist.h @@ -25,13 +25,12 @@ class ElementsCollection; class ElementsCategory; class ElementDefinition; /** - Cette classe fournit une liste graphique des categories d'elements de - l'utilisateur. + This class provides a visual listing of available elements categories. */ class ElementsCategoriesList : public GenericPanel { Q_OBJECT - // Constructeurs, destructeur + // Constructors, destructor public: ElementsCategoriesList(bool = false, uint = QET::All, QWidget * = 0); virtual ~ElementsCategoriesList(); @@ -39,7 +38,7 @@ class ElementsCategoriesList : public GenericPanel { private: ElementsCategoriesList(const ElementsCategoriesList &); - // methodes + // methods public: ElementsLocation selectedLocation() const; bool selectLocation(const ElementsLocation &); @@ -57,7 +56,7 @@ class ElementsCategoriesList : public GenericPanel { signals: void locationChanged(const ElementsLocation &); - // attributs + // attributes private: bool display_elements_; int selectables_; diff --git a/sources/elementscategorieswidget.h b/sources/elementscategorieswidget.h index fb221562c..6821faa23 100644 --- a/sources/elementscategorieswidget.h +++ b/sources/elementscategorieswidget.h @@ -20,14 +20,13 @@ #include class ElementsCategoriesList; /** - Cette classe represente un widget integrant la liste des categories - de l'utilisteur surplombee de boutons permettant d'ajouter, de modifier - ou de supprimer des categories + This class provides a widget listing available elements categories along + with buttons to add, change or create categories. */ class ElementsCategoriesWidget : public QWidget { Q_OBJECT - // Constructeurs, destructeur + // Constructors, destructor public: ElementsCategoriesWidget(QWidget * = 0); virtual ~ElementsCategoriesWidget(); @@ -35,7 +34,7 @@ class ElementsCategoriesWidget : public QWidget { private: ElementsCategoriesWidget(const ElementsCategoriesWidget &); - // attributs + // attributes private: ElementsCategoriesList *elementscategorieslist; QToolBar *toolbar; @@ -44,7 +43,7 @@ class ElementsCategoriesWidget : public QWidget { QAction *action_open; QAction *action_delete; - // methodes + // methods public: ElementsCategoriesList &elementsCategoriesList() const; @@ -56,7 +55,7 @@ class ElementsCategoriesWidget : public QWidget { }; /** - @return La liste des categories d'elements du widget + @return The ElementsCategoriesList embedded within this widget. */ inline ElementsCategoriesList &ElementsCategoriesWidget::elementsCategoriesList() const { return(*elementscategorieslist); diff --git a/sources/elementscategory.h b/sources/elementscategory.h index 5abd2cfff..cb9214e5c 100644 --- a/sources/elementscategory.h +++ b/sources/elementscategory.h @@ -25,12 +25,13 @@ class ElementsCollection; class MoveElementsHandler; class MoveElementsDescription; /** - Cette classe abstraite represente une categorie d'elements. + This abstract class represents an elements category, i.e. a kind of + subfolder within elements collections. */ class ElementsCategory : public ElementsCollectionItem { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementsCategory(ElementsCategory * = 0, ElementsCollection * = 0); virtual ~ElementsCategory(); @@ -38,7 +39,7 @@ class ElementsCategory : public ElementsCollectionItem { private: ElementsCategory(const ElementsCategory &); - // Implementations de methodes virtuelles pures des classes parentes + // Implementations of pure virtual methods from parent classes public: virtual QETProject *project(); virtual void setProject(QETProject *); @@ -67,7 +68,7 @@ class ElementsCategory : public ElementsCollectionItem { virtual bool isEmpty(); virtual int count(); - // Methodes propres a la classe ElementsCategory + // Methods specific to the ElementsCategory class public: virtual QString name() const; virtual NamesList categoryNames() const; @@ -77,13 +78,13 @@ class ElementsCategory : public ElementsCollectionItem { void copy(MoveElementsDescription *); void move(MoveElementsDescription *); - // attributs + // attributes protected: - /// Collection parente + /// parent collection ElementsCollection *parent_collection_; - /// Categorie parente + /// parent category ElementsCategory *parent_category_; - /// Liste des noms de la categorie + /// names list for this category NamesList category_names; }; #endif diff --git a/sources/elementscategorydeleter.h b/sources/elementscategorydeleter.h index 9905f6818..eb0168ceb 100644 --- a/sources/elementscategorydeleter.h +++ b/sources/elementscategorydeleter.h @@ -21,26 +21,26 @@ #include "elementslocation.h" #include /** - Cette classe represente une couche d'abstraction pour supprimer - une categorie d'elements et les elements qu'elle contient. - Si la categorie racine d'une collection est fournie, elle sera - videe apres un avertissement. - Cette classe demande toujours confirmation a l'utilisateur par deux fois. + This class provide an abstract way to delete an elements category along with + its child elements and subcategories. It always requires a double confirmation + from users before actually proceeding to the deletion. + If the deletion of a whole elements collection is required, this class will + require an extra confirmation. */ class ElementsCategoryDeleter : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementsCategoryDeleter(const ElementsLocation &, QWidget * = 0); virtual ~ElementsCategoryDeleter(); private: ElementsCategoryDeleter(const ElementsCategory &); - // methodes + // methods public slots: bool exec(); - // attributs + // attributes private: ElementsCollectionItem *category; }; diff --git a/sources/elementscategoryeditor.h b/sources/elementscategoryeditor.h index 7f5d1976f..4a35c71f1 100644 --- a/sources/elementscategoryeditor.h +++ b/sources/elementscategoryeditor.h @@ -23,13 +23,13 @@ class ElementsCategory; class NamesListWidget; class QFileNameEdit; /** - Cette classe permet d'editer une categorie existante ou de creer une - categorie. + This class provides a dialog to edit an existing category or create a new + one. */ class ElementsCategoryEditor : public QDialog { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementsCategoryEditor(const ElementsLocation &, bool = true, QWidget * = 0); virtual ~ElementsCategoryEditor(); @@ -37,7 +37,7 @@ class ElementsCategoryEditor : public QDialog { private: ElementsCategoryEditor(const ElementsCategoryEditor &); - // attributs + // attributes private: ElementsCategory *category; QDialogButtonBox *buttons; @@ -46,7 +46,7 @@ class ElementsCategoryEditor : public QDialog { QFileNameEdit *internal_name_; bool mode_edit; - // methodes + // methods private: void buildDialog(); diff --git a/sources/elementscollection.h b/sources/elementscollection.h index 6e49de240..38ec07041 100644 --- a/sources/elementscollection.h +++ b/sources/elementscollection.h @@ -26,21 +26,21 @@ class ElementsCollectionCache; class ElementDefinition; class MoveElementsHandler; /** - Cette classe abstraite represente une collection d'elements. Il peut s'agir - de la collection QET, de la collection utilisateur ou encore de la - collection fournie par un fichier projet. + This abstract class represents an elements collection. For instance, it may + represent the collection provided along with QElectroTech, users custom + collections or collections embedded within QET project files. */ class ElementsCollection : public ElementsCollectionItem { Q_OBJECT public: - // constructeurs, destructeur + // constructors, destructor ElementsCollection(ElementsCollectionItem * = 0); virtual ~ElementsCollection(); private: ElementsCollection(const ElementsCollection &); - // Implementations de methodes virtuelles pures des classes parentes + // Implementations of pure virtual methodes from parent classes public: virtual QString title() const; virtual void setTitle(const QString &); @@ -81,10 +81,10 @@ class ElementsCollection : public ElementsCollectionItem { virtual bool isEmpty(); virtual int count(); - // Methodes propres a la classe ElementsCollection + // Methods specific to the ElementsCollection class public: /** - @return la categorie racine de cette collection + @return the root category of this collection */ virtual ElementsCategory *rootCategory() = 0; virtual ElementsCollectionItem *item(const QString &, bool = true); @@ -95,15 +95,15 @@ class ElementsCollection : public ElementsCollectionItem { signals: void elementsCollectionChanged(ElementsCollection *); - // attributs + // attributes protected: /// Title to be used when referring to this collection QString title_; /// Icon to be displayed when representing this collection QIcon icon_; - /// Protocole utilise pour acceder a cette collection + /// "Protocol" used to access this collection QString protocol_; - /// Projet auquel appartient cette collection + /// Project this collection belongs to, if any QETProject *project_; /// Optional cache used to improve performance ElementsCollectionCache *cache_; diff --git a/sources/elementscollectionitem.h b/sources/elementscollectionitem.h index 00039a319..8c6304e25 100644 --- a/sources/elementscollectionitem.h +++ b/sources/elementscollectionitem.h @@ -24,13 +24,13 @@ class ElementsCategory; class ElementDefinition; class MoveElementsHandler; /** - Cette interface est la classe mere pour toutes les classes - modelisant une partie d'une collection d'elements. + This interface is the base class for all classes representing a part of an + elements collection. */ class ElementsCollectionItem : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementsCollectionItem(ElementsCollectionItem *parent = 0) : QObject(parent) {}; virtual ~ElementsCollectionItem() {}; @@ -38,172 +38,170 @@ class ElementsCollectionItem : public QObject { private: ElementsCollectionItem(const ElementsCollectionItem &); - // methodes + // methods public: - /// @return true si l'item est une collection d'elements + /// @return whether the item is an elements collection virtual bool isCollection() const = 0; - /// @return true si l'item est une categorie d'elements + /// @return whether the item is an elements category virtual bool isCategory() const = 0; - /// @return true si l'item est la categorie racine de sa collection + /// @return whether the item is the root category of a collection virtual bool isRootCategory() const = 0; - /// @return true si l'item est un element + /// @return whether the item is an element virtual bool isElement() const = 0; /** - @return un pointeur sur cet item en tant que collection, ou 0 si cet item n'est pas une collection + @return a pointer to this item as a collection object, or 0 if this item is not a collection. */ virtual ElementsCollection *toCollection() = 0; /** - @return un pointeur sur cet item en tant que categorie. - Si cet objet est une collection, un pointeur valide vers sa categorie racine sera renvoye. - Si cet objet est une categorie, un pointeur valide sera renvoye. - Si cet objet est un element, un pointeur valide vers sa categorie parente sera renvoye. + @return a pointer to this item as a category object. + If this item is a collection, return a valid pointer to its root category. + If this item is a category, return a valid pointer. + If this item is an element, return a valid pointer to its parent category. */ virtual ElementsCategory *toCategory() = 0; /** - @return un pointeur sur cet item en tant que categorie si et seulement - si cet objet est une categorie non racine. - Si cet objet est une collection, 0 sera retourne - Si cet objet est une categorie, un pointeur valide sera renvoye. - Si cet objet est un element, 0 sera retourne. + @return a pointer to this item as a category if and only if this object is a non-root elements category. + If this item is a collection, return 0. + If this item is a category, return a valid pointer. + If this item is an element, return 0. */ virtual ElementsCategory *toPureCategory() = 0; /** - @return un pointeur sur cet item en tant qu'element + @return a pointer to this item as an element object. */ virtual ElementDefinition *toElement() = 0; /** - Copie l'item vers la destination indiquee en parametre ; le booleen - doit etre a true pour une copie recursive, a false sinon. + Copy this item to the specified target, using a specific strategy to handle + corner cases (errors, conflicts, confirmations, ...), recursively or not. */ virtual ElementsCollectionItem *copy(ElementsCategory *, MoveElementsHandler *, bool = true) = 0; /** - Deplace l'item vers la destination indiquee en parametre. + Move this item to the specified destination, using a specific strategy to + handle corner cases (errors, conflicts, confirmations, ...). */ virtual ElementsCollectionItem *move(ElementsCategory *, MoveElementsHandler *) = 0; - /// Recharge l'item + /// Reload this item virtual void reload() = 0; - /// @return true si l'item existe + /// @return whether the item really exists virtual bool exists() = 0; - /// @return true si l'item est lisible + /// @return whether the item is readable virtual bool isReadable() = 0; - /// @return true si l'item est accessible en ecriture + /// @return whether the item is writable virtual bool isWritable() = 0; /** - supprime le contenu de l'item (categories et elements) sans supprimer - l'item lui-meme - @return true si l'operation a reussi, false sinon + Delete the item content (elements and subcategories) without deleting the item itself. + @return true if the operation succeeded, false otherwise */ virtual bool removeContent() = 0; /** - supprime le contenu de l'item (categories et elements) puis l'item - lui-meme - @return true si l'operation a reussi, false sinon + Delete the item content (elements and categories) before deleting the item itself. + @return true if the operation succeeded, false otherwise */ virtual bool remove() = 0; /** - Enregistre l'item - @return true si l'operation a reussi, false sinon + Save the item. + @return true if the operation succeeded, false otherwise */ virtual bool write() = 0; /** - @return le projet auquel appartient cet item + @return the project this item belongs to */ virtual QETProject *project() = 0; /** - Definit le projet auquel appartient cet item + Set the project this item belongs to. */ virtual void setProject(QETProject *) = 0; /** - @return le protocole utilise pour acceder a la collection de cet item + @return the protocol used to access the collection this item belongs to. */ virtual QString protocol() = 0; /** - Definit le protocole a utiliser pour acceder a la collection de cet item + Set the protocol used to access the collection this item belongs to. */ virtual void setProtocol(const QString &) = 0; /** - @return la categorie parente de cet item, ou 0 si celui-ci n'en possede pas + @return the parent category of this item, or 0 if it does not have any */ virtual ElementsCategory *parentCategory() = 0; /** - @return la liste des categories parentes de cet item + @return the list of parent categories of this item */ virtual QList parentCategories() = 0; /** - @return true si cet item possede une categorie parente, false sinon + @return whether this item has a parent category */ virtual bool hasParentCategory() = 0; /** - @return la collection parente de cet item, ou 0 si celui-ci n'en possede pas + @return the parent collection of this item, or 0 if it does not have any */ virtual ElementsCollection *parentCollection() = 0; /** - @return true si cet item possede une collection parente, false sinon + @return whether this item belongs to an elements collection */ virtual bool hasParentCollection() = 0; /** - @param other_item Autre item - @return true si other_item est parent (direct ou indirect) de other_item, false sinon + @param other_item other item + @return whether \a other_item is a direct or indirect parent of this item. */ virtual bool isChildOf(ElementsCollectionItem *other_item) = 0; /** - @return le nom de cet item dans l'arborescence + @return the name of this item within the elements tree. */ virtual QString pathName() const = 0; /** - @return le chemin virtuel vers cet item dans l'arborescence, sans le protocole + @return the virtual path to this item within the elements tree, protocol excluded. */ virtual QString virtualPath() = 0; /** - @return le chemin virtuel vers cet item dans l'arborescence, avec le protocole + @return the virtual path to this item within the elements tree, protocol included. */ virtual QString fullVirtualPath() = 0; /** - @return l'emplacement de cet item + @return the location of this item */ virtual ElementsLocation location() = 0; /** - @return true si cet item est represente quelque part sur le systeme de fichiers + @return whether this item is stored somewhere on the filesystem. */ virtual bool hasFilePath() = 0; /** - @return le chemin de cet item sur le systeme de fichiers + @return the path of this item within the filesystem */ virtual QString filePath() = 0; /** - Definit le chemin de cet item sur le systeme de fichiers + Set the path to this item within the filesystem. */ virtual void setFilePath(const QString &) = 0; /** - @return la liste des categories d'elements contenues dans cet item + @return the list of direct child elements category within this item */ virtual QList categories() = 0; /** - @return une categorie a partir de son chemin virtuel + @return the specified category, provided its virtual path */ virtual ElementsCategory *category(const QString &) = 0; /** - @return une nouvelle categorie creee a partir d'un chemin virtuel + @return a new category, created from the spcified virtual path */ virtual ElementsCategory *createCategory(const QString &) = 0; /** - @return la liste des elements contenus dans cet item + @return the list of child elements within this item */ virtual QList elements() = 0; /** - @return un element a partir de son chemin virtuel + @return an element, provided its virtual path */ virtual ElementDefinition *element(const QString &) = 0; /** - @return un nouvel element cree a partir d'un chemin virtuel + @return a new element, created from the specified virtual path */ virtual ElementDefinition *createElement(const QString &) = 0; /** - @return true if the item is empty, false otherwise + @return whether the item is empty */ virtual bool isEmpty() = 0; /** diff --git a/sources/elementslocation.h b/sources/elementslocation.h index 4b583b315..44f459a89 100644 --- a/sources/elementslocation.h +++ b/sources/elementslocation.h @@ -26,7 +26,7 @@ class QETProject; encapsule un chemin virtuel. */ class ElementsLocation { - // constructeurs, destructeur et operateur d'affectation + // constructors, destructor et operateur d'affectation public: ElementsLocation(); explicit ElementsLocation(const QString &, QETProject * = 0); @@ -36,7 +36,7 @@ class ElementsLocation { bool operator==(const ElementsLocation &) const; bool operator!=(const ElementsLocation &) const; - // methodes + // methods public: QString baseName() const; QString path() const; @@ -50,7 +50,7 @@ class ElementsLocation { void fromString(const QString &); static ElementsLocation locationFromString(const QString &); - // attributs + // attributes private: QString path_; QETProject *project_; diff --git a/sources/elementsmover.h b/sources/elementsmover.h index 2c8871dcf..4c585e5b7 100644 --- a/sources/elementsmover.h +++ b/sources/elementsmover.h @@ -22,25 +22,25 @@ class ConductorTextItem; class Diagram; /** - Cette classe permet de gerer le deplacement des differents items composant - un schema electrique sur ce schema. + This class manages the interactive movement of different items (elements, + conductors, text items) on a particular diagram. */ class ElementsMover { - // constructeurs, destructeur + // constructors, destructor public: ElementsMover(); virtual ~ElementsMover(); private: ElementsMover(const ElementsMover &); - // methodes + // methods public: bool isReady() const; int beginMovement(Diagram *, QGraphicsItem * = 0); void continueMovement(const QPointF &); void endMovement(); - // attributs + // attributes private: bool movement_running_; QPointF current_movement_; diff --git a/sources/elementspanel.h b/sources/elementspanel.h index 222dd7762..e24c44e05 100644 --- a/sources/elementspanel.h +++ b/sources/elementspanel.h @@ -31,14 +31,15 @@ class ElementsCollectionCache; class TitleBlockTemplatesFilesCollection; /** - Cette classe represente le panel d'appareils (en tant qu'element - graphique) dans lequel l'utilisateur choisit les composants de - son choix et les depose sur le schema par drag'n drop. + This class provides a tree widget listing known filesystem-based elements + collections and opened project files along with their content (diagrams, + embedded collections, ...). It enables users to perform various actions on + the displayed content */ class ElementsPanel : public GenericPanel { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementsPanel(QWidget * = 0); virtual ~ElementsPanel(); @@ -48,11 +49,11 @@ class ElementsPanel : public GenericPanel { // methods public: - // methodes pour determiner ce que represente un item donne + // methods used to determine what is represented by a particular visual item bool itemIsWritable(QTreeWidgetItem *) const; bool selectedItemIsWritable() const; - // methodes pour obtenir ce que represente un item donne + // methods used to get what is represented by a particular visual item ElementsCollectionItem *collectionItemForItem(QTreeWidgetItem *) const; ElementsCollectionItem *selectedItem() const; ElementsCategory *categoryForItem(QTreeWidgetItem *); diff --git a/sources/elementspanelwidget.h b/sources/elementspanelwidget.h index 22487b2c8..3155a3e19 100644 --- a/sources/elementspanelwidget.h +++ b/sources/elementspanelwidget.h @@ -20,13 +20,14 @@ #include #include "elementspanel.h" /** - Cette classe est un widget qui contient le panel d'elements surplombe d'une - barre d'outils avec differentes actions pour gerer les elements. + This class embeds an elements panel under a toolbar providing various actions + to manage elements. + @see ElementsPanel */ class ElementsPanelWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementsPanelWidget(QWidget * = 0); virtual ~ElementsPanelWidget(); @@ -34,7 +35,7 @@ class ElementsPanelWidget : public QWidget { private: ElementsPanelWidget(const ElementsPanelWidget &); - // attributs + // attributes private: ElementsPanel *elements_panel; QToolBar *toolbar, *filter_toolbar; @@ -51,7 +52,7 @@ class ElementsPanelWidget : public QWidget { ElementsCollectionItem *dnd_item_src_, *dnd_item_dst_; QProgressBar *progress_bar_; - // methodes + // methods public: inline ElementsPanel &elementsPanel() const; @@ -110,7 +111,7 @@ class ElementsPanelWidget : public QWidget { }; /** - @return Le panel d'elements imbrique dans ce widget + @return The elements panel embedded within this widget. */ inline ElementsPanel &ElementsPanelWidget::elementsPanel() const { return(*elements_panel); diff --git a/sources/elementtextitem.h b/sources/elementtextitem.h index fbaa28250..21acb7846 100644 --- a/sources/elementtextitem.h +++ b/sources/elementtextitem.h @@ -22,22 +22,19 @@ class Diagram; class Element; /** - Cette classe represente un champ de texte rattache a un element. - Il est editable et deplacable (relativement a son element parent) par - l'utilisateur. - Il peut egalement etre oriente a un angle quelconque. - Il est possible pour ce champ de texte de rester dans le sens de la lecture - malgre les rotations de son element parent. + This class represents a text item attached to an element. Users can change its + value, adjust its position (defined relatively to its parent element), and + direct it to any angle. */ class ElementTextItem : public DiagramTextItem { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ElementTextItem(Element * = 0, Diagram * = 0); ElementTextItem(const QString &, Element * = 0, Diagram * = 0); virtual ~ElementTextItem(); - // attributs + // attributes public: enum { Type = UserType + 1003 }; @@ -48,11 +45,11 @@ class ElementTextItem : public DiagramTextItem { qreal original_rotation_angle_; bool first_move_; - // methodes + // methods public: virtual int type() const { return Type; } Element *parentElement() const; - /// @return le rectangle delimitant le champ de texte + /// @return the rectangle defining the bounds of this text item virtual QRectF boundingRect() const { return(QGraphicsTextItem::boundingRect().adjusted(0.0, -1.1, 0.0, 0.0)); } bool followParentRotations() const; void setFollowParentRotations(bool); @@ -78,18 +75,19 @@ class ElementTextItem : public DiagramTextItem { }; /** - Permet de savoir si le champ de texte suit les rotations de son parent. - @return true si le champ de texte suit les rotations de son parent, false - sinon + Element text items can optionally be applied a counter-rotation when their + parent element is rotated, thus preserving their readability. + @return whether this text item follows the rotations of its parent element. */ inline bool ElementTextItem::followParentRotations() const { return(follow_parent_rotations); } /** - Permet de specifier si le champ de texte suit les rotations de son parent. - @param frp true si le champ de texte doit suivre les rotations de son - parent, false pour qu'ils ne les suivent pas + Element text items can optionally be applied a counter-rotation when their + parent element is rotated, thus preserving their readability. + @param frp whether this text item should follow the rotations of its parent + element. */ inline void ElementTextItem::setFollowParentRotations(bool frp) { follow_parent_rotations = frp; diff --git a/sources/elementtextsmover.h b/sources/elementtextsmover.h index e4efa07c4..3b4951e9e 100644 --- a/sources/elementtextsmover.h +++ b/sources/elementtextsmover.h @@ -22,25 +22,25 @@ class ElementTextItem; class Diagram; /** - Cette classe permet de gerer le deplacement des ElementTextItems d'un schema - electrique. + This class manages the interactive movement of element text items on a + particular diagram. */ class ElementTextsMover { - // constructeurs, destructeur + // constructors, destructor public: ElementTextsMover(); virtual ~ElementTextsMover(); private: ElementTextsMover(const ElementTextsMover &); - // methodes + // methods public: bool isReady() const; int beginMovement(Diagram *, QGraphicsItem * = 0); void continueMovement(const QPointF &); void endMovement(); - // attributs + // attributes private: bool movement_running_; QPointF current_movement_; diff --git a/sources/exportdialog.h b/sources/exportdialog.h index da355440f..4c6db645f 100644 --- a/sources/exportdialog.h +++ b/sources/exportdialog.h @@ -23,13 +23,14 @@ class QSvgGenerator; class ExportPropertiesWidget; /** - Cette classe represente le dialogue permettant d'exporter un schema - sous forme d'image selon les desirs de l'utilisateur + This class provides a dialog enabling users to export 1 to n diagrams from + a project as image files, with features like preview, copy to clipboard, + resize, etc. */ class ExportDialog : public QDialog { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ExportDialog(QETProject *, QWidget * = 0); virtual ~ExportDialog(); @@ -37,11 +38,10 @@ class ExportDialog : public QDialog { private: ExportDialog(const ExportDialog &); - // methodes + // methods public: int diagramsToExportCount() const; - // classes privees private: class ExportDiagramLine { public: @@ -61,10 +61,10 @@ class ExportDialog : public QDialog { QPushButton *clipboard; }; - // attributs + // attributes private: QHash diagram_lines_; - // elements graphiques + // visual items QGridLayout *diagrams_list_layout_; ExportPropertiesWidget *epw; QDialogButtonBox *buttons; @@ -76,10 +76,10 @@ class ExportDialog : public QDialog { QSignalMapper *reset_mapper_; QSignalMapper *clipboard_mapper_; - // elements relatifs au traitement effectue par le dialogue + // project whose diagrams are to be exported QETProject *project_; - // methodes + // methods private: QWidget *initDiagramsListPart(); void saveReloadDiagramParameters(Diagram *, bool = true); diff --git a/sources/exportproperties.h b/sources/exportproperties.h index a084ea7a6..807941f91 100644 --- a/sources/exportproperties.h +++ b/sources/exportproperties.h @@ -21,8 +21,8 @@ #include "qet.h" /** - Cette classe represente les differentes options utilisees pour exporter un - schema sous forme d'image, ou encore pour l'imprimer. + This class is a container for various options used when printing or + exporting a diagram as an image file. */ class ExportProperties { // constructeur, destructeur @@ -30,20 +30,20 @@ class ExportProperties { ExportProperties(); virtual ~ExportProperties(); - // methodes + // methods public: void toSettings (QSettings &, const QString & = QString()) const; void fromSettings(QSettings &, const QString & = QString()); - // attributs + // attributes public: - QDir destination_directory; ///< Quel est le repertoire de destination du ou des fichiers generes ? - QString format; ///< Quel format d'image faut-il utiliser ? - bool draw_grid; ///< Faut-il dessiner la grille ? - bool draw_border; ///< Faut-il dessiner le cadre ? - bool draw_titleblock; ///< Faut-il dessiner le cartouche ? - bool draw_terminals; ///< Faut-il dessiner les bornes ? - bool draw_colored_conductors; ///< Faut-il respecter les couleurs des conducteurs ? - QET::DiagramArea exported_area; ///< Zone du schema a exporter + QDir destination_directory; ///< Target directory for generated files + QString format; ///< Image format of generated files + bool draw_grid; ///< Whether to render the diagram grid + bool draw_border; ///< Whether to render the border (along with rows/columns headers) + bool draw_titleblock; ///< Whether to render the title block + bool draw_terminals; ///< Whether to render terminals + bool draw_colored_conductors; ///< Whether to render conductors colors + QET::DiagramArea exported_area; ///< Area of diagrams to be rendered }; #endif diff --git a/sources/exportpropertieswidget.h b/sources/exportpropertieswidget.h index 901c3fc75..81a3c5810 100644 --- a/sources/exportpropertieswidget.h +++ b/sources/exportpropertieswidget.h @@ -21,12 +21,12 @@ #include "exportproperties.h" /** - Ce widget permet d'editer les differentes options utilisees - pour exporter un projet. + This widget enables users to edit the various options available when + exporting a project. */ class ExportPropertiesWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: ExportPropertiesWidget(QWidget * = 0); ExportPropertiesWidget(const ExportProperties &, QWidget * = 0); @@ -34,7 +34,7 @@ class ExportPropertiesWidget : public QWidget { private: ExportPropertiesWidget(const ExportPropertiesWidget &); - // methodes + // methods public: void setExportProperties(const ExportProperties &); ExportProperties exportProperties() const; @@ -48,11 +48,10 @@ class ExportPropertiesWidget : public QWidget { void exportedAreaChanged(); void optionChanged(); - // methodes privees private: void build(); - // attributs + // attributes private: QLabel *dirpath_label; QLineEdit *dirpath; diff --git a/sources/fileelementdefinition.h b/sources/fileelementdefinition.h index 5c7337f41..43520bc13 100644 --- a/sources/fileelementdefinition.h +++ b/sources/fileelementdefinition.h @@ -22,8 +22,7 @@ class FileElementsCategory; class FileElementsCollection; /** - Cette classe represente la definition d'un element stockee dans un fichier. - + This class represents an element definition stored into a file. */ class FileElementDefinition : public ElementDefinition { public: @@ -33,7 +32,7 @@ class FileElementDefinition : public ElementDefinition { private: FileElementDefinition(const FileElementDefinition &); - // methodes + // methods public: virtual QDomElement xml(); virtual bool setXml(const QDomElement &); @@ -51,7 +50,7 @@ class FileElementDefinition : public ElementDefinition { virtual void setFilePath(const QString &); virtual QDateTime modificationTime() const; - // attributs + // attributes private: bool is_null; QString file_path; diff --git a/sources/fileelementscategory.h b/sources/fileelementscategory.h index c214dcf4a..3203173b7 100644 --- a/sources/fileelementscategory.h +++ b/sources/fileelementscategory.h @@ -22,13 +22,12 @@ class FileElementsCollection; class FileElementDefinition; /** - Cette classe represente une categorie d'elements accessible via un systeme - de fichiers. + This class represents an elements category stored on a filesystem. */ class FileElementsCategory : public ElementsCategory { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: FileElementsCategory(const QString & = QString(), FileElementsCategory * = 0, FileElementsCollection * = 0); virtual ~FileElementsCategory(); @@ -36,7 +35,7 @@ class FileElementsCategory : public ElementsCategory { private: FileElementsCategory(const FileElementsCategory &); - // methodes + // methods public: virtual QString pathName() const; virtual QString virtualPath(); @@ -67,17 +66,17 @@ class FileElementsCategory : public ElementsCategory { void loadNames(); void deleteContent(); - // attributs + // attributes protected: - /// Collection parente, de type fichier + /// Parent collection, stored on filesystem too FileElementsCollection *file_parent_collection_; - /// Categorie parente, de type fichier + /// Paremt Collection, stored on filesystem too FileElementsCategory *file_parent_category_; - /// Sous-categories contenues dans cette categorie + /// Child sub-categories QHash categories_; - /// Elements contenus dans cette categorie + /// Child elements QHash elements_; - /// Dossier representant cette categorie sur le systeme de fichiers + /// Directory matching this category on filesystem QDir cat_dir; }; #endif diff --git a/sources/fileelementscollection.h b/sources/fileelementscollection.h index de4554e9f..04b2208a6 100644 --- a/sources/fileelementscollection.h +++ b/sources/fileelementscollection.h @@ -21,14 +21,13 @@ #include "elementscollection.h" class FileElementsCategory; /** - Cette classe represente une collection d'elements accessible via un - systeme de fichier. Typiquement, il s'agit de la collection QET ou - de la collection utilisateur. + This class represents an elements collection stored on filesystem, like the + collection provided along with QET or users custom collection. */ class FileElementsCollection : public ElementsCollection { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: FileElementsCollection(const QString &, ElementsCollectionItem *parent = 0); virtual ~FileElementsCollection(); @@ -36,7 +35,7 @@ class FileElementsCollection : public ElementsCollection { private: FileElementsCollection(const FileElementsCollection &); - // methodes + // methods public: virtual void reload(); virtual ElementsCategory *rootCategory(); @@ -53,7 +52,7 @@ class FileElementsCollection : public ElementsCollection { private: void deleteContent(); - // attributs + // attributes private: QString coll_path; FileElementsCategory *root; diff --git a/sources/fixedelement.h b/sources/fixedelement.h index ac94ae8d2..51c8f6674 100644 --- a/sources/fixedelement.h +++ b/sources/fixedelement.h @@ -19,18 +19,18 @@ #define ELEMENTFIXE_H #include "element.h" /** - Cette classe represente un element avec un nombre fixe de bornes. + This class represents an element having a fixed number of terminals. */ class FixedElement : public Element { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: FixedElement(QGraphicsItem * = 0, Diagram * = 0); virtual ~FixedElement(); - // methodes + // methods public: int minTerminalsCount() const; int maxTerminalsCount() const; diff --git a/sources/ghostelement.h b/sources/ghostelement.h index 7dbb0326b..6004facad 100644 --- a/sources/ghostelement.h +++ b/sources/ghostelement.h @@ -23,26 +23,24 @@ class QGraphicsItem; class ElementsLocation; class Terminal; /** - La classe GhostElement herite de la classe CustomElement. Un GhostElement - est destine a remplacer visuellement un CustomElement dont la definition - n'a pu etre trouvee. Ainsi, au lieu de ne pas charger un element, et donc - de perdre potentiellement : - * sa position, son orientation, ses textes, - * les conducteurs qui y sont lies, - on peut lui substituer un GhostElement. Celui-ci extrapolera depuis le - schema la position des bornes et des champs de texte. - Visuellement, il sera represente par un rectangle. + The GhostElement class inherits CustomElement. A GhostElement aims at + visually replacing a CustomElement whose definition could not be loaded. + This way, instead of not loading an element, thus potentially losing its + position, its orientation, its child text items and conductors, one can + substitute a GhostElement. The GhostElement will extrapolate the position + of terminals and text items from the rest of the diagram. It is visually + rendered using a simple rectangle. */ class GhostElement : public CustomElement { Q_OBJECT - // constructeur, destructeur + // constructor, destructor public: GhostElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0); virtual ~GhostElement(); - // methodes + // methods public: virtual bool fromXml(QDomElement &, QHash &, bool = false); diff --git a/sources/hotspoteditor.cpp b/sources/hotspoteditor.cpp index 261730250..93bbced78 100644 --- a/sources/hotspoteditor.cpp +++ b/sources/hotspoteditor.cpp @@ -54,9 +54,9 @@ HotspotEditor::HotspotEditor(QWidget *parent) : diagram_scene = new Diagram(); diagram_scene -> border_and_titleblock.setColumnsWidth(50.0); - diagram_scene -> border_and_titleblock.setNbColumns(3); + diagram_scene -> border_and_titleblock.setColumnsCount(3); diagram_scene -> border_and_titleblock.setRowsHeight(60.0); - diagram_scene -> border_and_titleblock.setNbRows(2); + diagram_scene -> border_and_titleblock.setRowsCount(2); diagram_scene -> border_and_titleblock.displayRows(false); diagram_scene -> border_and_titleblock.displayTitleBlock(false); diff --git a/sources/hotspoteditor.h b/sources/hotspoteditor.h index 8b63a74f0..c575b1299 100644 --- a/sources/hotspoteditor.h +++ b/sources/hotspoteditor.h @@ -20,13 +20,13 @@ #include #include "diagram.h" /** - Ce widget permet a l'utilisateur d'editer les dimensions ainsi que le point - de saisie d'un element. + This widget enable users to edit the dimensions and the hotspot of an + electrical element. */ class HotspotEditor : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: HotspotEditor(QWidget * = 0); virtual ~HotspotEditor() {}; @@ -34,7 +34,7 @@ class HotspotEditor : public QWidget { private: HotspotEditor(const HotspotEditor &); - // attributs + // attributes private: QLabel *informations_label_; QSpinBox *sb_width; @@ -49,7 +49,7 @@ class HotspotEditor : public QWidget { bool parts_rect_enabled; QVBoxLayout *vlayout; - // methodes + // methods public: void setElementWidth(uint); void setElementHeight(uint); diff --git a/sources/independenttextitem.h b/sources/independenttextitem.h index a8592d9cc..28e082c56 100644 --- a/sources/independenttextitem.h +++ b/sources/independenttextitem.h @@ -20,25 +20,26 @@ #include #include "diagramtextitem.h" /** - Cette classe represente un champ de texte editable independant sur le schema. - Il peut etre pivote et deplace. + This class represents an independent text field on a particular diagram. + It may be moved, edited, and rotated. */ class IndependentTextItem : public DiagramTextItem { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: IndependentTextItem(Diagram * = 0); IndependentTextItem(const QString &, Diagram* = 0); virtual ~IndependentTextItem(); - // attributs + // attributes public: enum { Type = UserType + 1005 }; - // methodes + // methods public: /** - Cette methode permet d'utiliser qgraphicsitem_cast sur cet objet + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into an + IndependentTextItem. @return le type de QGraphicsItem */ virtual int type() const { return Type; } diff --git a/sources/integrationmoveelementshandler.h b/sources/integrationmoveelementshandler.h index c5c210b4e..7656b0002 100644 --- a/sources/integrationmoveelementshandler.h +++ b/sources/integrationmoveelementshandler.h @@ -20,26 +20,25 @@ #include "basicmoveelementshandler.h" #include /** - Cette classe implemente la classe strategie MoveElementsHandler. - Elle correspond a un BasiMoveElementsHandler configure pour repondre - QET::Abort a toutes les questions. - Elle redefinit seulement la methode elementAlreadyExists pour, dans le cadre - de l'integration d'un element dans un projet demander a l'utilisateur s'il souahite : - * ecraser l'element precedent, manifestement different - * conserver l'element precedent, en renommant le nouveau - * annuler l'integration de l'element dans le projet + This class implements the MoveElementsHandler Strategy class. + It acts like a BasiMoveElementsHandler configured to answer QET::Abort to any question. + Please note this class was designed with the context of integrating an element definition into a project in mind. + For this purpose, the elementAlreadyExists method was redefined to ask users whether they wish to: + * erase a different, already-existing element, + * keep the already-existing element by renaming the new one, + * or cancel the integration. */ class IntegrationMoveElementsHandler : public BasicMoveElementsHandler { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: IntegrationMoveElementsHandler(QWidget * = 0); virtual ~IntegrationMoveElementsHandler(); private: IntegrationMoveElementsHandler(const IntegrationMoveElementsHandler &); - // methodes + // methods public: virtual QET::Action elementAlreadyExists(ElementDefinition *, ElementDefinition *); virtual QString nameForRenamingOperation(); @@ -54,11 +53,11 @@ class IntegrationMoveElementsHandler : public BasicMoveElementsHandler { private slots: void correctRadioButtons(); - // attributs + // attributes private: - QWidget *parent_widget_; ///< Widget a utiliser comme parent pour l'affichage des dialogues - QString rename_; ///< Nom a utiliser lors d'une operation de renommage - QDialog *integ_dialog_; ///< Dialogue en cas de conflit lors de l'integration d'un element + QWidget *parent_widget_; ///< Widget to be used as parent when displaying dialogs + QString rename_; ///< Name to be used when renaming the integrated element + QDialog *integ_dialog_; ///< Dialog in case of conflict when integration an element QLabel *dialog_label_; QVBoxLayout *dialog_vlayout_; QGridLayout *dialog_glayout; diff --git a/sources/interactivemoveelementshandler.h b/sources/interactivemoveelementshandler.h index 54f260f41..6ba358c42 100644 --- a/sources/interactivemoveelementshandler.h +++ b/sources/interactivemoveelementshandler.h @@ -27,22 +27,21 @@ class QHBoxLayout; class QVBoxLayout; class QLabel; /** - Cette classe implemente la classe strategie MoveElementsHandler. - Via une interface graphique, elle demande a l'utilisateur comment il faut - traiter tel ou tel probleme puis transmet la reponse via l'API de la classe - MoveElementsHandler. + This class implements the MoveElementsHandler Strategy class by asking + users how to handle the various expected problems through interactive + dialogs. */ class InteractiveMoveElementsHandler : public BasicMoveElementsHandler { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: InteractiveMoveElementsHandler(QWidget * = 0); virtual ~InteractiveMoveElementsHandler(); private: InteractiveMoveElementsHandler(const InteractiveMoveElementsHandler &); - // methodes + // methods public: virtual QET::Action categoryAlreadyExists(ElementsCategory *, ElementsCategory *); virtual QET::Action elementAlreadyExists(ElementDefinition *, ElementDefinition *); @@ -68,15 +67,16 @@ class InteractiveMoveElementsHandler : public BasicMoveElementsHandler { void simpleErrorMessage(const QString &) const; - // attributs + // attributes private: - QWidget *parent_widget_; ///< Widget a utiliser comme parent pour l'affichage des dialogues - QString rename_; ///< Nom a utiliser lors d'une operation de renommage - bool always_erase_; ///< Booleen indiquant qu'il faut toujours ecraser les cibles en conflit sans poser de question - bool always_skip_; ///< Booleen indiquant qu'il faut toujours ignorer les cibles en conflit sans poser de question - bool aborted_; /// Booleen indiquant que le mouvement a ete annule + QWidget *parent_widget_; ///< Widget to be used as parent when displaying dialogs + QString rename_; ///< Name to be used when renaming an item + bool always_erase_; ///< Whether to systematically erase conflicting targets without bothering users + bool always_skip_; ///< Whether to systematically ignore conflicting targets without bothering users + bool aborted_; ///< Whether the movement has been cancelled - // attributs relatifs au dialogue affiche pour les elements et categories deja existants (= dialogue de conflit) + // attributes related to the dialog displayed for already existing elements and + // categories (= i.e. conflict dialog) QET::Action conflict_result_; QDialog *conflict_dialog_; QVBoxLayout *conflict_layout0_; @@ -84,7 +84,7 @@ class InteractiveMoveElementsHandler : public BasicMoveElementsHandler { QLabel *rename_label_; QFileNameEdit *rename_textfield_; - /// Boutons pour le dialogue de conflit + /// Buttons for the conflict dialog QDialogButtonBox *conflict_buttons_; QPushButton *rename_button_; QPushButton *erase_button_; diff --git a/sources/moveelementsdescription.h b/sources/moveelementsdescription.h index 3331b02c2..4973f997b 100644 --- a/sources/moveelementsdescription.h +++ b/sources/moveelementsdescription.h @@ -22,21 +22,21 @@ class ElementsCollectionItem; class ElementsCategory; class MoveElementsHandler; /** - Cette classe represente la description d'un mouvement d'elements. - Il peut s'agir d'un deplacement ou d'une copie. La source n'est pas - mentionnee + This class describes the evolution of an elements item move (actually + either move or copy), i.e. whether the source was deleted, whether the + target changed and to what path, etc. */ class MoveElementsDescription : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: MoveElementsDescription(QObject * = 0); virtual ~MoveElementsDescription(); private: MoveElementsDescription(const MoveElementsDescription &); - // methodes + // methods public: bool isRecursive() const; void setRecursive(bool); @@ -62,7 +62,7 @@ class MoveElementsDescription : public QObject { bool mustAbort() const; void abort(); - // attributs + // attributes private: bool recursive_; MoveElementsHandler *handler_; diff --git a/sources/moveelementshandler.h b/sources/moveelementshandler.h index 3b2187166..96b9cf136 100644 --- a/sources/moveelementshandler.h +++ b/sources/moveelementshandler.h @@ -22,79 +22,75 @@ class ElementDefinition; class ElementsCategory; /** - Cette classe definit l'interface minimale pour implementer un objet capable - de prendre en main une operation de deplacement ou de copie d'elements. - Ce type d'objet est typiquement utilise dans les methodes move et copy des - classes ElementDefinition et ElementsCategory. Ces methodes font appel a cet - objet pour qu'il leur indique comment gerer les eventuels problemes - rencontres lors du deplacement / de la copie. - Exemple : lors de la recopie d'un element dans une categorie, il se peut que - cet element existe deja. Il est alors possible d'ecraser l'element cible ou - d'abandonner l'operation. Cette decision est a la charge d'une classe fille - de MoveElementsHandler. - Cet objet peut effectuer des interactions avec l'utilisateur ou non. - Cet aspect, ainsi que la politique de gestion des elements, est laisse aux - bons soins de l'implementation. - Il s'agit d'un pattern Strategie qui encapsule non pas l'algorithme de - deplacement / copie des categories / elements mais la gestion des erreurs - durant l'execution de cet algorithme. + This class defines the minimum interface required to implement an object able + to handle a move/copy operation among elements collections. This kind of + objects is typically useful in the move() and copy() method of the + ElementDefinition and ElementsCategory classes. These methods simply rely on + answers provided by an instance of this class as soon as they encounter + typical move/copy problems, such as conflicts or permission issues. + + For instance, when copying a particular element to a given category, that + element may already exist in the target category. It is then possible either + to erase the target element, change the target name or cancel the operation. + There is no systematic or calculable answer to this kind of questions, hence + the rational to delegate the decision process to a dedicated "Strategy" object. + + All we know from this object is the fact it implements the interface defined + below. It is then free to create complicated dialogs to ask a user what to do + or even to pick a random decision. + @see ElementsCategory @see ElementDefinition */ class MoveElementsHandler : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: MoveElementsHandler(QObject * = 0) {}; virtual ~MoveElementsHandler() {}; private: MoveElementsHandler(const MoveElementsHandler &); - // methodes + // methods public: /** - @return l'action a effectuer si la categorie cible existe deja + @return what to do if the target category already exists */ virtual QET::Action categoryAlreadyExists(ElementsCategory *src, ElementsCategory *dst) = 0; /** - @return l'action a effectuer si l'element cible existe deja + @return what to do if the target element already exists */ virtual QET::Action elementAlreadyExists(ElementDefinition *src, ElementDefinition *dst) = 0; /** - @return l'action a effectuer si la categorie existe deja + @return what to do if a category is not readable */ virtual QET::Action categoryIsNotReadable(ElementsCategory *) = 0; /** - @return l'action a effectuer si l'element existe deja + @return what to do if an element is not readable */ virtual QET::Action elementIsNotReadable(ElementDefinition *) = 0; /** - @return l'action a effectuer si la categorie cible n'est pas accessible - en ecriture + @return what to do if the target category is not writable */ virtual QET::Action categoryIsNotWritable(ElementsCategory *) = 0; /** - @return l'action a effectuer si l'element cible n'est pas accessible - en ecriture + @return what to do if the target element is not writable */ virtual QET::Action elementIsNotWritable(ElementDefinition *) = 0; /** - @return l'action a effectuer lorsque l'erreur decrite dans la QString - s'est produite avec la categorie indiquee + @return what to do when an error, described by the provided QString, occurs in relation with the given elements category. */ virtual QET::Action errorWithACategory(ElementsCategory *, const QString &) = 0; /** - @return l'action a effectuer lorsque l'erreur decrite dans la QString - s'est produite avec l'element indique + @return what to do when an error, described by the provided QString, occurs in relation with the given element. */ virtual QET::Action errorWithAnElement(ElementDefinition *, const QString &) = 0; /** - @return le nom a utiliser pour le renommage si une methode de cet objet - a precedemment renvoye QET::Rename. + @return the name to be used along with the latest QET::Rename answer */ virtual QString nameForRenamingOperation() = 0; }; diff --git a/sources/nameslist.h b/sources/nameslist.h index 6a7771cb6..d2d930845 100644 --- a/sources/nameslist.h +++ b/sources/nameslist.h @@ -27,22 +27,22 @@ pour le francais. */ class NamesList { - // constructeurs, destructeur + // constructors, destructor public: NamesList(); NamesList(const NamesList &); virtual ~NamesList(); - // attributs + // attributes private: QHash hash_names; public: static int MetaTypeId; - // methodes + // methods public: - // methodes relatives a la gestion de la liste + // methods relatives a la gestion de la liste void addName(const QString &, const QString &); void removeName(const QString &); void clearNames(); @@ -55,7 +55,7 @@ class NamesList { bool operator==(const NamesList &) const; QString name(const QString & = QString()) const; - // methodes relatives a XML + // methods relatives a XML void fromXml(const QDomElement &, const QHash & = QHash()); QDomElement toXml(QDomDocument &, const QHash & = QHash()) const; diff --git a/sources/nameslistwidget.h b/sources/nameslistwidget.h index c10b7032d..d76529012 100644 --- a/sources/nameslistwidget.h +++ b/sources/nameslistwidget.h @@ -20,13 +20,13 @@ #include #include "nameslist.h" /** - Cette classe represente une interface permettant de saisir les noms des - categories et elements. + This class provides a widget enabling users to enter localized names for + categories and elements. */ class NamesListWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: NamesListWidget(QWidget * = 0); virtual ~NamesListWidget(); @@ -34,14 +34,14 @@ class NamesListWidget : public QWidget { private: NamesListWidget(const NamesListWidget &); - // attributs + // attributes private: QTreeWidget *tree_names; QPushButton *button_add_line; NamesList hash_names; bool read_only; - // methodes + // methods public: bool checkOneName(); NamesList names(); @@ -59,8 +59,8 @@ class NamesListWidget : public QWidget { signals: /** - Signal emis lors de la verification de la saisie s'il y a au moins un - nom saisi + Signal emitted after the widget successfully checked there was at least one + name entered */ void inputChecked(); }; diff --git a/sources/newelementwizard.h b/sources/newelementwizard.h index a7dc8723d..301fc4ca1 100644 --- a/sources/newelementwizard.h +++ b/sources/newelementwizard.h @@ -25,20 +25,21 @@ class OrientationSetWidget; class HotspotEditor; class QFileNameEdit; /** - Cette classe represente un dialogue qui permet a l'utilisateur de specifier - les premiers parametres de l'element qu'il va construire. - Ces parametres sont : - - la categorie dans laquelle il faut enregistrer l'element - - le nom du fichier dans lequel il faut enregistrer l'element - - les noms de cet element - - les dimensions - - la position du hotspot - - les orientations possibles + This class provides a wizard dialog enabling users to to specify the basic + parameters of the electrical elements they intend to draw. + + These parameters include: + - the category the element should be saved to + - the filename the element should be saved to + - localized names + - dimensions + - hotspot position + - allowed and default orientations */ class NewElementWizard : public QWizard { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: NewElementWizard(QWidget * = 0, Qt::WindowFlags = 0); virtual ~NewElementWizard(); @@ -46,12 +47,12 @@ class NewElementWizard : public QWizard { private: NewElementWizard(const NewElementWizard &); - // methodes + // methods public: ElementsCategory *selectedCategory() const; bool preselectCategory(ElementsCategory *); - // attributs + // attributes private: enum WizardState { Category, Filename, Names, Dimensions, Orientations }; ElementsCategoriesWidget *categories_list; @@ -63,7 +64,7 @@ class NewElementWizard : public QWizard { QString chosen_file; ElementsCategory *chosen_category; - // methodes + // methods private: QWizardPage *buildStep1(); QWizardPage *buildStep2(); diff --git a/sources/orientationset.h b/sources/orientationset.h index 0468d6171..0e900190c 100644 --- a/sources/orientationset.h +++ b/sources/orientationset.h @@ -19,23 +19,20 @@ #define ORIENTATION_SET_H #include "qet.h" /** - Cette classe represente un containeur d'orientations, c'est-a-dire une - structure de donnees stockant une orientation par defaut, une orientation - courante et l'autorisation ou non d'utiliser les quatre autres orientations - : nord, est, sud, ouest. - Elle possede des methodes pour definir les autorisations. Le changement - d'autorisation peut echouer car il faut au moins une orientation autorisee. - Le changement d'autorisation peut eventuellement modifier les orientations - par defaut et courante. + This class provides a container for element orientations, i.e. a data + structure that stores, for a particular element: + - its default orientation, + - its current orientation, + - whether the North, East, South and West orientations are allowed. */ class OrientationSet { - // constructeurs, destructeur + // constructors, destructor public: OrientationSet(); virtual ~OrientationSet() {}; - // attributs + // attributes private: bool north_ori; bool east_ori; @@ -44,7 +41,7 @@ class OrientationSet { QET::Orientation default_ori; QET::Orientation current_ori; - // methodes + // methods public: bool north() const; bool east() const; @@ -74,49 +71,49 @@ class OrientationSet { }; /** - @return true si l'orientation "Nord" est autorisee, false sinon + @return whether the Northern orientation is allowed */ inline bool OrientationSet::north() const { return(north_ori); } /** - @return true si l'orientation "Est" est autorisee, false sinon + @return whether the Eastern orientation is allowed */ inline bool OrientationSet::east() const { return(east_ori); } /** - @return true si l'orientation "Sud" est autorisee, false sinon + @return whether the Southern orientation is allowed */ inline bool OrientationSet::south() const { return(south_ori); } /** - @return true si l'orientation "Ouest" est autorisee, false sinon + @return whether the Western orientation is allowed */ inline bool OrientationSet::west() const { return(west_ori); } /** - @param theValue La nouvelle orientation par defaut + @param new_default_orientation The new default orientation */ -inline void OrientationSet::setDefaultOrientation(const QET::Orientation& theValue) { - default_ori = theValue; +inline void OrientationSet::setDefaultOrientation(const QET::Orientation& new_default_orientation) { + default_ori = new_default_orientation; } /** - @return L'orientation par defaut + @return the default orientation */ inline QET::Orientation OrientationSet::defaultOrientation() const { return(default_ori); } /** - @return L'orientation actuelle + @return the current orientation */ inline QET::Orientation OrientationSet::current() const { return(current_ori); diff --git a/sources/orientationsetwidget.h b/sources/orientationsetwidget.h index bfc442a79..be77a0eb3 100644 --- a/sources/orientationsetwidget.h +++ b/sources/orientationsetwidget.h @@ -20,11 +20,12 @@ #include #include "orientationset.h" /** - Widget permettant d'editer un OrientationSet + Widget to edit an OrientationSet. + @see OrientationSet */ class OrientationSetWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: OrientationSetWidget(QWidget * = 0); virtual ~OrientationSetWidget() {}; @@ -32,7 +33,7 @@ class OrientationSetWidget : public QWidget { private: OrientationSetWidget(const OrientationSetWidget &); - // attributs + // attributes private: OrientationSet ori; QComboBox *north_orientation; @@ -45,7 +46,7 @@ class OrientationSetWidget : public QWidget { QRadioButton *west_default; QButtonGroup *default_radios; - // methodes + // methods public: OrientationSet orientationSet() const; void setOrientationSet(const OrientationSet &); diff --git a/sources/projectview.h b/sources/projectview.h index 65d88a8b9..836050cf3 100644 --- a/sources/projectview.h +++ b/sources/projectview.h @@ -26,7 +26,8 @@ class Diagram; class ElementsLocation; class QETTabWidget; /** - Cette classe affiche les schemas d'un projet dans des onglets. + This class provides a widget displaying the diagrams of a particular + project using tabs. */ class ProjectView : public QWidget { Q_OBJECT @@ -41,14 +42,14 @@ class ProjectView : public QWidget { Q_DECLARE_FLAGS(ProjectSaveOptions, ProjectSaveOption) - // constructeurs, destructeur + // constructors, destructor public: ProjectView(QETProject *, QWidget * = 0); virtual ~ProjectView(); private: ProjectView(const ProjectView &); - // methodes + // methods public: QETProject *project(); void setProject(QETProject *); @@ -119,7 +120,7 @@ class ProjectView : public QWidget { void setDisplayFallbackWidget(bool); void adjustReadOnlyState(); - // attributs + // attributes private: QAction *add_new_diagram_; QETProject *project_; diff --git a/sources/qet.h b/sources/qet.h index cb446704d..8145f5a3f 100644 --- a/sources/qet.h +++ b/sources/qet.h @@ -19,20 +19,19 @@ #define _QET_H #include /** - Ce fichier contient des fonctions utiles pouvant etre appelees depuis - n'importe ou. Il contient egalement des enums utilises dans plusieurs - classes de l'application + This file provides useful functions and enums that may be used from + anywhere else within the QElectroTech application. */ namespace QET { - /// version de QElectroTech (utilisee pour estampiller les projets et elements) + /// QElectroTech version (as string, used to mark projects and elements XML documents) const QString version = "0.3"; - /// version affichee de QElectroTech + /// QElectroTech displayed version const QString displayedVersion = "0.3a"; QString license(); - /// Orientation (utilise pour les bornes mais aussi pour les elements) + /// Orientation (used for electrical elements and their terminals) enum Orientation {North, East, South, West}; - /// Mouvements orientes + /// Oriented movements enum OrientedMovement { ToNorth, ToNorthEast, @@ -44,28 +43,28 @@ namespace QET { ToNorthWest }; - /// Types de segment de conducteurs + /// Known kinds of conductor segments enum ConductorSegmentType { - Horizontal = 1, ///< Segment horizontal - Vertical = 2, ///< Segment vertical - Both = 3 ///< Segment en biais / invalide + Horizontal = 1, ///< Horizontal segment + Vertical = 2, ///< Vertical segment + Both = 3 ///< Invalid segment }; /** - Cet enum represente les differents embouts possibles pour les - extremites d'une ligne. + This enum lists the various available endings for line primitives when drawing + an electrical element. */ enum EndType { - None, ///< Ligne normale - Simple, ///< Triangle sans base + None, ///< Regular line + Simple, ///< Base-less triangle Triangle, ///< Triangle - Circle, ///< Cercle - Diamond ///< Losange + Circle, ///< Circle + Diamond ///< Diamond }; /** - Cet enum represente les differents items manipulables dans une - collection d'elements. + This enums lists the various kind of items users can manage within the + application. */ enum ItemType { Element = 1, @@ -91,25 +90,25 @@ namespace QET { }; /** - Cet enum represente les differentes facons de gerer un probleme lors de - la recopie ou du deplacement d'un element ou d'une categorie. + This enums lists the various ways to handle a standard problem when copying + or moving element items (collections, categories, elements). @see MoveElementsHandler */ enum Action { - Retry, ///< il faut reessayer l'operation - Ignore, ///< il faut passer a la suite - Erase, ///< il faut ecraser le contenu cible - Abort, ///< il faut arreter : ignorer l'item en cours et ne pas continuer - Managed, ///< le cas a ete gere par l'objet delegue : ne pas le traiter et passer a la suite - Rename ///< il faut renommer la cible + Retry, ///< The operation must be tried again + Ignore, ///< Skip the current item + Erase, ///< Erase the target content + Abort, ///< abort the whole operation, ignoring the curent item + Managed, ///< the current item was handled by the Strategy object: do not treat it and continue + Rename ///< the target has to be renamed }; /** - Cet enum represente la zone d'un schema a exporter / imprimer + This enum represents diagram areas that may be exported/printed. */ enum DiagramArea { - BorderArea, ///< Exporte le schema avec son cadre et son cartouche - ElementsArea ///< Exporte le contenu du schema sans le cadre et le cartouche + BorderArea, ///< Export the diagram along with its border and title block + ElementsArea ///< Export the content of the diagram only }; /// enum used to specify the type of a length diff --git a/sources/qetapp.h b/sources/qetapp.h index 4eb45f181..3c907ff8a 100644 --- a/sources/qetapp.h +++ b/sources/qetapp.h @@ -45,12 +45,11 @@ class QTextOrientationSpinBoxWidget; class RecentFiles; /** - Cette classe represente l'application QElectroTech. - + This class represents the QElectroTech application. */ class QETApp : public QETSingleApplication { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETApp(int &, char **); virtual ~QETApp(); @@ -58,7 +57,7 @@ class QETApp : public QETSingleApplication { private: QETApp(const QETApp &); - // methodes + // methods public: static QETApp *instance(); void setLanguage(const QString &); @@ -103,7 +102,7 @@ class QETApp : public QETSingleApplication { public: static void overrideCommonElementsDir(const QString &); private: - static QString common_elements_dir; ///< Dossier contenant la collection d'elements commune + static QString common_elements_dir; ///< Directory containing the common elements collection #endif #ifdef QET_ALLOW_OVERRIDE_CTBTD_OPTION public: @@ -115,11 +114,11 @@ class QETApp : public QETSingleApplication { public: static void overrideConfigDir(const QString &); private: - static QString config_dir; ///< Dossier contenant la configuration et la collection d'elements de l'utilisateur + static QString config_dir; ///< Directory containing the user configuration and the custom elements collection #endif public: static void overrideLangDir(const QString &); - static QString lang_dir; ///< Dossier contenant les fichiers de langue + static QString lang_dir; ///< Directory containing localization files. static QFont diagramTextsFont(qreal = -1.0); static QETDiagramEditor *diagramEditorForFile(const QString &); static QList diagramEditors(); @@ -135,7 +134,7 @@ class QETApp : public QETSingleApplication { bool event(QEvent *); #endif - // attributs + // attributes private: QTranslator qtTranslator; QTranslator qetTranslator; @@ -164,9 +163,9 @@ class QETApp : public QETSingleApplication { bool every_template_visible; QSignalMapper signal_map; QSettings *qet_settings; - QETArguments qet_arguments_; ///< Analyseur d'arguments - bool non_interactive_execution_; ///< booleen indiquant si l'application va se terminer immediatement apres un court traitement - QPalette initial_palette_; ///< Palette des couleurs systeme + QETArguments qet_arguments_; ///< Comand-line arguments parser + bool non_interactive_execution_; ///< Whether the application will end without any user interaction + QPalette initial_palette_; ///< System color palette static FileElementsCollection *common_collection; static FileElementsCollection *custom_collection; @@ -209,7 +208,6 @@ class QETApp : public QETSingleApplication { void configureQET(); void aboutQET(); - // methodes privees private slots: void cleanup(); @@ -236,8 +234,8 @@ class QETApp : public QETSingleApplication { }; /** - Cette classe represente le style de QElectroTech - Il s'agit de modifications simples appliquees aux styles communs de Qt + This class represents the custom QElectroTech style. + It implements simple modification such as extra standard icons. */ class QETStyle : public QPlastiqueStyle { Q_OBJECT diff --git a/sources/qetarguments.h b/sources/qetarguments.h index 38880ef0c..b7737f8c8 100644 --- a/sources/qetarguments.h +++ b/sources/qetarguments.h @@ -19,15 +19,14 @@ #define QET_ARGUMENTS_H #include /** - Cette classe represente un ensemble d'arguments que l'application peut - recevoir en parametres. Initialisee a partir d'une liste de chaine de - caracteres, chaque instance de cette classe permet d'acceder aux differents - types de fichiers et options passes en parametres. + This class represents a set of arguments the application has received as + parameters. Initialized from a list of strings, an instance of this class + provides access to the differents options and files given on the command line. */ class QETArguments : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETArguments(QObject * = 0); QETArguments(const QList &, QObject * = 0); @@ -35,7 +34,7 @@ class QETArguments : public QObject { QETArguments &operator=(const QETArguments &); virtual ~QETArguments(); - // methodes + // methods public: virtual void setArguments(const QList &); virtual QList arguments() const; @@ -69,7 +68,7 @@ class QETArguments : public QObject { void handleFileArgument(const QString &); void handleOptionArgument(const QString &); - // attributs + // attributes private: QList project_files_; QList element_files_; diff --git a/sources/qetdiagrameditor.h b/sources/qetdiagrameditor.h index 74819b84e..af24b88e8 100644 --- a/sources/qetdiagrameditor.h +++ b/sources/qetdiagrameditor.h @@ -32,16 +32,13 @@ class ElementsPanelWidget; class ElementsLocation; class RecentFiles; /** - Cette classe represente la fenetre principale de QElectroTech et, - ipso facto, la plus grande partie de l'interface graphique de QElectroTech. - Il s'agit d'un objet QMainWindow avec un QWorkSpace contenant des objets - "DiagramView" en guise de widget central et un "Panel d'Elements" en - guise de widget "Dock". + This class represents the main window of the QElectroTech diagram editor and, + ipso facto, the most important part of the QElectroTech user interface. */ class QETDiagramEditor : public QETMainWindow { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETDiagramEditor(const QStringList & = QStringList(), QWidget * = 0); virtual ~QETDiagramEditor(); @@ -49,7 +46,7 @@ class QETDiagramEditor : public QETMainWindow { private: QETDiagramEditor(const QETDiagramEditor &); - // methodes + // methods public: void closeEvent(QCloseEvent *); QList openedProjects() const; @@ -152,69 +149,69 @@ class QETDiagramEditor : public QETMainWindow { void showError(const QETResult &); void showError(const QString &); - // attributs + // attributes public: - // Actions faisables au travers de menus dans l'application QElectroTech - QActionGroup *grp_visu_sel; ///< Groupe d'actions pour les modes (edition et visualisation) - QActionGroup *grp_view_mode; ///< Groupe d'actions pour l'affichage des projets (onglets ou fenetres) - QAction *tabbed_view_mode; ///< Passe les projets en mode onglets - QAction *windowed_view_mode; ///< Passe les projets en mode fenetre - QAction *mode_selection; ///< Passe en mode edition - QAction *mode_visualise; ///< Passe en mode visualisation - QAction *new_file; ///< Cree un nouveau schema - QAction *open_file; ///< OUvre un fichier - QAction *close_file; ///< Ferme le fichier + // Actions reachable through menus within QElectroTech + QActionGroup *grp_visu_sel; ///< Action group for visualisation vs edition mode + QActionGroup *grp_view_mode; ///< Action group for project + QAction *tabbed_view_mode; ///< Display projects as tabs + QAction *windowed_view_mode; ///< Display projects as windows + QAction *mode_selection; ///< Set edition mode + QAction *mode_visualise; ///< Set visualisation mode + QAction *new_file; ///< Create new project file + QAction *open_file; ///< Open project file + QAction *close_file; ///< Close current project file QAction *save_file; ///< Save current project QAction *save_file_as; ///< Save current project as a specific file QAction *save_cur_diagram; ///< Save current diagram of the current project only - QAction *import_diagram; ///< Importe un schema existant (non implemente) - QAction *export_diagram; ///< Exporte le schema sous forme d'image - QAction *print; ///< Imprime le schema - QAction *quit_editor; ///< Quitte l'editeur de schema - QAction *undo; ///< Annule la derniere action - QAction *redo; ///< Refait une action annulee - QAction *cut; ///< Coupe la selection dans le presse-papier - QAction *copy; ///< Copie la selection dans le presse-papier - QAction *paste; ///< Colle le contenu du presse-papier sur le schema - QAction *select_all; ///< Selectionne tout - QAction *select_nothing; ///< Deselectionne tout - QAction *select_invert; ///< Inverse la selection - QAction *delete_selection; ///< Supprime la selection - QAction *rotate_selection; ///< Pivote les elements et textes selectionnes de 90 degres - QAction *rotate_texts; ///< Pivote les textes selectionnes selon un angle parametrable - QAction *selection_prop; ///< Lance le dialogue de description ou d'edition de la selection - QAction *conductor_reset; ///< Reinitialise les conducteurs selectionnes - QAction *conductor_default; ///< Lance le dialogue d'edition des conducteurs par defaut - QAction *infos_diagram; ///< Lance le dialogue d'edition des proprietes du schema - QAction *add_text; ///< Passe en mode "Ajout de texte" - QAction *add_column; ///< Ajoute une colonne au schema - QAction *remove_column; ///< Enleve une colonne du schema - QAction *add_row; ///< Augmente la hauteur du schema - QAction *remove_row; ///< Reduit la hauteur du schema - QAction *prj_edit_prop; ///< Edite les proprietes du projet - QAction *prj_add_diagram; ///< Ajoute un schema au projet - QAction *prj_del_diagram; ///< Supprime un schema du projet - QAction *prj_clean; ///< Nettoie un projet - QAction *zoom_in; ///< Zoome avant - QAction *zoom_out; ///< Zoome arriere + QAction *import_diagram; ///< Importe an existing diagram (not implemented) + QAction *export_diagram; ///< Export diagrams of the current project as imagess + QAction *print; ///< Print diagrams of the current project + QAction *quit_editor; ///< Quit the diagram editor + QAction *undo; ///< Cancel the latest action + QAction *redo; ///< Redo the latest cancelled operation + QAction *cut; ///< Cut selection to clipboard + QAction *copy; ///< Copy selection to clipboard + QAction *paste; ///< Paste clipboard content on the current diagram + QAction *select_all; ///< Select all + QAction *select_nothing; ///< Cancel selection + QAction *select_invert; ///< Invest selection + QAction *delete_selection; ///< Delete selection + QAction *rotate_selection; ///< Rotate selected elements and text items by 90 degrees + QAction *rotate_texts; ///< Direct selected text items to a specific angle + QAction *selection_prop; ///< Show a dialog describing the selection + QAction *conductor_reset; ///< Reset paths of selected conductors + QAction *conductor_default; ///< Show a dialog to edit default conductor properties + QAction *infos_diagram; ///< Show a dialog to edit diagram properties + QAction *add_text; ///< Tool to add an independent text item on diagrams + QAction *add_column; ///< Increase diagram width by adding an extra column + QAction *remove_column; ///< Decrease diagram width by removing the last column + QAction *add_row; ///< Increase diagram height by adding an extra row + QAction *remove_row; ///< Decrease diagram height by removing the last row + QAction *prj_edit_prop; ///< Edit the properties of the current project. + QAction *prj_add_diagram; ///< Add a diagram to the current project. + QAction *prj_del_diagram; ///< Delete a diagram from the current project + QAction *prj_clean; ///< Clean the content of the curent project by removing useless items + QAction *zoom_in; ///< Zoom in + QAction *zoom_out; ///< Zoom out QAction *zoom_fit; ///< Adjust zoom to fit the whole diagram, including potential elements outside its borders, in the view QAction *zoom_content; ///< Adjust zoom to fit all elements in the view, regardless of diagram borders - QAction *zoom_reset; ///< Remet le zoom 1:1 - QAction *tile_window; ///< Affiche les fenetre MDI en mosaique - QAction *cascade_window; ///< Affiche les fenetres MDI en cascade - QAction *prev_window; ///< Affiche la fenetre MDI precedente - QAction *next_window; ///< Affiche la fenetre MDI suivante + QAction *zoom_reset; ///< Reset zoom to 1:1 + QAction *tile_window; ///< Show MDI subwindows as tile + QAction *cascade_window; ///< Show MDI subwindows as cascade + QAction *prev_window; ///< Switch to the previous document + QAction *next_window; ///< Switch to the next document private: QMdiArea workspace; QSignalMapper windowMapper; - /// Dossier a utiliser pour Fichier > ouvrir + /// Directory to use for file dialogs such as File > save QDir open_dialog_dir; - /// Dock pour le Panel d'Elements + /// Dock for the elements panel QDockWidget *qdw_pa; - /// Dock pour la liste des annulations + /// Dock for the undo list QDockWidget *qdw_undo; - /// Panel d'Elements + /// Elements panel ElementsPanelWidget *pa; QMenu *windows_menu; QToolBar *main_bar; diff --git a/sources/qeticons.h b/sources/qeticons.h index 495ce1440..437eef0e1 100644 --- a/sources/qeticons.h +++ b/sources/qeticons.h @@ -19,15 +19,15 @@ #define QET_ICONS_H #include /** - Ce namespace est reserve a la declaration des icones de l'application - QElectroTech. + This namespace is meant to delare icons used within the QElectroTech + application. */ namespace QET { namespace Icons { void initIcons(); - // l'utilisation du mot-cle extern permet l'acces aux objets statiques - // depuis l'exterieur du namespace + // using the extern keyword enables access to static objects from outside the + // namespace extern QIcon Add; extern QIcon Allowed; extern QIcon ApplicationExit; diff --git a/sources/qetmessagebox.h b/sources/qetmessagebox.h index 16726cb47..4e600c819 100644 --- a/sources/qetmessagebox.h +++ b/sources/qetmessagebox.h @@ -20,14 +20,11 @@ #include namespace QET { /** - Ce namespace definit certaines methodes statiques visant a recreer le - comportement de certaines methodes statiques de la classe Qt - QMessageBox. - Le comportement est sense etre le meme sur les plateformes X11 et - Windows. En revanche, sous MacOS, si un widget parent est fourni, ces - methodes s'assurent que la boite de dialogue sera "window modal" mais - aussi qu'elle sera dotee du flag "Qt:Sheet", qui permet une meilleure - integration sous MacOS. + This namespace defines static methods behaving in a very similar way to some + static methods from the QMessageBox Qt class. The behavior is expected to be + the same under X11 and Windows. However, under MacOS, when a parent widget is + provided, these methodes ensure the dialog box is "window modal" and has the + Qt:Sheet flag, thus enabling a better MacOS integration. */ namespace MessageBox { QMessageBox::StandardButton critical (QWidget *, const QString &, const QString &, QMessageBox::StandardButtons = QMessageBox::Ok, QMessageBox::StandardButton = QMessageBox::NoButton); diff --git a/sources/qetprintpreviewdialog.h b/sources/qetprintpreviewdialog.h index 72bd1214d..e79a81797 100644 --- a/sources/qetprintpreviewdialog.h +++ b/sources/qetprintpreviewdialog.h @@ -24,20 +24,20 @@ class DiagramsChooser; class ExportPropertiesWidget; class QETProject; /** - Cette classe represente un dialogue permettant d'affiner les options - d'impression d'un projet a l'aide d'un apercu du resultat sur papier. + This class provides a dialog for users to refine printing options for a + particular project by relying on a visual print preview. */ class QETPrintPreviewDialog : public QDialog { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETPrintPreviewDialog(QETProject *, QPrinter *, QWidget * = 0, Qt::WindowFlags = 0); virtual ~QETPrintPreviewDialog(); private: QETPrintPreviewDialog(const QETPrintPreviewDialog &); - // methodes + // methods public: DiagramsChooser *diagramsChooser(); bool fitDiagramsToPages() const; @@ -60,7 +60,7 @@ class QETPrintPreviewDialog : public QDialog { void selectAllDiagrams(); void selectNoDiagram(); - // attributs + // attributes private: QETProject *project_; QPrinter *printer_; @@ -99,7 +99,7 @@ class QETPrintPreviewDialog : public QDialog { QLabel *fit_diagram_to_page_label_; ExportPropertiesWidget *render_properties_; - // methodes + // methods private: void build(); diff --git a/sources/qetproject.h b/sources/qetproject.h index ebf15e076..898143c2e 100644 --- a/sources/qetproject.h +++ b/sources/qetproject.h @@ -36,19 +36,15 @@ class XmlElementsCollection; class MoveElementsHandler; class MoveTitleBlockTemplatesHandler; /** - Cette classe represente un projet QET. Typiquement enregistre dans un - fichier, il s'agit d'un document XML integrant des schemas ainsi qu'une - collection d'elements embarques. Ce dernier attribut permet d'exporter des - schema sur d'autres machines sans se soucier de la presence des elements - sur celle-ci. - La classe QETProject gere l'enregistrement partiel. Ainsi, enregistrer les - modifications apportees a un element reenregistrera le fichier mais en - mettant a jour seulement les parties du document XML concerne. + This class represents a QET project. Typically saved as a .qet file, it + consists in an XML document grouping 0 to n diagrams and embedding an elements + collection. This collection enables users to export diagrams on remote + machines without wondering whether required elements are available to them. */ class QETProject : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETProject(int = 1, QObject * = 0); QETProject(const QString &, QObject * = 0); @@ -61,18 +57,18 @@ class QETProject : public QObject { // enums public: /** - Represente l'etat du projet + This enum lists possible states for a particular project. */ enum ProjectState { - Ok = 0, /// Le projet n'est pas en erreur - FileOpenFailed = 1, /// l'ouverture d'un fichier a echoue - XmlParsingFailed = 2, /// l'analyse XML a echoue - ProjectParsingRunning = 3, /// la lecture du projet est en cours - ProjectParsingFailed = 4, /// la lecture en tant que projet a echoue + Ok = 0, /// no error + FileOpenFailed = 1, /// file opening failed + XmlParsingFailed = 2, /// XML parsing failed + ProjectParsingRunning = 3, /// the XML content is currently being processed + ProjectParsingFailed = 4, /// the parsing of the XML content failed FileOpenDiscard = 5 /// the user cancelled the file opening }; - // methodes + // methods public: ProjectState state() const; QList diagrams() const; @@ -161,35 +157,35 @@ class QETProject : public QObject { NamesList namesListForIntegrationCategory(); ElementsLocation copyElementWithHandler(ElementDefinition *, ElementsCategory *, MoveElementsHandler *, QString &); - // attributs + // attributes private: - /// Chemin du fichier dans lequel ce projet est enregistre + /// File path this project is saved to QString file_path_; - /// Etat du projet + /// Current state of the project ProjectState state_; - /// Element XML representant le projet + /// XML document representing the project QDomDocument document_root_; - /// Schemas contenus dans le projet + /// Diagrams carried by the project QList diagrams_; - /// Collection d'elements embarquee + /// Embedded elements collection XmlElementsCollection *collection_; - /// Titre du projet + /// Project title QString project_title_; - /// Version de QElectroTech declaree dans le document XML lors de son ouverture + /// QElectroTech version declared in the XML document at opening time qreal project_qet_version_; /// Whether options were modified bool modified_; - /// booleen indiquant si le projet est en ReadOnly ou non + /// Whether the project is read only bool read_only_; - /// Chemin du fichier pour lequel ce projet est considere comme etant en lecture seule + /// Filepath for which this project is considered read only QString read_only_file_path_; - /// Nom de la categorie a utiliser pour l'integration automatique des elements + /// Name of the category used when automatically integrating elements within the embedded collection static QString integration_category_name; - /// Dimensions par defaut pour les nouveaux schemas dans ce projet + /// Default dimensions and properties for new diagrams created within the project BorderProperties default_border_properties_; - /// Proprietes par defaut des conducteurs pour les nouveaux schemas dans ce projet + /// Default conductor properties for new diagrams created within the project ConductorProperties default_conductor_properties_; - /// Proprietes par defaut du cartouche pour les nouveaux schemas dans ce projet + /// Default title block properties for new diagrams created within the project TitleBlockProperties default_titleblock_properties_; /// Embedded title block templates collection TitleBlockTemplatesProjectCollection titleblocks_; diff --git a/sources/qetregexpvalidator.h b/sources/qetregexpvalidator.h index 0c3c53586..a2e913b82 100644 --- a/sources/qetregexpvalidator.h +++ b/sources/qetregexpvalidator.h @@ -19,13 +19,13 @@ #define QET_REGEXP_VALIDATOR_H #include /** - Cette classe agit comme un QRegExpValidator a ceci pres qu'elle emet un - signal lorsqu'elle ne valide pas une saisie. + This class acts like a QRegExpValidator except it emits a signal when the + input validation fails. */ class QETRegExpValidator : public QRegExpValidator { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETRegExpValidator(QObject *); QETRegExpValidator(const QRegExp &, QObject *); @@ -33,7 +33,7 @@ class QETRegExpValidator : public QRegExpValidator { private: QETRegExpValidator(const QETRegExpValidator &); - // methodes + // methods public: virtual QValidator::State validate(QString &, int &) const; diff --git a/sources/qetsingleapplication.h b/sources/qetsingleapplication.h index 1c74f78d3..157b739a9 100644 --- a/sources/qetsingleapplication.h +++ b/sources/qetsingleapplication.h @@ -21,12 +21,12 @@ #include #include /** - Cette classe represente une application Qt ne s'executant qu'en un seul - exemplaire en fonction d'une cle unique (de type QString). + This class represents a Qt Application executing only a single instance + depending on a unique string key. */ class QETSingleApplication : public QApplication { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETSingleApplication(int &, char **, const QString); virtual ~QETSingleApplication(); @@ -34,7 +34,7 @@ class QETSingleApplication : public QApplication { private: QETSingleApplication(const QETSingleApplication &); - // methodes + // methods public: bool isRunning(); bool sendMessage(const QString &); @@ -45,7 +45,7 @@ class QETSingleApplication : public QApplication { signals: void messageAvailable(QString); - // attributs + // attributes private: bool is_running_; QString unique_key_; diff --git a/sources/qettabbar.h b/sources/qettabbar.h index 9d1f74d92..caacaf9bf 100644 --- a/sources/qettabbar.h +++ b/sources/qettabbar.h @@ -20,16 +20,16 @@ #include #include /** - Cette classe represente une barre d'onglets. - Elle se distingue d'une QTabBar sur les points suivants : - *elle emet un signal lorsque le dernier onglet est ferme - *elle emet un signal lorsque le premier onglet est insere - *elle permet de passer d'un onglet a l'autre avec la rollette + This class provides a tab bar. + It is different from a QTabBar on the following points: + * it emits a signal when the last tab is closed; + * it emits a signal whe the first is inserted; + * it allows switching tabs using the mouse wheel. */ class QETTabBar : public QTabBar { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETTabBar(QWidget * = 0); virtual~QETTabBar(); @@ -37,7 +37,7 @@ class QETTabBar : public QTabBar { private: QETTabBar(const QETTabBar &); - // methodes + // methods public: void activateNextTab(); void activatePreviousTab(); @@ -70,7 +70,7 @@ class QETTabBar : public QTabBar { int tabForMovedPosition(const QPoint &); bool posMatchesTabRect(const QRect &, const QPoint &) const; - // attributs + // attributes private: bool no_more_tabs_; bool movable_tabs_; diff --git a/sources/qettabwidget.h b/sources/qettabwidget.h index c071425f9..d872af20c 100644 --- a/sources/qettabwidget.h +++ b/sources/qettabwidget.h @@ -20,15 +20,14 @@ #include class QETTabBar; /** - Cette classe se comporte comme un QTabWidget a ceci pres qu'elle utilise - un QETTAbBar pour gerer ses onglets. - Elle transmet aussi ses signaux lastTabRemoved() et firstTabInserted(). + This class behaves like a QTabWidget except it uses a QETTAbBar to manage its + tabs. It also transmits the lastTabRemoved() and firstTabInserted() signals. @see QETTabBar */ class QETTabWidget : public QTabWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QETTabWidget(QWidget * = 0); virtual~QETTabWidget(); @@ -36,7 +35,7 @@ class QETTabWidget : public QTabWidget { private: QETTabWidget(const QETTabWidget &); - // methodes + // methods public: void setMovable(bool); bool isMovable() const; @@ -52,7 +51,7 @@ class QETTabWidget : public QTabWidget { void tabMoved(int, int); void tabDoubleClicked(int); - // attributs + // attributes private: QETTabBar *tab_bar_; }; diff --git a/sources/qfilenameedit.h b/sources/qfilenameedit.h index 0bc62841d..6584bd8d9 100644 --- a/sources/qfilenameedit.h +++ b/sources/qfilenameedit.h @@ -22,16 +22,17 @@ #include class QETRegExpValidator; /** - Cette classe represente un champ de texte dedie a la saisie d'un nom de - fichier. Il permet de saisir un nom correspondant a l'expression reguliere - ^[0-9a-z_-\.]+$. Cela permet d'eviter les problemes avec des caracteres - accentues, en majuscules, sortant de la table ASCII ou non-imprimables, ce - qui devrait ameliorer la portabilite des elements crees par l'utilisateur. + This class represents a textfield dedicated to input a portable filename (not + a path). + It enables users to input a name matching the regular expression + ^[0-9a-z_-\.]+$, thus avoiding problems with diacritics, non-printable, + non-ASCII or uppercase characters, which should improve the portability of + elements created by users. */ class QFileNameEdit : public QLineEdit { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QFileNameEdit(QWidget * = 0); QFileNameEdit(const QString &, QWidget * = 0); @@ -39,7 +40,7 @@ class QFileNameEdit : public QLineEdit { private: QFileNameEdit(const QFileNameEdit &); - // methodes + // methods public: bool isEmpty(); bool isValid(); @@ -51,7 +52,7 @@ class QFileNameEdit : public QLineEdit { private slots: void validationFailed(); - // attributs + // attributes private: QRegExp regexp_; QETRegExpValidator *validator_; diff --git a/sources/qgimanager.h b/sources/qgimanager.h index 2bb0129c0..45b92fa86 100644 --- a/sources/qgimanager.h +++ b/sources/qgimanager.h @@ -21,25 +21,24 @@ #include #include /** - Cette classe represente un gestionnaire de QGraphicsItem. - Elle permet de supprimer des QGraphicsItem lorsqu'il n'y a plus aucune - reference vers eux et qu'ils ne sont plus sur la scene. + This class provides a QGraphicsItem manager, which can delete QGraphicsItem + as soon as there is no reference to them anymore. */ class QGIManager { - // constructeurs, destructeurs + // constructors, destructors public: QGIManager(QGraphicsScene *); virtual ~QGIManager(); private: QGIManager(const QGIManager &); - // attributs + // attributes private: QGraphicsScene *scene; QHash qgi_manager; bool destroy_qgi_on_delete; - //methodes + // methods public: void manage(QGraphicsItem *); void release(QGraphicsItem *); diff --git a/sources/qtextorientationspinboxwidget.h b/sources/qtextorientationspinboxwidget.h index e19448e46..3b2416c4b 100644 --- a/sources/qtextorientationspinboxwidget.h +++ b/sources/qtextorientationspinboxwidget.h @@ -20,29 +20,28 @@ #include #include "qtextorientationwidget.h" /** - Cette classe est un widget regroupant cote a cote un QTextOrientationWidget - et un QSpinBox. + This class provides a widget grouping a QTextOrientationWidget and QSpinBox + next to each other. @see QTextOrientationWidget */ class QTextOrientationSpinBoxWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QTextOrientationSpinBoxWidget(QWidget * = 0); virtual ~QTextOrientationSpinBoxWidget(); private: QTextOrientationSpinBoxWidget(const QTextOrientationSpinBoxWidget &); - // signaux signals: /** - Signaux emis lorsque l'utilisateur a fini d'editer l'orientation + Signals emitted when users have finished editing the orientation. */ void editingFinished(double); void editingFinished(); - // methodes + // methods public: QTextOrientationWidget *orientationWidget() const; QDoubleSpinBox *spinBox() const; @@ -61,7 +60,7 @@ class QTextOrientationSpinBoxWidget : public QWidget { private slots: void emitChangeSignals(); - // attributs + // attributes private: QTextOrientationWidget *orientation_widget_; QDoubleSpinBox *spin_box_; diff --git a/sources/qtextorientationwidget.h b/sources/qtextorientationwidget.h index 23383950e..922170e16 100644 --- a/sources/qtextorientationwidget.h +++ b/sources/qtextorientationwidget.h @@ -19,12 +19,12 @@ #define Q_TEXT_ORIENTATION_WIDGET_H #include /** - Cette classe permet de representer graphiquement l'orientation d'un texte. + This class provides a visual representation of a text orientation. */ class QTextOrientationWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: QTextOrientationWidget(QWidget * = 0); virtual ~QTextOrientationWidget(); @@ -32,7 +32,7 @@ class QTextOrientationWidget : public QWidget { QTextOrientationWidget(const QTextOrientationWidget &); QTextOrientationWidget &operator=(const QTextOrientationWidget &); - // methodes publiques + // methods public: double orientation() const; void setFont(const QFont &); @@ -44,7 +44,6 @@ class QTextOrientationWidget : public QWidget { bool isReadOnly() const; void setReadOnly(bool); - // slots publics public slots: void setOrientation(const double &); @@ -55,34 +54,31 @@ class QTextOrientationWidget : public QWidget { void mouseMoveEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); - // signaux signals: /** - Signal emis lorsque l'utilisateur specifie une orientation en cliquant - sur le widget + Signal emitted when users specify an orientation by clicking the widget. */ void orientationChanged(double); - // attributs prives + // attributes private: - /// Intervalle entre les petits angles privilegies, en degres + /// Interval between commonly used angles (represented by squares), in degrees double squares_interval_; - /// angle represente + /// current angle double current_orientation_; - /// Booleen indiquant s'il faut afficher ou non un texte + /// Whether to display an example text bool display_text_; - /// Police utilisee pour le texte affiche + /// Font used to render the example text QFont text_font_; - /// Hash associant les textes disponible a leur longueur en pixels + /// Associate available example texts with their length (in pixels) QHash text_size_hash_; - /// Angle specifique a mettre en valeur + /// Specific angle to be highlighted double highlight_angle_; - /// Booleen indiquant s'il faut mettre en valeur un des angles + /// Whether to highlight a specific angle bool must_highlight_angle_; - /// Booleen indiquant si le widget est en mode "lecture seule" ou non + /// Whether this widget is read only bool read_only_; - // methodes privees private: QString getMostUsableStringForRadius(const qreal &); void generateTextSizeHash(); diff --git a/sources/recentfiles.h b/sources/recentfiles.h index 4fb54f665..a006bb3b4 100644 --- a/sources/recentfiles.h +++ b/sources/recentfiles.h @@ -21,19 +21,19 @@ #include class QMenu; /** - Cette classe permet de gerer des fichiers recents. + This class provides a way to manage recently opened files. */ class RecentFiles : public QObject { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: RecentFiles(const QString &, int = 10, QObject * = 0); virtual ~RecentFiles(); private: RecentFiles(const RecentFiles &); - // methodes + // methods public: int size() const; QMenu *menu() const; @@ -57,7 +57,7 @@ class RecentFiles : public QObject { private slots: void handleMenuRequest(const QString &); - // attributs + // attributes private: QString identifier_; int size_; diff --git a/sources/terminal.h b/sources/terminal.h index 3816a22ce..cb98b8527 100644 --- a/sources/terminal.h +++ b/sources/terminal.h @@ -24,12 +24,12 @@ class Conductor; class Diagram; class Element; /** - Cette classe represente une borne d'un element, c'est-a-dire un - branchement possible pour un conducteur. + This class represents a terminal of an electrical element, i.e. a possible + plug point for conductors. */ class Terminal : public QGraphicsItem { - // constructeurs, destructeur + // constructors, destructor public: Terminal(QPointF, QET::Orientation, Element * = 0, Diagram * = 0); Terminal(qreal, qreal, QET::Orientation, Element * = 0, Diagram * = 0); @@ -38,26 +38,26 @@ class Terminal : public QGraphicsItem { private: Terminal(const Terminal &); - // methodes + // methods public: /** - permet de caster un QGraphicsItem en Terminal avec qgraphicsitem_cast - @return le type de QGraphicsItem + Enable the use of qgraphicsitem_cast to safely cast a QGraphicsItem into a + Terminal + @return the QGraphicsItem type */ virtual int type() const { return Type; } - // implementation des methodes virtuelles pures de QGraphicsItem + // implementation of QGraphicsItem pure virtual methods void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); QRectF boundingRect() const; - // methodes de manipulation des conducteurs lies a cette borne + // methods to manage conductors attached to the terminal bool addConductor(Conductor *); void removeConductor(Conductor *); int conductorsCount() const; Diagram *diagram() const; Element *parentElement() const; - // methodes de lecture QList conductors() const; QET::Orientation orientation() const; QPointF dockConductor() const; @@ -65,13 +65,13 @@ class Terminal : public QGraphicsItem { bool isLinkedTo(Terminal *); bool canBeLinkedTo(Terminal *); - // methodes relatives a l'import/export au format XML + // methods related to XML import/export static bool valideXml(QDomElement &); bool fromXml (QDomElement &); QDomElement toXml (QDomDocument &) const; protected: - // methodes de gestion des evenements + // methods related to events management void hoverEnterEvent (QGraphicsSceneHoverEvent *); void hoverMoveEvent (QGraphicsSceneHoverEvent *); void hoverLeaveEvent (QGraphicsSceneHoverEvent *); @@ -79,60 +79,58 @@ class Terminal : public QGraphicsItem { void mouseMoveEvent (QGraphicsSceneMouseEvent *); void mouseReleaseEvent(QGraphicsSceneMouseEvent *); - // attributs + // attributes public: enum { Type = UserType + 1002 }; - /// Longueur d'une borne + /// terminal length static const qreal terminalSize; - // differentes couleurs statiques utilisables pour l'effet "hover" - /// couleur par defaut + // Various static colors used for hover effects + /// default color static QColor neutralColor; - /// couleur indiquant une action autorisee + /// color for legal actions static QColor allowedColor; - /// couleur indiquant une action autorisee mais pas forcement recommandee + /// color for allowed but fuzzy or not recommended actions static QColor warningColor; - /// couleur indiquant une action interdite + /// color for forbidden actions static QColor forbiddenColor; - // attributs prives private: - /// Pointeur vers l'element parent + /// Parent electrical element Element *parent_element_; - /// coordonnees du point d'amarrage du conducteur + /// docking point for conductors QPointF dock_conductor_; - /// coordonnees du point d'amarrage de l'element + /// docking point for parent element QPointF dock_elmt_; - /// orientation de la borne + /// terminal orientation QET::Orientation ori_; - /// liste des conductors lies a cette borne + /// List of conductors attached to the terminal QList conductors_; - /// pointeur vers un rectangle correspondant au bounding rect - /// permet de ne calculer le bounding rect qu'une seule fois - /// le pointeur c'est parce que le compilo exige une methode const + /// Pointer to a rectangle representing the terminal bounding rect; + /// used to calculate the bounding rect once only; + /// used a pointer because boundingRect() is supposed to be const. QRectF *br_; - /// Derniere borne mise en contact avec celle-ci + /// Last terminal seen through an attached conductor Terminal *previous_terminal_; - /// Booleen indiquant si le pointeur est au-dessus de la borne ou non + /// Whether the mouse pointer is hovering the terminal bool hovered_; - /// couleur de l'effet hover de la borne + /// Color used for the hover effect QColor hovered_color_; - // methodes privees private: - // methode initialisant les differents membres de la borne void init(QPointF, QET::Orientation); }; /** - @return Le nombre de conducteurs associes a la borne + @return the number of conductors attached to the terminal. */ inline int Terminal::conductorsCount() const { return(conductors_.size()); } /** - @return La position du point d'amarrage de la borne + @return the position, relative to the scene, of the docking point for + conductors. */ inline QPointF Terminal::dockConductor() const { return(mapToScene(dock_conductor_)); diff --git a/sources/titleblockproperties.h b/sources/titleblockproperties.h index 8dec97658..831974c65 100644 --- a/sources/titleblockproperties.h +++ b/sources/titleblockproperties.h @@ -21,17 +21,18 @@ #include #include "diagramcontext.h" /** - Cette classe est un conteneur pour les proprietes d'un cartouche de schema - : titre, auteur, date, nom de fichier et folio + This class provides a container for the properties of a particular title + block, i.e. title, author, date, filename, folio, template, custom + properties, ... */ class TitleBlockProperties { public: TitleBlockProperties(); virtual ~TitleBlockProperties(); - /// Specifie comment gerer la date + /// Lists the various ways to handle the date enum DateManagement { - UseDateValue, ///< utilise l'attribut date - CurrentDate ///< utilise la date courante + UseDateValue, ///< use the date attribute + CurrentDate ///< use the current date }; bool operator==(const TitleBlockProperties &); @@ -44,13 +45,13 @@ class TitleBlockProperties { QDate finalDate() const ; - // attributs - QString title; ///< Titre affiche par le cartouche - QString author; ///< Auteur affiche par le cartouche - QDate date; ///< Date affichee par le cartouche ; si la date est nulle, le champ reste vide - QString filename; ///< Nom de fichier affiche par le cartouche - QString folio; ///< Folio affiche par le cartouche - DateManagement useDate; ///< Indique s'il faut utiliser ou non l'attribut date + // attributes + QString title; ///< Folio title (displayed by the default template) + QString author; ///< Author of the diagram/folio (displayed by the default template) + QDate date; ///< Date (displayed by the default template) + QString filename; ///< Filename (displayed by the default template) + QString folio; ///< Folio information (displayed by the default template) + DateManagement useDate; ///< Wheter to use the date attribute QString template_name; ///< Name of the template used to render the title block - an empty string means "the default template provided by the application" DiagramContext context; ///< Container for the additional, user-defined fields diff --git a/sources/titleblockpropertieswidget.h b/sources/titleblockpropertieswidget.h index c83dd677b..e25982821 100644 --- a/sources/titleblockpropertieswidget.h +++ b/sources/titleblockpropertieswidget.h @@ -22,19 +22,18 @@ class DiagramContextWidget; class TitleBlockTemplatesCollection; /** - Ce widget permet d'editer un objet TitleBlockProperties, c'est-a-dire les - valeurs affichees par le cartouche d'un schema. + This widget enable users to edit the properties of a title block. */ class TitleBlockPropertiesWidget : public QWidget { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: TitleBlockPropertiesWidget(const TitleBlockProperties &titleblock = TitleBlockProperties(), bool = false, QWidget * = 0); virtual ~TitleBlockPropertiesWidget(); private: TitleBlockPropertiesWidget(const TitleBlockPropertiesWidget &); - // methodes + // methods public: TitleBlockProperties titleBlockProperties() const; void setTitleBlockProperties(const TitleBlockProperties &); @@ -49,14 +48,12 @@ class TitleBlockPropertiesWidget : public QWidget { QString currentTitleBlockTemplateName() const; void setCurrentTitleBlockTemplateName(const QString &); - // slots: private slots: void updateTemplateList(); void editCurrentTitleBlockTemplate(); void duplicateCurrentTitleBlockTemplate(); void setDateNow(); - // private methods private: void initWidgets(const TitleBlockProperties &); void initLayouts(); @@ -64,7 +61,7 @@ class TitleBlockPropertiesWidget : public QWidget { signals: void editTitleBlockTemplate(const QString &, bool); - // attributs + // attributes private: QStackedLayout *stack_layout; QLabel *titleblock_template_label; diff --git a/sources/xmlelementdefinition.h b/sources/xmlelementdefinition.h index 3081fc2c4..117628314 100644 --- a/sources/xmlelementdefinition.h +++ b/sources/xmlelementdefinition.h @@ -22,8 +22,8 @@ class XmlElementsCategory; class XmlElementsCollection; /** - Cette classe represente la definition d'un element extraite d'un - document XML (typiquement : un projet QET). + This class represents an element definition stored within an XML document + (e.g. the embedded collection of a QET project). */ class XmlElementDefinition : public ElementDefinition { Q_OBJECT @@ -36,7 +36,7 @@ class XmlElementDefinition : public ElementDefinition { private: XmlElementDefinition(const XmlElementDefinition &); - // methodes + // methods public: virtual QDomElement xml(); virtual bool setXml(const QDomElement &); @@ -59,7 +59,7 @@ class XmlElementDefinition : public ElementDefinition { void written(); void removed(const QString &); - // attributs + // attributes private: bool is_null_; QString name_; diff --git a/sources/xmlelementscategory.h b/sources/xmlelementscategory.h index a7846c1fa..746d76e77 100644 --- a/sources/xmlelementscategory.h +++ b/sources/xmlelementscategory.h @@ -22,13 +22,13 @@ class XmlElementsCollection; class XmlElementDefinition; /** - Cette classe represente une categorie d'elements issue d'un document XML - (typiquement : un projet QET). + This class represents an elements category stored within an XML document + (e.g. the embedded collection of a QET project). */ class XmlElementsCategory : public ElementsCategory { Q_OBJECT - // constructeurs, destructeur + // constructors, destructor public: XmlElementsCategory(XmlElementsCategory * = 0, XmlElementsCollection * = 0); XmlElementsCategory(const QDomElement &, XmlElementsCategory * = 0, XmlElementsCollection * = 0); @@ -37,7 +37,7 @@ class XmlElementsCategory : public ElementsCategory { private: XmlElementsCategory(const XmlElementsCategory &); - // methodes + // methods public: virtual QString pathName() const; virtual QString virtualPath(); @@ -77,19 +77,19 @@ class XmlElementsCategory : public ElementsCategory { void deleteContent(); void loadContent(const QDomElement &); - // attributs + // attributes protected: - /// Collection parente, de type XML + /// Parent collection XmlElementsCollection *xml_parent_collection_; - /// Categorie parente, de type XML + /// Parent category XmlElementsCategory *xml_parent_category_; - /// Sous-categories contenues dans cette categorie + /// Child categories QHash categories_; - /// Elements contenus dans cette categorie + /// Child elements QHash elements_; - /// Nom de cette categorie dans l'arborescence + /// Nae of this category within the tree QString name_; - /// Description XML de cette categorie + /// XML description of this category QDomDocument xml_element_; }; #endif diff --git a/sources/xmlelementscollection.h b/sources/xmlelementscollection.h index c6730f508..74d1073f4 100644 --- a/sources/xmlelementscollection.h +++ b/sources/xmlelementscollection.h @@ -21,14 +21,13 @@ #include "elementscollection.h" class XmlElementsCategory; /** - Cette classe represente une collection d'elements accessible via un - document XML (exemple : un projet QET). Typiquement, il s'agit de la - collection embarquee d'un projet QET. + This class represents an elements collection stored within an XML document + (e.g. the embedded collection of a QET project). */ class XmlElementsCollection : public ElementsCollection { Q_OBJECT public: - // constructeurs, destructeur + // constructors, destructor XmlElementsCollection(ElementsCollectionItem * = 0); XmlElementsCollection(const QDomElement &, ElementsCollectionItem * = 0); virtual ~XmlElementsCollection(); @@ -36,7 +35,7 @@ class XmlElementsCollection : public ElementsCollection { private: XmlElementsCollection(const XmlElementsCollection &); - // methodes + // methods public: virtual QString title() const; virtual ElementsCategory *rootCategory(); @@ -61,7 +60,7 @@ class XmlElementsCollection : public ElementsCollection { private: void deleteContent(); - // attributs + // attributes private: XmlElementsCategory *root; };