Il est desormais possible de ne pas conserver les couleurs des conducteurs lors de l'export d'un schema.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@756 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2009-10-03 22:02:14 +00:00
parent 02446b878c
commit 8b49a0fcef
8 changed files with 68 additions and 25 deletions

View File

@@ -452,7 +452,16 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem *options, QWi
qp -> setRenderHint(QPainter::Antialiasing, false); qp -> setRenderHint(QPainter::Antialiasing, false);
// determine la couleur du conducteur // determine la couleur du conducteur
QColor final_conductor_color = isSelected() ? Qt::red : properties_.color; QColor final_conductor_color(properties_.color);
if (isSelected()) {
final_conductor_color = Qt::red;
} else {
if (Diagram *parent_diagram = diagram()) {
if (!parent_diagram -> drawColoredConductors()) {
final_conductor_color = Qt::black;
}
}
}
// affectation du QPen et de la QBrush modifies au QPainter // affectation du QPen et de la QBrush modifies au QPainter
qp -> setBrush(conductor_brush); qp -> setBrush(conductor_brush);

View File

@@ -41,6 +41,7 @@ Diagram::Diagram(QObject *parent) :
use_border(true), use_border(true),
moved_elements_fetched(false), moved_elements_fetched(false),
draw_terminals(true), draw_terminals(true),
draw_colored_conductors_(true),
project_(0), project_(0),
read_only_(false) read_only_(false)
{ {
@@ -927,6 +928,15 @@ void Diagram::setDrawTerminals(bool dt) {
} }
} }
/**
Definit s'il faut respecter ou non les couleurs des conducteurs.
Si non, les conducteurs sont tous dessines en noir.
@param dcc true pour respecter les couleurs, false sinon
*/
void Diagram::setDrawColoredConductors(bool dcc) {
draw_colored_conductors_ = dcc;
}
/** /**
@return la liste des conducteurs selectionnes sur le schema @return la liste des conducteurs selectionnes sur le schema
*/ */

View File

@@ -81,6 +81,7 @@ class Diagram : public QGraphicsScene {
QGIManager *qgi_manager; QGIManager *qgi_manager;
QUndoStack *undo_stack; QUndoStack *undo_stack;
bool draw_terminals; bool draw_terminals;
bool draw_colored_conductors_;
QDomDocument xml_document; QDomDocument xml_document;
QETProject *project_; QETProject *project_;
bool read_only_; bool read_only_;
@@ -137,6 +138,8 @@ class Diagram : public QGraphicsScene {
bool drawTerminals() const; bool drawTerminals() const;
void setDrawTerminals(bool); void setDrawTerminals(bool);
bool drawColoredConductors() const;
void setDrawColoredConductors(bool);
QRectF border() const; QRectF border() const;
QString title() const; QString title() const;
@@ -300,4 +303,9 @@ inline bool Diagram::drawTerminals() const {
return(draw_terminals); return(draw_terminals);
} }
/// @return true si les couleurs des conducteurs sont respectees, false sinon
inline bool Diagram::drawColoredConductors() const {
return(draw_colored_conductors_);
}
#endif #endif

View File

@@ -313,6 +313,7 @@ void ExportDialog::saveReloadDiagramParameters(Diagram *diagram, bool save) {
static bool state_drawInset; static bool state_drawInset;
static bool state_drawGrid; static bool state_drawGrid;
static bool state_drawTerm; static bool state_drawTerm;
static bool state_drawColCond;
static bool state_useBorder; static bool state_useBorder;
if (save) { if (save) {
@@ -321,12 +322,14 @@ void ExportDialog::saveReloadDiagramParameters(Diagram *diagram, bool save) {
state_drawInset = diagram -> border_and_inset.insetIsDisplayed(); state_drawInset = diagram -> border_and_inset.insetIsDisplayed();
state_drawGrid = diagram -> displayGrid(); state_drawGrid = diagram -> displayGrid();
state_drawTerm = diagram -> drawTerminals(); state_drawTerm = diagram -> drawTerminals();
state_drawColCond = diagram -> drawColoredConductors();
state_useBorder = diagram -> useBorder(); state_useBorder = diagram -> useBorder();
ExportProperties export_properties = epw -> exportProperties(); ExportProperties export_properties = epw -> exportProperties();
diagram -> setUseBorder (export_properties.exported_area == QET::BorderArea); diagram -> setUseBorder (export_properties.exported_area == QET::BorderArea);
diagram -> setDrawTerminals (export_properties.draw_terminals); diagram -> setDrawTerminals (export_properties.draw_terminals);
diagram -> setDrawColoredConductors (export_properties.draw_colored_conductors);
diagram -> setDisplayGrid (export_properties.draw_grid); diagram -> setDisplayGrid (export_properties.draw_grid);
diagram -> border_and_inset.displayBorder(export_properties.draw_border); diagram -> border_and_inset.displayBorder(export_properties.draw_border);
diagram -> border_and_inset.displayInset (export_properties.draw_inset); diagram -> border_and_inset.displayInset (export_properties.draw_inset);
@@ -336,6 +339,7 @@ void ExportDialog::saveReloadDiagramParameters(Diagram *diagram, bool save) {
diagram -> border_and_inset.displayInset(state_drawInset); diagram -> border_and_inset.displayInset(state_drawInset);
diagram -> setDisplayGrid(state_drawGrid); diagram -> setDisplayGrid(state_drawGrid);
diagram -> setDrawTerminals(state_drawTerm); diagram -> setDrawTerminals(state_drawTerm);
diagram -> setDrawColoredConductors(state_drawColCond);
diagram -> setUseBorder(state_useBorder); diagram -> setUseBorder(state_useBorder);
} }
} }

View File

@@ -33,6 +33,7 @@ ExportProperties::ExportProperties() :
draw_border(true), draw_border(true),
draw_inset(true), draw_inset(true),
draw_terminals(false), draw_terminals(false),
draw_colored_conductors(true),
exported_area(QET::BorderArea) exported_area(QET::BorderArea)
{ {
} }
@@ -55,6 +56,7 @@ void ExportProperties::toSettings(QSettings &settings, const QString &prefix) co
settings.setValue(prefix + "drawborder", draw_border); settings.setValue(prefix + "drawborder", draw_border);
settings.setValue(prefix + "drawinset", draw_inset); settings.setValue(prefix + "drawinset", draw_inset);
settings.setValue(prefix + "drawterminals", draw_terminals); settings.setValue(prefix + "drawterminals", draw_terminals);
settings.setValue(prefix + "drawcoloredconductors", draw_colored_conductors);
settings.setValue(prefix + "area", QET::diagramAreaToString(exported_area)); settings.setValue(prefix + "area", QET::diagramAreaToString(exported_area));
} }
@@ -74,6 +76,7 @@ void ExportProperties::fromSettings(QSettings &settings, const QString &prefix)
draw_border = settings.value(prefix + "drawborder", true ).toBool(); draw_border = settings.value(prefix + "drawborder", true ).toBool();
draw_inset = settings.value(prefix + "drawinset", true ).toBool(); draw_inset = settings.value(prefix + "drawinset", true ).toBool();
draw_terminals = settings.value(prefix + "drawterminals", false).toBool(); draw_terminals = settings.value(prefix + "drawterminals", false).toBool();
draw_colored_conductors = settings.value(prefix + "drawcoloredconductors", true ).toBool();
exported_area = QET::diagramAreaFromString(settings.value(prefix + "area", "border").toString()); exported_area = QET::diagramAreaFromString(settings.value(prefix + "area", "border").toString());
} }

View File

@@ -43,6 +43,7 @@ class ExportProperties {
bool draw_border; ///< Faut-il dessiner le cadre ? bool draw_border; ///< Faut-il dessiner le cadre ?
bool draw_inset; ///< Faut-il dessiner le cartouche ? bool draw_inset; ///< Faut-il dessiner le cartouche ?
bool draw_terminals; ///< Faut-il dessiner les bornes ? 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 QET::DiagramArea exported_area; ///< Zone du schema a exporter
}; };
#endif #endif

View File

@@ -52,6 +52,7 @@ ExportProperties ExportPropertiesWidget::exportProperties() const {
export_properties.draw_border = draw_border -> isChecked(); export_properties.draw_border = draw_border -> isChecked();
export_properties.draw_inset = draw_inset -> isChecked(); export_properties.draw_inset = draw_inset -> isChecked();
export_properties.draw_terminals = draw_terminals -> isChecked(); export_properties.draw_terminals = draw_terminals -> isChecked();
export_properties.draw_colored_conductors = draw_colored_conductors -> isChecked();
export_properties.exported_area = export_border -> isChecked() ? QET::BorderArea : QET::ElementsArea; export_properties.exported_area = export_border -> isChecked() ? QET::BorderArea : QET::ElementsArea;
return(export_properties); return(export_properties);
@@ -71,6 +72,7 @@ void ExportPropertiesWidget::setExportProperties(const ExportProperties &export_
draw_border -> setChecked(export_properties.draw_border); draw_border -> setChecked(export_properties.draw_border);
draw_inset -> setChecked(export_properties.draw_inset); draw_inset -> setChecked(export_properties.draw_inset);
draw_terminals -> setChecked(export_properties.draw_terminals); draw_terminals -> setChecked(export_properties.draw_terminals);
draw_colored_conductors -> setChecked(export_properties.draw_colored_conductors);
if (export_properties.exported_area == QET::BorderArea) { if (export_properties.exported_area == QET::BorderArea) {
export_border -> setChecked(true); export_border -> setChecked(true);
@@ -157,6 +159,10 @@ void ExportPropertiesWidget::build() {
draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options); draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options);
optionshlayout -> addWidget(draw_terminals, 2, 1); optionshlayout -> addWidget(draw_terminals, 2, 1);
// conserver les couleurs des conducteurs
draw_colored_conductors = new QCheckBox(tr("Conserver les couleurs des conducteurs"), groupbox_options);
optionshlayout -> addWidget(draw_colored_conductors, 3, 0);
vboxLayout -> addWidget(groupbox_options); vboxLayout -> addWidget(groupbox_options);
vboxLayout -> addStretch(); vboxLayout -> addStretch();
@@ -170,6 +176,7 @@ void ExportPropertiesWidget::build() {
setTabOrder(draw_border, draw_grid); setTabOrder(draw_border, draw_grid);
setTabOrder(draw_grid, draw_inset); setTabOrder(draw_grid, draw_inset);
setTabOrder(draw_inset, draw_terminals); setTabOrder(draw_inset, draw_terminals);
setTabOrder(draw_terminals, draw_colored_conductors);
// connexion du bouton permettant le choix du repertoire // connexion du bouton permettant le choix du repertoire
connect(button_browse, SIGNAL(released()), this, SLOT(slot_chooseADirectory())); connect(button_browse, SIGNAL(released()), this, SLOT(slot_chooseADirectory()));

View File

@@ -59,6 +59,7 @@ class ExportPropertiesWidget : public QWidget {
QCheckBox *draw_border; QCheckBox *draw_border;
QCheckBox *draw_inset; QCheckBox *draw_inset;
QCheckBox *draw_terminals; QCheckBox *draw_terminals;
QCheckBox *draw_colored_conductors;
QRadioButton *export_border; QRadioButton *export_border;
QRadioButton *export_elements; QRadioButton *export_elements;
QButtonGroup *exported_content_choices; QButtonGroup *exported_content_choices;