nodevisual.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef NODEVISUAL_H
  2. #define NODEVISUAL_H
  3. #include <QString>
  4. /*
  5. * 节点视觉效果类
  6. * 自定义节点名称,背景颜色,边框颜色,节点名称颜色
  7. * 支持清除所有颜色,包括背景颜色,边框颜色,节点名称颜色
  8. * 支持级联修改,包括背景颜色,边框颜色,节点名称颜色
  9. */
  10. namespace vnotex
  11. {
  12. class NodeVisual
  13. {
  14. public:
  15. NodeVisual() = default;
  16. NodeVisual(const QString &p_backgroundColor,
  17. const QString &p_borderColor,
  18. const QString &p_nameColor);
  19. // 背景颜色
  20. const QString &getBackgroundColor() const { return m_backgroundColor; }
  21. void setBackgroundColor(const QString &p_color) { m_backgroundColor = p_color; }
  22. // 边框颜色
  23. const QString &getBorderColor() const { return m_borderColor; }
  24. void setBorderColor(const QString &p_color) { m_borderColor = p_color; }
  25. // 节点名称颜色
  26. const QString &getNameColor() const { return m_nameColor; }
  27. void setNameColor(const QString &p_color) { m_nameColor = p_color; }
  28. // 判断是否有任何视觉效果
  29. bool hasAnyVisualEffect() const;
  30. // 清除所有颜色
  31. void clearAllColors();
  32. private:
  33. QString m_backgroundColor; // 背景颜色
  34. QString m_borderColor; // 边框颜色
  35. QString m_nameColor; // 节点名称颜色
  36. };
  37. }
  38. #endif // NODEVISUAL_H