View.h 402 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <functional>
  3. class Model;
  4. class View
  5. {
  6. protected:
  7. int ref;
  8. public:
  9. View();
  10. virtual ~View();
  11. virtual void update( Model *m ) = 0;
  12. View *getThis();
  13. View *release();
  14. };
  15. class ActionView : public View
  16. {
  17. private:
  18. std::function< void( Model * ) > f;
  19. public:
  20. ActionView( std::function< void( Model * ) > f );
  21. void update( Model *m ) override;
  22. };