mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
update folio report when move diagram position
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2692 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -767,7 +767,7 @@ void Diagram::removeElement(Element *element) {
|
||||
if (!element || isReadOnly()) return;
|
||||
|
||||
// remove all links of element
|
||||
element->unLinkAllElements();
|
||||
element->unlinkAllElements();
|
||||
// enleve l'element au schema
|
||||
removeItem(element);
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ ElementProvider::ElementProvider(QETProject *prj, Diagram *diagram)
|
||||
* (You can find all filter with the #define in Element.h)
|
||||
* @return
|
||||
*/
|
||||
QList <Element *> ElementProvider::FreeElement(const int filter) const{
|
||||
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(const int filter) const;
|
||||
QList <Element *> freeElement(const int filter) const;
|
||||
QList <Element *> fromUuids(QList <QUuid>) const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -89,7 +89,7 @@ class Element : public QetGraphicsItem {
|
||||
// related method for link between element
|
||||
bool isFree () const;
|
||||
virtual void linkToElement(Element *) {}
|
||||
virtual void unLinkAllElements() {}
|
||||
virtual void unlinkAllElements() {}
|
||||
void initLink(QETProject *);
|
||||
QList<Element *> linkedElements () const;
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "reportelement.h"
|
||||
#include "elementtextitem.h"
|
||||
#include "diagramposition.h"
|
||||
#include "qetproject.h"
|
||||
|
||||
ReportElement::ReportElement(const ElementsLocation &location, QGraphicsItem *qgi, Diagram *s, int *state) :
|
||||
CustomElement(location, qgi, s, state)
|
||||
@@ -25,6 +26,10 @@ ReportElement::ReportElement(const ElementsLocation &location, QGraphicsItem *qg
|
||||
texts().at(0)->setNoEditable();
|
||||
}
|
||||
|
||||
ReportElement::~ReportElement() {
|
||||
unlinkAllElements();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ReportElement::linkToElement
|
||||
* Link this element to the other element
|
||||
@@ -40,9 +45,10 @@ void ReportElement::linkToElement(Element * elmt) {
|
||||
|
||||
//ensure elmt is a report
|
||||
if (elmt->linkType() == Report && i) {
|
||||
unLinkAllElements();
|
||||
unlinkAllElements();
|
||||
connected_elements << elmt;
|
||||
connect(elmt, SIGNAL(positionChange(QPointF)), this, SLOT(updateLabel()));
|
||||
connect(diagram()->project(), SIGNAL(projectDiagramsOrderChanged(QETProject*,int,int)), this, SLOT(updateLabel()));
|
||||
updateLabel();
|
||||
tmp_uuids_link.removeAll(elmt->uuid());
|
||||
elmt->linkToElement(this);
|
||||
@@ -53,18 +59,19 @@ void ReportElement::linkToElement(Element * elmt) {
|
||||
* @brief ReportElement::unLinkAllElements
|
||||
* Unlink all of the element in the QList connected_elements
|
||||
*/
|
||||
void ReportElement::unLinkAllElements(){
|
||||
void ReportElement::unlinkAllElements(){
|
||||
if (!isFree()){
|
||||
QList <Element *> tmp_elmt = connected_elements;
|
||||
|
||||
foreach(Element *elmt, connected_elements) {
|
||||
disconnect(elmt, SIGNAL(positionChange(QPointF)), this, SLOT(updateLabel()));
|
||||
disconnect(diagram()->project(), SIGNAL(projectDiagramsOrderChanged(QETProject*,int,int)), this, SLOT(updateLabel()));
|
||||
}
|
||||
connected_elements.clear();
|
||||
updateLabel();
|
||||
|
||||
foreach(Element *elmt, tmp_elmt){
|
||||
elmt->unLinkAllElements();
|
||||
elmt->unlinkAllElements();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,8 +31,9 @@ class ReportElement : public CustomElement {
|
||||
|
||||
public :
|
||||
explicit ReportElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0, int * = 0);
|
||||
~ReportElement();
|
||||
virtual void linkToElement(Element *);
|
||||
virtual void unLinkAllElements();
|
||||
virtual void unlinkAllElements();
|
||||
virtual int linkType() const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -37,7 +37,7 @@ FolioReportProperties::~FolioReportProperties()
|
||||
*/
|
||||
void FolioReportProperties::BuildRadioList() {
|
||||
ElementProvider ep(element_->diagram()->project(), element_->diagram());
|
||||
QList <Element *> elmt_list = ep.FreeElement(Element::Report);
|
||||
QList <Element *> elmt_list = ep.freeElement(Element::Report);
|
||||
|
||||
foreach (Element *elmt, elmt_list) {
|
||||
if (elmt != element_) {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QHBoxLayout" name="main_H_layout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="Report_gb">
|
||||
<property name="toolTip">
|
||||
|
||||
Reference in New Issue
Block a user