QsElement.h 554 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <vector>
  3. #include "QsWidget.h"
  4. class QsElement
  5. {
  6. public:
  7. QsElement() {}
  8. ~QsElement() {
  9. for (size_t i = 0; i < m_frees.size(); i++)
  10. delete m_frees[i];
  11. }
  12. virtual QsWidget* toQ() = 0;
  13. QsWidget* appQs(QsWidget* widget) { m_frees.push_back(widget); return widget; };
  14. void setExtra(const std::string& name, const std::string& value) {
  15. m_extra[name] = value;
  16. }
  17. std::string extra(const std::string& name) {
  18. return m_extra[name];
  19. }
  20. private:
  21. std::vector<QsWidget*> m_frees;
  22. std::map<std::string, std::string> m_extra;
  23. };