Sont desormais lus dans le fichier de configuration pour les nouveaux schemas :

*les caracteristiques des conducteurs par defaut
	*les dimensions par defaut
	*les informations par defaut du cartouche


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@214 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-11-14 20:27:45 +00:00
parent 5a17c6fdbb
commit f0edf251d6
5 changed files with 85 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
#include "borderinset.h"
#include "qetapp.h"
/**
Constructeur simple : construit une bordure de 15 colonnes de 50x500 avec
@@ -6,10 +7,10 @@
@param parent QObject parent de ce BorderInset
*/
BorderInset::BorderInset(QObject *parent) : QObject(parent) {
nb_columns = 15;
nb_columns = qMax(3, QETApp::settings().value("diagrameditor/defaultcols", 15).toInt());
min_nb_columns = 3;
columns_width = 50.0;
columns_height = 500.0;
columns_width = QETApp::settings().value("diagrameditor/defaultcolsize", 50.0).toDouble();
columns_height = QETApp::settings().value("diagrameditor/defaultheight", 500.0).toDouble();
min_columns_height = 80.0;
inset_width = nb_columns * columns_width;
inset_height = 50.0;
@@ -18,6 +19,15 @@ BorderInset::BorderInset(QObject *parent) : QObject(parent) {
display_columns = true;
display_border = true;
updateRectangles();
bi_author = QETApp::settings().value("diagrameditor/defaultauthor").toString();
bi_title = QETApp::settings().value("diagrameditor/defaulttitle").toString();
bi_folio = QETApp::settings().value("diagrameditor/defaultfolio").toString();
bi_filename = QETApp::settings().value("diagrameditor/defaultfilename").toString();
QString settings_date = QETApp::settings().value("diagrameditor/defaultdate").toString();
if (settings_date == "now") bi_date = QDate::currentDate();
else if (settings_date.isEmpty() || settings_date == "null") bi_date = QDate();
else bi_date = QDate::fromString(settings_date, "yyyyMMdd");
}
/**

View File

@@ -198,6 +198,33 @@ void ConductorProperties::fromXml(QDomElement &e) {
}
}
/**
@param settings Parametres a ecrire
@param prefix prefix a ajouter devant les noms des parametres
*/
void ConductorProperties::toSettings(QSettings &settings, const QString &prefix) const {
settings.setValue(prefix + "type", typeToString(type));
settings.setValue(prefix + "text", text);
singleLineProperties.toSettings(settings, prefix);
}
/**
@param settings Parametres a lire
@param prefix prefix a ajouter devant les noms des parametres
*/
void ConductorProperties::fromSettings(QSettings &settings, const QString &prefix) {
QString setting_type = settings.value(prefix + "type", typeToString(Multi)).toString();
if (setting_type == typeToString(Single)) {
type = Single;
} else if (setting_type == typeToString(Simple)) {
type = Simple;
} else {
type = Multi;
}
singleLineProperties.fromSettings(settings, prefix);
text = settings.value(prefix + "text", "_").toString();
}
/**
@param t type du conducteur
*/
@@ -253,3 +280,23 @@ int SingleLineProperties::operator==(const SingleLineProperties &other) const {
int SingleLineProperties::operator!=(const SingleLineProperties &other) const {
return(!(other == (*this)));
}
/**
@param settings Parametres a ecrire
@param prefix prefix a ajouter devant les noms des parametres
*/
void SingleLineProperties::toSettings(QSettings &settings, const QString &prefix) const {
settings.setValue(prefix + "hasGround", hasGround);
settings.setValue(prefix + "hasNeutral", hasNeutral);
settings.setValue(prefix + "phases", phases);
}
/**
@param settings Parametres a lire
@param prefix prefix a ajouter devant les noms des parametres
*/
void SingleLineProperties::fromSettings(QSettings &settings, const QString &prefix) {
hasGround = settings.value(prefix + "hasGround", true).toBool();
hasNeutral = settings.value(prefix + "hasNeutral", true).toBool();
phases = settings.value(prefix + "phases", 1).toInt();
}

View File

@@ -16,6 +16,8 @@ class SingleLineProperties {
void draw(QPainter *, QET::ConductorSegmentType, const QRectF &);
void toXml(QDomDocument &, QDomElement &) const;
void fromXml(QDomElement &);
void toSettings(QSettings &, const QString & = QString()) const;
void fromSettings(QSettings &, const QString & = QString());
/// indique si le conducteur unifilaire doit afficher le symbole terre
bool hasGround;
@@ -70,6 +72,8 @@ class ConductorProperties {
// methodes
void toXml(QDomDocument &, QDomElement &) const;
void fromXml(QDomElement &);
void toSettings(QSettings &, const QString & = QString()) const;
void fromSettings(QSettings &, const QString & = QString());
static QString typeToString(ConductorType);
// operateurs

View File

@@ -33,6 +33,9 @@ Diagram::Diagram(QObject *parent) :
conductor_setter -> setPen(t);
conductor_setter -> setLine(QLineF(QPointF(0.0, 0.0), QPointF(0.0, 0.0)));
connect(this, SIGNAL(selectionChanged()), this, SLOT(slot_checkSelectionEmptinessChange()));
// lit les caracteristiques des conducteurs par defaut dans la configuration
defaultConductorProperties.fromSettings(QETApp::settings(), "diagrameditor/defaultconductor");
}
/**
@@ -337,6 +340,8 @@ bool Diagram::fromXml(QDomDocument &document, QPointF position, bool consider_in
double height = root.attribute("height").toDouble(&ok);
if (ok) border_and_inset.setColumnsHeight(height);
border_and_inset.adjustInsetToColumns();
// repere le permier element "defaultconductor"
for (QDomNode node = root.firstChild() ; !node.isNull() ; node = node.nextSibling()) {
QDomElement elmts = node.toElement();

View File

@@ -0,0 +1,16 @@
[diagrameditor]
defaultauthor=
defaultcols=15
defaultcolsize=50.0
defaultconductorhasGround=true
defaultconductorhasNeutral=true
defaultconductorphases=1
defaultconductortext=_
defaultconductortype=multi
defaultdate=null
defaultfilename=
defaultfolio=
defaultheight=500.0
defaulttitle=
[elementeditor]