mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-25 11:50:53 +01:00
Les modifications de conducteur sont desormais annulables
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@140 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -14,11 +14,40 @@ ConducerProfile::ConducerProfile(Conducer *conducer) {
|
||||
fromConducer(conducer);
|
||||
}
|
||||
|
||||
/**
|
||||
Constructeur de copie
|
||||
@param c autre conducteur
|
||||
*/
|
||||
ConducerProfile::ConducerProfile(const ConducerProfile &c) {
|
||||
beginOrientation = c.beginOrientation;
|
||||
endOrientation = c.endOrientation;
|
||||
foreach(ConducerSegmentProfile *csp, c.segments) {
|
||||
segments << new ConducerSegmentProfile(*csp);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Operateur =
|
||||
@param c autre conducteur
|
||||
*/
|
||||
ConducerProfile &ConducerProfile::operator=(const ConducerProfile &c) {
|
||||
if (&c == this) return(*this);
|
||||
|
||||
// supprime ses informations
|
||||
setNull();
|
||||
|
||||
// copie les informations de l'autre profil de conducteur
|
||||
beginOrientation = c.beginOrientation;
|
||||
endOrientation = c.endOrientation;
|
||||
foreach(ConducerSegmentProfile *csp, c.segments) {
|
||||
segments << new ConducerSegmentProfile(*csp);
|
||||
}
|
||||
return(*this);
|
||||
}
|
||||
|
||||
/// destructeur
|
||||
ConducerProfile::~ConducerProfile() {
|
||||
foreach(ConducerSegmentProfile * s, segments) {
|
||||
delete s;
|
||||
}
|
||||
setNull();
|
||||
}
|
||||
|
||||
/// @return true si le profil est nul
|
||||
@@ -26,6 +55,12 @@ bool ConducerProfile::isNull() const {
|
||||
return(segments.isEmpty());
|
||||
}
|
||||
|
||||
/// supprime les segments du profil de conducteur
|
||||
void ConducerProfile::setNull() {
|
||||
foreach(ConducerSegmentProfile *csp, segments) delete csp;
|
||||
segments.clear();
|
||||
}
|
||||
|
||||
/// @return la largeur occupee par le conducteur
|
||||
qreal ConducerProfile::width() const {
|
||||
qreal width = 0.0;
|
||||
@@ -78,8 +113,7 @@ QList<ConducerSegmentProfile *> ConducerProfile::verticalSegments() {
|
||||
|
||||
void ConducerProfile::fromConducer(Conducer *conducer) {
|
||||
// supprime les segments precedents
|
||||
foreach(ConducerSegmentProfile *csp, segments) delete csp;
|
||||
segments.clear();
|
||||
setNull();
|
||||
|
||||
foreach(ConducerSegment *conducer_segment, conducer -> segmentsList()) {
|
||||
segments << new ConducerSegmentProfile(conducer_segment);
|
||||
|
||||
Reference in New Issue
Block a user