GTableModel.cpp 636 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include <LibGUI/GTableModel.h>
  2. #include <LibGUI/GTableView.h>
  3. GTableModel::GTableModel()
  4. {
  5. }
  6. GTableModel::~GTableModel()
  7. {
  8. }
  9. void GTableModel::register_view(Badge<GTableView>, GTableView& view)
  10. {
  11. m_views.set(&view);
  12. }
  13. void GTableModel::unregister_view(Badge<GTableView>, GTableView& view)
  14. {
  15. m_views.remove(&view);
  16. }
  17. void GTableModel::for_each_view(Function<void(GTableView&)> callback)
  18. {
  19. for (auto* view : m_views)
  20. callback(*view);
  21. }
  22. void GTableModel::did_update()
  23. {
  24. if (on_model_update)
  25. on_model_update(*this);
  26. for_each_view([] (GTableView& view) {
  27. view.did_update_model();
  28. });
  29. }