mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
Fix drag and drop bug
This commit is contained in:
parent
dbb21373e1
commit
f07f4cb150
@ -424,6 +424,8 @@ TerminalStripIndex TerminalStrip::index(int index)
|
||||
for(auto &real_term : phy_term->terminals()) {
|
||||
tsi_.m_label.append(real_term->label());
|
||||
tsi_.m_uuid.append(real_term->elementUuid());
|
||||
tsi_.m_is_element.append(real_term->isElement());
|
||||
tsi_.m_element.append(static_cast<TerminalElement*>(real_term->element()));
|
||||
}
|
||||
|
||||
tsi_.m_valid = true;
|
||||
@ -587,3 +589,23 @@ QUuid TerminalStripIndex::uuid(int level) const
|
||||
|
||||
return m_uuid.at(level);
|
||||
}
|
||||
|
||||
bool TerminalStripIndex::isElement(int level) const
|
||||
{
|
||||
if (level<0 ||
|
||||
level >= m_is_element.size()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return m_is_element.at(level);
|
||||
}
|
||||
|
||||
TerminalElement *TerminalStripIndex::element(int level) const
|
||||
{
|
||||
if (level<0 ||
|
||||
level >= m_element.size()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return m_element.at(level);
|
||||
}
|
||||
|
@ -27,7 +27,15 @@ class RealTerminal;
|
||||
class QETProject;
|
||||
class PhysicalTerminal;
|
||||
class TerminalStripIndex;
|
||||
class TerminalElement;
|
||||
|
||||
/**
|
||||
* @brief The TerminalStrip class
|
||||
* This class hold all the datas and configurations
|
||||
* of a terminal strip (but the not the visual aspect).
|
||||
* A terminal strip have some informations (name comment etc...)
|
||||
* and is composed by terminals (draw in a diagram or described in the terminal strip)
|
||||
*/
|
||||
class TerminalStrip : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -88,11 +96,15 @@ class TerminalStripIndex
|
||||
bool isValid() const;
|
||||
QString label(int level = 0) const;
|
||||
QUuid uuid(int level = 0) const;
|
||||
bool isElement(int level = 0) const;
|
||||
TerminalElement *element(int level = 0) const;
|
||||
|
||||
private:
|
||||
QVector<QString> m_label;
|
||||
QVector<QUuid> m_uuid;
|
||||
bool m_valid = false;
|
||||
QVector<bool> m_is_element;
|
||||
QVector<TerminalElement *> m_element;
|
||||
};
|
||||
|
||||
#endif // TERMINALSTRIP_H
|
||||
|
@ -175,6 +175,10 @@ QTreeWidgetItem* TerminalStripEditor::addTerminalStrip(TerminalStrip *terminal_s
|
||||
auto term_item = new QTreeWidgetItem(strip_item, QStringList(index.label()), TerminalStripTreeWidget::Terminal);
|
||||
term_item->setData(0, TerminalStripTreeWidget::UUID_USER_ROLE, index.uuid().toString());
|
||||
term_item->setIcon(0, QET::Icons::ElementTerminal);
|
||||
|
||||
if (index.isElement()) {
|
||||
m_uuid_terminal_H.insert(index.uuid(), index.element());
|
||||
}
|
||||
}
|
||||
|
||||
m_item_strip_H.insert(strip_item, terminal_strip);
|
||||
|
Loading…
x
Reference in New Issue
Block a user