diff options
Diffstat (limited to 'StarsEx/View.h')
-rw-r--r-- | StarsEx/View.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/StarsEx/View.h b/StarsEx/View.h new file mode 100644 index 0000000..e986417 --- /dev/null +++ b/StarsEx/View.h @@ -0,0 +1,51 @@ +/* Starshatter: The Open Source Project + Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors + Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors + Copyright (c) 1997-2006, Destroyer Studios LLC. + + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + Abstract View class +*/ + +#ifndef View_h +#define View_h + +#include "Types.h" + +// +--------------------------------------------------------------------+ + +class Window; + +// +--------------------------------------------------------------------+ + +class View +{ + friend class Window; + +public: + static const char* TYPENAME() { return "View"; } + + View(Window* c) : window(c) { } + virtual ~View() { } + + int operator == (const View& that) const { return this == &that; } + + // Operations: + virtual void Refresh() { } + virtual void OnWindowMove() { } + virtual void OnShow() { } + virtual void OnHide() { } + + virtual void SetWindow(Window* w) { window = w; OnWindowMove(); } + virtual Window* GetWindow() { return window; } + +protected: + Window* window; +}; + +#endif // View_h + |