#pragma once class TgTUI; class View { public: View(TgTUI& tgtui); virtual ~View(); virtual void open(); virtual void close(); virtual void paint() = 0; // return -2 -> exit // return -1 -> keep current ViewMode // return 0 <= -> switch to other ViewMode virtual int keyIn(int key); protected: TgTUI& tgtui; int maxRows, maxCols; };