vlineedit.cpp 962 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "vlineedit.h"
  2. #include <QDebug>
  3. #include <QToolTip>
  4. #include "utils/vmetawordmanager.h"
  5. extern VMetaWordManager *g_mwMgr;
  6. VLineEdit::VLineEdit(QWidget *p_parent)
  7. : QLineEdit(p_parent)
  8. {
  9. init();
  10. }
  11. VLineEdit::VLineEdit(const QString &p_contents, QWidget *p_parent)
  12. : QLineEdit(p_contents, p_parent)
  13. {
  14. init();
  15. }
  16. void VLineEdit::handleTextChanged(const QString &p_text)
  17. {
  18. m_evaluatedText = g_mwMgr->evaluate(p_text);
  19. qDebug() << "evaluate text:" << m_evaluatedText;
  20. if (m_evaluatedText == p_text) {
  21. return;
  22. }
  23. // Display tooltip at bottom-left.
  24. QPoint pos = mapToGlobal(QPoint(0, height()));
  25. QToolTip::showText(pos, m_evaluatedText, this);
  26. }
  27. void VLineEdit::init()
  28. {
  29. m_evaluatedText = g_mwMgr->evaluate(text());
  30. connect(this, &QLineEdit::textChanged,
  31. this, &VLineEdit::handleTextChanged);
  32. }
  33. const QString &VLineEdit::getEvaluatedText() const
  34. {
  35. return m_evaluatedText;
  36. }