mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 12:40:35 +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
|
||||
* @param filter
|
||||
* 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
|
||||
*/
|
||||
QList <Element *> ElementProvider::FreeElement(int filter) {
|
||||
QList <Element *> ElementProvider::FreeElement(const int filter) const{
|
||||
QList <Element *> free_elmt;
|
||||
|
||||
//serch in all diagram
|
||||
|
||||
@@ -32,7 +32,7 @@ class ElementProvider
|
||||
{
|
||||
public:
|
||||
ElementProvider(QETProject *prj, Diagram *diagram=0);
|
||||
QList <Element *> FreeElement(int filter);
|
||||
QList <Element *> FreeElement(const int filter) const;
|
||||
|
||||
private:
|
||||
QList <Diagram *> diag_list;
|
||||
|
||||
@@ -22,6 +22,15 @@
|
||||
#include "qetgraphicsitem.h"
|
||||
class Diagram;
|
||||
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.
|
||||
*/
|
||||
@@ -29,15 +38,6 @@ class Element : public QetGraphicsItem {
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum linkerType{
|
||||
simple = 1,
|
||||
report = 2,
|
||||
master = 4,
|
||||
slave = 8,
|
||||
bornier = 16
|
||||
};
|
||||
|
||||
// constructors, destructor
|
||||
public:
|
||||
Element(QGraphicsItem * = 0, Diagram * = 0);
|
||||
|
||||
@@ -43,7 +43,7 @@ class GhostElement : public CustomElement {
|
||||
// methods
|
||||
public:
|
||||
virtual bool fromXml(QDomElement &, QHash<int, Terminal *> &, bool = false);
|
||||
virtual int linkType() const {return Element::simple;}
|
||||
virtual int linkType() const {return SIMPLE;}
|
||||
|
||||
protected:
|
||||
QRectF minimalBoundingRect() const;
|
||||
|
||||
@@ -22,5 +22,5 @@ ReportElement::ReportElement(const ElementsLocation &location, QGraphicsItem *qg
|
||||
{}
|
||||
|
||||
int ReportElement::linkType() const {
|
||||
return ReportElement::report;
|
||||
return REPORT;
|
||||
}
|
||||
|
||||
@@ -22,5 +22,5 @@ SimpleElement::SimpleElement(const ElementsLocation &location, QGraphicsItem *qg
|
||||
{}
|
||||
|
||||
int SimpleElement::linkType() const {
|
||||
return SimpleElement::simple;
|
||||
return SIMPLE;
|
||||
}
|
||||
|
||||
@@ -90,17 +90,17 @@ void elementpropertieswidget::buildInterface() {
|
||||
|
||||
//Add tab according to the element
|
||||
switch (element_ -> linkType()) {
|
||||
case Element::simple:
|
||||
case SIMPLE:
|
||||
break;
|
||||
case Element::report:
|
||||
case REPORT:
|
||||
frp_ = new FolioReportProperties(element_, this);
|
||||
tab_ -> addTab(frp_, tr("Report de folio"));
|
||||
break;
|
||||
case Element::master:
|
||||
case MASTER:
|
||||
break;
|
||||
case Element::slave:
|
||||
case SLAVE:
|
||||
break;
|
||||
case Element::bornier:
|
||||
case BORNIER:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -12,14 +12,16 @@ FolioReportProperties::FolioReportProperties(Element *elmt, QWidget *parent) :
|
||||
ui->setupUi(this);
|
||||
|
||||
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) {
|
||||
if (elmt != element_) {
|
||||
QString button_text;
|
||||
button_text += elmt->name();
|
||||
button_text += QString(tr(" Folio\240: %1, ")).arg(elmt->diagram()->folioIndex() + 1);
|
||||
button_text += QString(tr("Position\240: %1")).arg(elmt->diagram() -> convertPosition(elmt -> scenePos()).toString());
|
||||
QString title = elmt->diagram()->title();
|
||||
if (title.isEmpty()) title = tr("Sans titre");
|
||||
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);
|
||||
ui->available_report_layout->addWidget(rb);
|
||||
|
||||
Reference in New Issue
Block a user