Diagram command: additem, minor improvement

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3370 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun 2014-10-11 17:45:11 +00:00
parent 1a842dc263
commit 0af31b9105
7 changed files with 46 additions and 28 deletions

View File

@ -29,30 +29,16 @@
#include "conductorautonumerotation.h"
#include <QPropertyAnimation>
/**
* Specialized template function
*/
template<>
QString itemText <DiagramImageItem *> (DiagramImageItem *item) {
Q_UNUSED(item);
return QObject::tr("une image");
QString itemText(const QetGraphicsItem *item) {
return item->name();
}
template<>
QString itemText <IndependentTextItem *> (IndependentTextItem *item) {
QString itemText(const IndependentTextItem *item) {
Q_UNUSED(item);
return QObject::tr("un champ texte");
}
template<>
QString itemText <Element *> (Element *item) {
return QObject::tr("un \351l\351ment : %1").arg(item->name());
}
template<>
QString itemText <QetShapeItem *> (QetShapeItem *item) {
Q_UNUSED(item);
return QObject::tr("une shape");
}
template<>
QString itemText <Conductor *> (Conductor *item) {
QString itemText(const Conductor *item) {
Q_UNUSED(item);
return QObject::tr("un conducteur");
}

View File

@ -33,6 +33,7 @@ class Element;
class ElementTextItem;
class IndependentTextItem;
class DiagramImageItem;
class QetGraphicsItem;
/**
* @brief The AddItemCommand class
@ -73,14 +74,10 @@ class AddItemCommand : public QUndoCommand {
QPointF m_pos;
};
/**
*Template function: return generique name of a QGraphicsItem.
*/
template <typename T>
QString itemText(T item) {
Q_UNUSED (item);
return QObject::tr("un item");
}
//Return a string to describe a QGraphicsItem
QString itemText(const QetGraphicsItem *item);
QString itemText(const IndependentTextItem *item);
QString itemText(const Conductor *item);
/**
This command removes content from a particular diagram.

View File

@ -180,6 +180,14 @@ QRectF DiagramImageItem::boundingRect() const {
}
}
/**
* @brief DiagramImageItem::name
* @return the generic name of this item (picture)
*/
QString DiagramImageItem::name() const {
return tr("une image");
}
/**
Load the image from this xml element
@param e xml element that define an image

View File

@ -55,6 +55,7 @@ class DiagramImageItem : public QetGraphicsItem {
virtual void editProperty();
void setPixmap(const QPixmap &pixmap);
virtual QRectF boundingRect() const;
virtual QString name() const;
protected:
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);

View File

@ -37,6 +37,7 @@ class QetGraphicsItem : public QGraphicsObject {
virtual void rotateBy(const qreal &);
virtual void applyRotation(const qreal &);
virtual void editProperty (){}
virtual QString name()const {return QString("");}
signals:
void positionChange(QPointF);

View File

@ -371,3 +371,27 @@ void QetShapeItem::editProperty()
//...or not
setScale(scale_);
}
/**
* @brief QetShapeItem::name
* @return the name of the curent shape.
*/
QString QetShapeItem::name() const {
switch (m_shapeType) {
case Line:
return tr("une ligne");
break;
case Rectangle:
return tr("un rectangle");
break;
case Ellipse:
return tr("une \351llipse");
break;
case Polyline:
return tr("une polyligne");
break;
default:
return tr("une shape");
break;
}
}

View File

@ -58,6 +58,7 @@ class QetShapeItem : public QetGraphicsItem
virtual bool toDXF (const QString &filepath);
virtual void editProperty();
virtual QString name() const;
void setP2 (QPointF P2);
void setNextPoint (QPointF P);