mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
refactor[deiagram editor]: mutualize code.
The features used to jump to linked element and xref now use the same function.
This commit is contained in:
@@ -57,21 +57,9 @@ TerminalStripEditor::TerminalStripEditor(QETProject *project, QWidget *parent) :
|
|||||||
{
|
{
|
||||||
if (m_model->columnTypeForIndex(index) == TerminalStripModel::XRef)
|
if (m_model->columnTypeForIndex(index) == TerminalStripModel::XRef)
|
||||||
{
|
{
|
||||||
auto mrtd = m_model->modelRealTerminalDataForIndex(index);
|
const auto mrtd = m_model->modelRealTerminalDataForIndex(index);
|
||||||
if (mrtd.element_)
|
if (mrtd.element_) {
|
||||||
{
|
QetGraphicsItem::showItem(mrtd.element_);
|
||||||
auto elmt = mrtd.element_;
|
|
||||||
auto diagram = elmt->diagram();
|
|
||||||
if (diagram)
|
|
||||||
{
|
|
||||||
diagram->showMe();
|
|
||||||
if (diagram->views().size())
|
|
||||||
{
|
|
||||||
auto fit_view = elmt->sceneBoundingRect();
|
|
||||||
fit_view.adjust(-200,-200,200,200);
|
|
||||||
diagram->views().at(0)->fitInView(fit_view, Qt::KeepAspectRatioByExpanding);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -320,24 +320,7 @@ void CrossRefItem::paint(
|
|||||||
void CrossRefItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
void CrossRefItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
event->accept();
|
event->accept();
|
||||||
if (m_hovered_contact && m_hovered_contact->scene())
|
QetGraphicsItem::showItem(m_hovered_contact);
|
||||||
{
|
|
||||||
//Show and select the linked slave element
|
|
||||||
if (scene() != m_hovered_contact->scene())
|
|
||||||
{
|
|
||||||
m_hovered_contact->diagram()->showMe();
|
|
||||||
}
|
|
||||||
m_hovered_contact->setSelected(true);
|
|
||||||
|
|
||||||
//Zoom to the linked slave element
|
|
||||||
foreach(QGraphicsView *view,
|
|
||||||
m_hovered_contact->diagram()->views())
|
|
||||||
{
|
|
||||||
QRectF fit = m_hovered_contact->sceneBoundingRect();
|
|
||||||
fit.adjust(-200, -200, 200, 200);
|
|
||||||
view->fitInView(fit, Qt::KeepAspectRatioByExpanding);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1278,17 +1278,7 @@ void DynamicElementTextItem::zoomToLinkedElement()
|
|||||||
setSelected(false);
|
setSelected(false);
|
||||||
ungrabMouse();
|
ungrabMouse();
|
||||||
|
|
||||||
if(scene() != zoomed_element->scene())
|
QetGraphicsItem::showItem(zoomed_element);
|
||||||
zoomed_element->diagram()->showMe();
|
|
||||||
zoomed_element->setSelected(true);
|
|
||||||
|
|
||||||
//Zoom to the element
|
|
||||||
for(QGraphicsView *view : zoomed_element->scene()->views())
|
|
||||||
{
|
|
||||||
QRectF fit = zoomed_element->sceneBoundingRect();
|
|
||||||
fit.adjust(-200, -200, 200, 200);
|
|
||||||
view->fitInView(fit, Qt::KeepAspectRatioByExpanding);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user