mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 04:30:35 +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)
|
||||
{
|
||||
auto mrtd = m_model->modelRealTerminalDataForIndex(index);
|
||||
if (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);
|
||||
}
|
||||
}
|
||||
const auto mrtd = m_model->modelRealTerminalDataForIndex(index);
|
||||
if (mrtd.element_) {
|
||||
QetGraphicsItem::showItem(mrtd.element_);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -320,24 +320,7 @@ void CrossRefItem::paint(
|
||||
void CrossRefItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
event->accept();
|
||||
if (m_hovered_contact && m_hovered_contact->scene())
|
||||
{
|
||||
//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);
|
||||
}
|
||||
}
|
||||
QetGraphicsItem::showItem(m_hovered_contact);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1277,18 +1277,8 @@ void DynamicElementTextItem::zoomToLinkedElement()
|
||||
//move when linked element is in the same scene of this.
|
||||
setSelected(false);
|
||||
ungrabMouse();
|
||||
|
||||
if(scene() != zoomed_element->scene())
|
||||
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);
|
||||
}
|
||||
|
||||
QetGraphicsItem::showItem(zoomed_element);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user