knowledgegraphwidgetlink.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "knowledgegraphwidgetlink.h"
  2. KnowledgeGraphWidgetLink::KnowledgeGraphWidgetLink(QObject* parent)
  3. : QObject(parent)
  4. {
  5. m_startItem = nullptr;
  6. m_endItem = nullptr;
  7. }
  8. QString KnowledgeGraphWidgetLink::startName() const
  9. {
  10. return m_startName;
  11. }
  12. void KnowledgeGraphWidgetLink::setStartName(const QString& startName)
  13. {
  14. m_startName = startName;
  15. }
  16. QString KnowledgeGraphWidgetLink::endName() const
  17. {
  18. return m_endName;
  19. }
  20. void KnowledgeGraphWidgetLink::setEndName(const QString& endName)
  21. {
  22. m_endName = endName;
  23. }
  24. void KnowledgeGraphWidgetLink::drawLine(QPainter& painter, QList<KnowledgeGraphWidgetItem*>& items)
  25. {
  26. if (m_startItem == nullptr) {
  27. m_startItem = getItem(items, m_startName);
  28. }
  29. if (m_endItem == nullptr) {
  30. m_endItem = getItem(items, m_endName);
  31. }
  32. painter.setPen(QColor(197, 197, 197));
  33. painter.drawLine(m_startItem->center, m_endItem->center);
  34. painter.setPen(Qt::black);
  35. }
  36. KnowledgeGraphWidgetItem* KnowledgeGraphWidgetLink::getItem(QList<KnowledgeGraphWidgetItem*>& items, QString value)
  37. {
  38. for (int i = 0; i < items.count(); i++) {
  39. KnowledgeGraphWidgetItem* item = items.at(i);
  40. if (item->value() == value) {
  41. return item;
  42. }
  43. }
  44. return nullptr;
  45. }