mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-14 20:33:05 +02:00
-Cette ligne, et les suivantes ci-dessous, seront ignorées-- M sources/aboutqet.cpp M sources/bordertitleblock.cpp M sources/conductorproperties.h M sources/configdialog.cpp M sources/configpages.cpp M sources/configpages.h M sources/createdxf.h M sources/diagram.cpp M sources/diagram.h M sources/diagramcommands.cpp M sources/diagramcommands.h M sources/diagramprintdialog.cpp M sources/diagramprintdialog.h M sources/diagramschooser.cpp M sources/diagramschooser.h M sources/diagramview.cpp M sources/diagramview.h M sources/dvevent/dveventaddimage.cpp M sources/dvevent/dveventaddshape.cpp M sources/editor/arceditor.cpp M sources/editor/arceditor.h M sources/editor/editorcommands.cpp M sources/editor/editorcommands.h M sources/editor/elementitemeditor.h M sources/editor/elementprimitivedecorator.cpp M sources/editor/elementscene.cpp M sources/editor/elementscene.h M sources/editor/elementview.cpp M sources/editor/ellipseeditor.cpp M sources/editor/ellipseeditor.h M sources/editor/esevent/eseventaddtext.cpp M sources/editor/esevent/eseventaddtextfield.cpp M sources/editor/esevent/eseventinterface.cpp M sources/editor/graphicspart/customelementpart.h M sources/editor/graphicspart/parttext.cpp M sources/editor/graphicspart/parttext.h M sources/editor/graphicspart/parttextfield.cpp M sources/editor/graphicspart/parttextfield.h M sources/editor/lineeditor.cpp M sources/editor/lineeditor.h M sources/editor/polygoneditor.cpp M sources/editor/qetelementeditor.cpp M sources/editor/qetelementeditor.h M sources/editor/rectangleeditor.cpp M sources/editor/rectangleeditor.h M sources/editor/styleeditor.cpp M sources/editor/styleeditor.h M sources/editor/terminaleditor.cpp M sources/editor/terminaleditor.h M sources/editor/texteditor.cpp M sources/editor/texteditor.h M sources/editor/textfieldeditor.cpp M sources/editor/textfieldeditor.h M sources/editor/ui/elementpropertieseditorwidget.cpp M sources/elementdefinition.cpp M sources/elementdeleter.cpp M sources/elementdeleter.h M sources/elementdialog.cpp M sources/elementscategorieslist.h M sources/elementscategorieswidget.cpp M sources/elementscategorieswidget.h M sources/elementscategory.cpp M sources/elementscategorydeleter.cpp M sources/elementscategorydeleter.h M sources/elementscategoryeditor.cpp M sources/elementscategoryeditor.h M sources/elementscollection.cpp M sources/elementscollectioncache.cpp M sources/elementspanel.cpp M sources/elementspanel.h M sources/elementspanelwidget.cpp M sources/elementspanelwidget.h M sources/elementtextsmover.h M sources/exportdialog.cpp M sources/exportdialog.h M sources/exportproperties.cpp M sources/exportpropertieswidget.cpp M sources/exportpropertieswidget.h M sources/genericpanel.cpp M sources/integrationmoveelementshandler.cpp M sources/integrationmoveelementshandler.h M sources/interactivemoveelementshandler.cpp M sources/nameslistwidget.cpp M sources/nameslistwidget.h M sources/newelementwizard.cpp M sources/newelementwizard.h M sources/nomenclature.cpp M sources/nomenclature.h M sources/projectconfigpages.cpp M sources/projectview.cpp M sources/projectview.h M sources/qet.cpp M sources/qetapp.cpp M sources/qetapp.h M sources/qetdiagrameditor.cpp M sources/qetdiagrameditor.h M sources/qetgraphicsitem/conductor.cpp M sources/qetgraphicsitem/conductortextitem.cpp M sources/qetgraphicsitem/customelement.cpp M sources/qetgraphicsitem/diagramimageitem.cpp M sources/qetgraphicsitem/diagramtextitem.cpp M sources/qetgraphicsitem/diagramtextitem.h M sources/qetgraphicsitem/element.cpp M sources/qetgraphicsitem/ghostelement.cpp M sources/qetgraphicsitem/qetshapeitem.cpp M sources/qetgraphicsitem/terminal.cpp M sources/qetgraphicsitem/terminal.h M sources/qeticons.cpp M sources/qeticons.h M sources/qetmainwindow.cpp M sources/qetmessagebox.cpp M sources/qetmessagebox.h M sources/qetprintpreviewdialog.cpp M sources/qetprintpreviewdialog.h M sources/qetproject.cpp M sources/qetsingleapplication.cpp M sources/qettabbar.h M sources/qfilenameedit.cpp M sources/qtextorientationspinboxwidget.cpp M sources/qtextorientationspinboxwidget.h M sources/qtextorientationwidget.cpp M sources/qtextorientationwidget.h M sources/richtext/richtexteditor.cpp M sources/richtext/richtexteditor_p.h M sources/richtext/ui_addlinkdialog.h M sources/titleblock/dimensionwidget.h M sources/titleblock/gridlayoutanimation.h M sources/titleblock/helpercell.h M sources/titleblock/integrationmovetemplateshandler.cpp M sources/titleblock/integrationmovetemplateshandler.h M sources/titleblock/qettemplateeditor.cpp M sources/titleblock/qettemplateeditor.h M sources/titleblock/templatecellsset.h M sources/titleblock/templatecellwidget.cpp M sources/titleblock/templatecellwidget.h M sources/titleblock/templatecommands.cpp M sources/titleblock/templatedeleter.cpp M sources/titleblock/templatedeleter.h M sources/titleblock/templatelocationchooser.cpp M sources/titleblock/templatelocationchooser.h M sources/titleblock/templatelocationsaver.cpp M sources/titleblock/templatelocationsaver.h M sources/titleblock/templatelogomanager.cpp M sources/titleblock/templatelogomanager.h M sources/titleblock/templateview.cpp M sources/titleblock/templatevisualcell.h M sources/titleblockcell.cpp M sources/titleblocktemplate.cpp M sources/treecoloranimation.h M sources/ui/conductorpropertieswidget.cpp M sources/ui/diagrampropertiesdialog.cpp M sources/ui/diagramselection.cpp M sources/ui/dialogautonum.cpp M sources/ui/dialogwaiting.cpp M sources/ui/elementpropertieswidget.cpp M sources/ui/elementselectorwidget.cpp M sources/ui/linksingleelementwidget.cpp M sources/ui/masterpropertieswidget.cpp M sources/ui/potentialtextsdialog.cpp M sources/ui/projectpropertiesdialog.cpp M sources/ui/selectautonumw.cpp M sources/ui/titleblockpropertieswidget.cpp M sources/ui/xrefpropertieswidget.cpp M sources/undocommand/changeelementinformationcommand.cpp git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3783 bfdf4180-ca20-0410-9c96-a3a8aa849046
210 lines
8.3 KiB
C++
210 lines
8.3 KiB
C++
/*
|
|
Copyright 2006-2015 The QElectroTech Team
|
|
This file is part of QElectroTech.
|
|
|
|
QElectroTech is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
QElectroTech is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#include "exportpropertieswidget.h"
|
|
|
|
/**
|
|
Constructeur
|
|
@param parent QWidget parent
|
|
*/
|
|
ExportPropertiesWidget::ExportPropertiesWidget(QWidget *parent) : QWidget(parent) {
|
|
build();
|
|
setExportProperties(ExportProperties());
|
|
}
|
|
|
|
/**
|
|
Constructeur
|
|
@param export_properties Parametres d'export a afficher / editer
|
|
@param parent QWidget parent
|
|
*/
|
|
ExportPropertiesWidget::ExportPropertiesWidget(const ExportProperties &export_properties, QWidget *parent) : QWidget(parent) {
|
|
build();
|
|
setExportProperties(export_properties);
|
|
}
|
|
|
|
/// Destructeur
|
|
ExportPropertiesWidget::~ExportPropertiesWidget() {
|
|
}
|
|
|
|
/**
|
|
@return les parametres d'export definis via le widget
|
|
*/
|
|
ExportProperties ExportPropertiesWidget::exportProperties() const {
|
|
ExportProperties export_properties;
|
|
|
|
export_properties.destination_directory = QDir(dirpath -> text());
|
|
export_properties.format = format -> itemData(format -> currentIndex()).toString();
|
|
export_properties.draw_grid = draw_grid -> isChecked();
|
|
export_properties.draw_border = draw_border -> isChecked();
|
|
export_properties.draw_titleblock = draw_titleblock -> 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;
|
|
|
|
return(export_properties);
|
|
}
|
|
|
|
/**
|
|
@param export_properties les parametres d'export a afficher / editer via le widget
|
|
*/
|
|
void ExportPropertiesWidget::setExportProperties(const ExportProperties &export_properties) {
|
|
dirpath -> setText(QDir::toNativeSeparators(export_properties.destination_directory.absolutePath()));
|
|
|
|
int index = format -> findData(export_properties.format);
|
|
if (index == -1) index = 0;
|
|
format -> setCurrentIndex(index);
|
|
|
|
draw_grid -> setChecked(export_properties.draw_grid);
|
|
draw_border -> setChecked(export_properties.draw_border);
|
|
draw_titleblock -> setChecked(export_properties.draw_titleblock);
|
|
draw_terminals -> setChecked(export_properties.draw_terminals);
|
|
draw_colored_conductors -> setChecked(export_properties.draw_colored_conductors);
|
|
|
|
if (export_properties.exported_area == QET::BorderArea) {
|
|
export_border -> setChecked(true);
|
|
} else {
|
|
export_elements -> setChecked(true);
|
|
}
|
|
}
|
|
|
|
/**
|
|
Passe le widget en mode Impression ou en mode Export. Le mode Impression
|
|
n'affiche pas autant d'options que le mode Export.
|
|
@param mode true pour utiliser le widget en mode impression, false pour
|
|
l'utiliser en mode export
|
|
*/
|
|
void ExportPropertiesWidget::setPrintingMode(bool mode) {
|
|
dirpath_label -> setVisible(!mode);
|
|
dirpath -> setVisible(!mode);
|
|
button_browse -> setVisible(!mode);
|
|
format_label -> setVisible(!mode);
|
|
format -> setVisible(!mode);
|
|
export_border -> setVisible(!mode);
|
|
export_elements -> setVisible(!mode);
|
|
}
|
|
|
|
/**
|
|
Slot demandant a l'utilisateur de choisir un dossier
|
|
*/
|
|
void ExportPropertiesWidget::slot_chooseADirectory() {
|
|
QString user_dir = QFileDialog::getExistingDirectory(
|
|
this,
|
|
tr("Exporter dans le dossier", "dialog title"),
|
|
dirpath -> text()
|
|
);
|
|
if (!user_dir.isEmpty()) {
|
|
dirpath -> setText(QDir::toNativeSeparators(user_dir));
|
|
}
|
|
}
|
|
|
|
/**
|
|
Cette methode construit le widget en lui-meme
|
|
*/
|
|
void ExportPropertiesWidget::build() {
|
|
// le dialogue est un empilement vertical d'elements
|
|
QVBoxLayout *vboxLayout = new QVBoxLayout();
|
|
vboxLayout -> setContentsMargins(0, 0, 0, 0);
|
|
|
|
/* le dialogue comprend une ligne permettant d'indiquer un chemin de dossier (hboxLayout) */
|
|
QHBoxLayout *hboxLayout = new QHBoxLayout();
|
|
dirpath_label = new QLabel(tr("Dossier cible :"), this);
|
|
dirpath = new QLineEdit(this);
|
|
QCompleter *completer = new QCompleter(this);
|
|
completer -> setModel(new QDirModel(completer));
|
|
dirpath -> setCompleter(completer);
|
|
button_browse = new QPushButton(tr("Parcourir"), this);
|
|
hboxLayout -> addWidget(dirpath_label);
|
|
hboxLayout -> addWidget(dirpath);
|
|
hboxLayout -> addWidget(button_browse);
|
|
hboxLayout -> addStretch();
|
|
|
|
vboxLayout -> addLayout(hboxLayout);
|
|
|
|
/* une ligne permettant de choisir le format (hboxLayout1) */
|
|
QHBoxLayout *hboxLayout1 = new QHBoxLayout();
|
|
format_label = new QLabel(tr("Format :"), this);
|
|
hboxLayout1 -> addWidget(format_label);
|
|
hboxLayout1 -> addWidget(format = new QComboBox(this));
|
|
format -> addItem(tr("PNG (*.png)"), "PNG");
|
|
format -> addItem(tr("JPEG (*.jpg)"), "JPG");
|
|
format -> addItem(tr("Bitmap (*.bmp)"), "BMP");
|
|
format -> addItem(tr("SVG (*.svg)"), "SVG");
|
|
format -> addItem(tr("DXF (*.dxf)"), "DXF");
|
|
hboxLayout1 -> addStretch();
|
|
|
|
vboxLayout -> addLayout(hboxLayout1);
|
|
|
|
/* un cadre permettant de specifier les options de l'image finale */
|
|
QGroupBox *groupbox_options = new QGroupBox(tr("Options de rendu", "groupbox title"));
|
|
QGridLayout *optionshlayout = new QGridLayout(groupbox_options);
|
|
|
|
// Choix de la zone du schema a exporter
|
|
exported_content_choices = new QButtonGroup(groupbox_options);
|
|
export_border = new QRadioButton(tr("Exporter le cadre"), groupbox_options);
|
|
optionshlayout -> addWidget(export_border, 0, 0);
|
|
exported_content_choices -> addButton(export_border);
|
|
export_elements = new QRadioButton(tr("Exporter les éléments"), groupbox_options);
|
|
optionshlayout -> addWidget(export_elements, 0, 1);
|
|
exported_content_choices -> addButton(export_elements);
|
|
|
|
// dessiner la grille
|
|
draw_grid = new QCheckBox(tr("Dessiner la grille"), groupbox_options);
|
|
optionshlayout -> addWidget(draw_grid, 1, 1);
|
|
|
|
// dessiner le cadre
|
|
draw_border = new QCheckBox(tr("Dessiner le cadre"), groupbox_options);
|
|
optionshlayout -> addWidget(draw_border, 1, 0);
|
|
|
|
// dessiner le cartouche
|
|
draw_titleblock = new QCheckBox(tr("Dessiner le cartouche"), groupbox_options);
|
|
optionshlayout -> addWidget(draw_titleblock, 2, 0);
|
|
|
|
// dessiner les bornes
|
|
draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options);
|
|
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);
|
|
|
|
setLayout(vboxLayout);
|
|
|
|
// ordre des input selectionnes avec la touche tab
|
|
setTabOrder(dirpath, button_browse);
|
|
setTabOrder(button_browse, format);
|
|
setTabOrder(format, export_border);
|
|
setTabOrder(export_border, draw_border);
|
|
setTabOrder(draw_border, draw_grid);
|
|
setTabOrder(draw_grid, draw_titleblock);
|
|
setTabOrder(draw_titleblock, draw_terminals);
|
|
setTabOrder(draw_terminals, draw_colored_conductors);
|
|
|
|
// connexion du bouton permettant le choix du repertoire
|
|
connect(button_browse, SIGNAL(released()), this, SLOT(slot_chooseADirectory()));
|
|
|
|
// emission de signaux lors du changement de format et lors du changement de zone exportee
|
|
connect(format, SIGNAL(currentIndexChanged(int)), this, SIGNAL(formatChanged()));
|
|
connect(exported_content_choices, SIGNAL(buttonClicked(QAbstractButton *)), this, SIGNAL(exportedAreaChanged()));
|
|
connect(draw_grid, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged()));
|
|
connect(draw_border, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged()));
|
|
connect(draw_titleblock, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged()));
|
|
connect(draw_terminals, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged()));
|
|
connect(draw_colored_conductors, SIGNAL(stateChanged(int)), this, SIGNAL(optionChanged()));
|
|
}
|