mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
element class: replace enum linkertype by #define (better way for use flags)
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2675 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -34,10 +34,10 @@ ElementProvider::ElementProvider(QETProject *prj, Diagram *diagram)
|
|||||||
* All returned element are free, ie element aren't connected with another element
|
* All returned element are free, ie element aren't connected with another element
|
||||||
* @param filter
|
* @param filter
|
||||||
* the filter for search element
|
* the filter for search element
|
||||||
* (the filter must be the enum linkerType in Element.h)
|
* (You can find all filter with the #define in Element.h)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
QList <Element *> ElementProvider::FreeElement(int filter) {
|
QList <Element *> ElementProvider::FreeElement(const int filter) const{
|
||||||
QList <Element *> free_elmt;
|
QList <Element *> free_elmt;
|
||||||
|
|
||||||
//serch in all diagram
|
//serch in all diagram
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class ElementProvider
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ElementProvider(QETProject *prj, Diagram *diagram=0);
|
ElementProvider(QETProject *prj, Diagram *diagram=0);
|
||||||
QList <Element *> FreeElement(int filter);
|
QList <Element *> FreeElement(const int filter) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList <Diagram *> diag_list;
|
QList <Diagram *> diag_list;
|
||||||
|
|||||||
@@ -22,6 +22,15 @@
|
|||||||
#include "qetgraphicsitem.h"
|
#include "qetgraphicsitem.h"
|
||||||
class Diagram;
|
class Diagram;
|
||||||
class ElementTextItem;
|
class ElementTextItem;
|
||||||
|
|
||||||
|
// this define is use to know the kind of element and
|
||||||
|
// to use flag for element provider class
|
||||||
|
#define SIMPLE 1
|
||||||
|
#define REPORT 2
|
||||||
|
#define MASTER 4
|
||||||
|
#define SLAVE 8
|
||||||
|
#define BORNIER 16
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This is the base class for electrical elements.
|
This is the base class for electrical elements.
|
||||||
*/
|
*/
|
||||||
@@ -29,15 +38,6 @@ class Element : public QetGraphicsItem {
|
|||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
|
||||||
enum linkerType{
|
|
||||||
simple = 1,
|
|
||||||
report = 2,
|
|
||||||
master = 4,
|
|
||||||
slave = 8,
|
|
||||||
bornier = 16
|
|
||||||
};
|
|
||||||
|
|
||||||
// constructors, destructor
|
// constructors, destructor
|
||||||
public:
|
public:
|
||||||
Element(QGraphicsItem * = 0, Diagram * = 0);
|
Element(QGraphicsItem * = 0, Diagram * = 0);
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class GhostElement : public CustomElement {
|
|||||||
// methods
|
// methods
|
||||||
public:
|
public:
|
||||||
virtual bool fromXml(QDomElement &, QHash<int, Terminal *> &, bool = false);
|
virtual bool fromXml(QDomElement &, QHash<int, Terminal *> &, bool = false);
|
||||||
virtual int linkType() const {return Element::simple;}
|
virtual int linkType() const {return SIMPLE;}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QRectF minimalBoundingRect() const;
|
QRectF minimalBoundingRect() const;
|
||||||
|
|||||||
@@ -22,5 +22,5 @@ ReportElement::ReportElement(const ElementsLocation &location, QGraphicsItem *qg
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
int ReportElement::linkType() const {
|
int ReportElement::linkType() const {
|
||||||
return ReportElement::report;
|
return REPORT;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,5 +22,5 @@ SimpleElement::SimpleElement(const ElementsLocation &location, QGraphicsItem *qg
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
int SimpleElement::linkType() const {
|
int SimpleElement::linkType() const {
|
||||||
return SimpleElement::simple;
|
return SIMPLE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,17 +90,17 @@ void elementpropertieswidget::buildInterface() {
|
|||||||
|
|
||||||
//Add tab according to the element
|
//Add tab according to the element
|
||||||
switch (element_ -> linkType()) {
|
switch (element_ -> linkType()) {
|
||||||
case Element::simple:
|
case SIMPLE:
|
||||||
break;
|
break;
|
||||||
case Element::report:
|
case REPORT:
|
||||||
frp_ = new FolioReportProperties(element_, this);
|
frp_ = new FolioReportProperties(element_, this);
|
||||||
tab_ -> addTab(frp_, tr("Report de folio"));
|
tab_ -> addTab(frp_, tr("Report de folio"));
|
||||||
break;
|
break;
|
||||||
case Element::master:
|
case MASTER:
|
||||||
break;
|
break;
|
||||||
case Element::slave:
|
case SLAVE:
|
||||||
break;
|
break;
|
||||||
case Element::bornier:
|
case BORNIER:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -12,14 +12,16 @@ FolioReportProperties::FolioReportProperties(Element *elmt, QWidget *parent) :
|
|||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
ElementProvider ep(element_->diagram()->project(), element_->diagram());
|
ElementProvider ep(element_->diagram()->project(), element_->diagram());
|
||||||
QList <Element *> elmt_list = ep.FreeElement(Element::report);
|
QList <Element *> elmt_list = ep.FreeElement(REPORT);
|
||||||
|
|
||||||
foreach (Element *elmt, elmt_list) {
|
foreach (Element *elmt, elmt_list) {
|
||||||
if (elmt != element_) {
|
if (elmt != element_) {
|
||||||
QString button_text;
|
QString button_text;
|
||||||
button_text += elmt->name();
|
QString title = elmt->diagram()->title();
|
||||||
button_text += QString(tr(" Folio\240: %1, ")).arg(elmt->diagram()->folioIndex() + 1);
|
if (title.isEmpty()) title = tr("Sans titre");
|
||||||
button_text += QString(tr("Position\240: %1")).arg(elmt->diagram() -> convertPosition(elmt -> scenePos()).toString());
|
button_text += QString(tr("Folio\240 %1 (%2), position %3.")).arg(elmt->diagram()->folioIndex() + 1)
|
||||||
|
.arg(title)
|
||||||
|
.arg(elmt->diagram() -> convertPosition(elmt -> scenePos()).toString());
|
||||||
|
|
||||||
QRadioButton *rb = new QRadioButton(button_text , this);
|
QRadioButton *rb = new QRadioButton(button_text , this);
|
||||||
ui->available_report_layout->addWidget(rb);
|
ui->available_report_layout->addWidget(rb);
|
||||||
|
|||||||
Reference in New Issue
Block a user