VBWidgetPropertyModel.h 1020 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include <LibGUI/GModel.h>
  3. class VBWidget;
  4. class VBProperty;
  5. class VBWidgetPropertyModel : public GModel {
  6. public:
  7. enum Column {
  8. Name = 0,
  9. Value,
  10. __Count
  11. };
  12. static Retained<VBWidgetPropertyModel> create(VBWidget& widget) { return adopt(*new VBWidgetPropertyModel(widget)); }
  13. virtual ~VBWidgetPropertyModel() override;
  14. virtual int row_count(const GModelIndex&) const override;
  15. virtual int column_count(const GModelIndex&) const override { return Column::__Count; }
  16. virtual String column_name(int column) const override;
  17. virtual ColumnMetadata column_metadata(int column) const override;
  18. virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
  19. virtual void update() override { did_update(); }
  20. virtual bool is_editable(const GModelIndex&) const override;
  21. virtual void set_data(const GModelIndex&, const GVariant&) override;
  22. private:
  23. explicit VBWidgetPropertyModel(VBWidget&);
  24. VBWidget& m_widget;
  25. };