StylePropertiesModel.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #include <AK/NonnullRefPtrVector.h>
  2. #include <LibGUI/GModel.h>
  3. class StyleProperties;
  4. class StylePropertiesModel final : public GModel {
  5. public:
  6. enum Column {
  7. PropertyName,
  8. PropertyValue,
  9. __Count
  10. };
  11. static NonnullRefPtr<StylePropertiesModel> create(const StyleProperties& properties) { return adopt(*new StylePropertiesModel(properties)); }
  12. virtual int row_count(const GModelIndex& = GModelIndex()) const override;
  13. virtual int column_count(const GModelIndex& = GModelIndex()) const override { return Column::__Count; }
  14. virtual String column_name(int) const override;
  15. virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
  16. virtual void update() override;
  17. private:
  18. explicit StylePropertiesModel(const StyleProperties& properties);
  19. const StyleProperties& properties() const { return *m_properties; }
  20. NonnullRefPtr<StyleProperties> m_properties;
  21. struct Value {
  22. String name;
  23. String value;
  24. };
  25. Vector<Value> m_values;
  26. };