#ifndef MONITOR_PRESENTATION_H
#define MONITOR_PRESENTATION_H

#include "Monitor_presentation_for_monitor.h"
class Monitor;

namespace MM
{
class Monitor;

class Monitor_presentation : protected Monitor_presentation_for_monitor
{
public:
    virtual ~Monitor_presentation () {}

    Monitor_presentation_for_monitor & interface_for (Monitor*) {return *this;}

    virtual char const *    title () const =0;
    virtual void            show  () =0;
    virtual void            update() =0;

    //virtual void            update (MD_monitor & origin) =0; //fix: update or add data?
    //virtual void            clear  (MD_monitor & origin) =0;
    //virtual void            update   () =0;
    virtual void            add_data () =0;
    virtual void            clear    () =0;
};

}//MM

#endif //MONITOR_PRESENTATION_H
