diff options
author | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
commit | 3c487c5cd69c53d6fea948643c0a76df03516605 (patch) | |
tree | 72730c7b8b26a5ef8fc9a987ec4c16129efd5aac /StarsEx/FormWindow.h | |
parent | 8f353abd0bfe18baddd8a8250ab7c4f2d1c83a6e (diff) | |
download | starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.zip starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.gz starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.bz2 |
Moved Stars45 to StarsEx
Diffstat (limited to 'StarsEx/FormWindow.h')
-rw-r--r-- | StarsEx/FormWindow.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/StarsEx/FormWindow.h b/StarsEx/FormWindow.h new file mode 100644 index 0000000..23681ca --- /dev/null +++ b/StarsEx/FormWindow.h @@ -0,0 +1,76 @@ +/* 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 + ======== + Form Window class (a window that manages controls) +*/ + +#ifndef FormWindow_h +#define FormWindow_h + +#include "Types.h" +#include "ActiveWindow.h" +#include "FormDef.h" +#include "List.h" + +// +--------------------------------------------------------------------+ + +class Button; +class ComboBox; +class EditBox; +class ImageBox; +class ListBox; +class RichTextBox; +class Slider; + +// +--------------------------------------------------------------------+ + +class FormWindow : public ActiveWindow +{ +public: + FormWindow(Screen* s, int ax, int ay, int aw, int ah, + DWORD aid=0, DWORD style=0, ActiveWindow* parent=0); + virtual ~FormWindow(); + + // operations: + virtual void Init(); + virtual void Init(const FormDef& def); + virtual void Destroy(); + virtual ActiveWindow* FindControl(DWORD id); + virtual ActiveWindow* FindControl(int x, int y); + virtual void RegisterControls() { } + + virtual void AdoptFormDef(const FormDef& def); + virtual void AddControl(ActiveWindow* ctrl); + + virtual ActiveWindow* CreateLabel( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0, DWORD style=0); + virtual Button* CreateButton( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0); + virtual ImageBox* CreateImageBox( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0); + virtual ListBox* CreateListBox( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0); + virtual ComboBox* CreateComboBox( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0); + virtual EditBox* CreateEditBox( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0); + virtual RichTextBox* CreateRichTextBox(const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0, DWORD style=0); + virtual Slider* CreateSlider( const char* text, int x, int y, int w, int h, DWORD id=0, DWORD pid=0, DWORD style=0); + + // property accessors: + ListIter<ActiveWindow> Controls() { return children; } + +protected: + virtual void CreateDefLabel(CtrlDef& def); + virtual void CreateDefButton(CtrlDef& def); + virtual void CreateDefImage(CtrlDef& def); + virtual void CreateDefList(CtrlDef& def); + virtual void CreateDefCombo(CtrlDef& def); + virtual void CreateDefEdit(CtrlDef& def); + virtual void CreateDefSlider(CtrlDef& def); + virtual void CreateDefRichText(CtrlDef& def); +}; + +#endif // FormWindow_h + |