WidgetTreeModel.h 853 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include <LibGUI/GModel.h>
  3. #include <LibGUI/GPainter.h>
  4. class WidgetTreeModel final : public GModel {
  5. public:
  6. static NonnullRefPtr<WidgetTreeModel> create(GWidget& root) { return adopt(*new WidgetTreeModel(root)); }
  7. virtual ~WidgetTreeModel() override;
  8. virtual int row_count(const GModelIndex& = GModelIndex()) const override;
  9. virtual int column_count(const GModelIndex& = GModelIndex()) const override;
  10. virtual GVariant data(const GModelIndex&, Role = Role::Display) const override;
  11. virtual GModelIndex index(int row, int column, const GModelIndex& parent = GModelIndex()) const override;
  12. virtual GModelIndex parent_index(const GModelIndex&) const override;
  13. virtual void update() override;
  14. private:
  15. explicit WidgetTreeModel(GWidget&);
  16. NonnullRefPtr<GWidget> m_root;
  17. GIcon m_widget_icon;
  18. };