The MV(C) paradigm

This demonstates a Model/View example based on a simple counter. See "Principles of Object-Oriented Sostware Development" by Anton Eliens, page 237.

jrvosse@cs.vu.nl
  #include<iostream.h>
  #include<hush/session.h>
  #include<hush/kit.h>

  #include model.h
  #include view.h

  class application: public session {
  public:
    application(int argc, char* argv[], char* name):
      session(argc, argv, name) {};  
    int main() {
      counter c;                           // create model
      widget* root = tk->root();           // create view
      view* v = new view(&c,root, ".view");       
      v->pack();

      c.dependent(v);     // make view dependent on model
      for(int i=0; i<100; i++) ++c; 
      
      return OK;          
    }
  };

  int main(int argc, char* argv[]) {
    application *s = new application(argc, argv, "example hush");
    int result = s->run();
    delete s;
    session::statistics();        // print create/delete statistics
    return result;
  }