ROVLib2
RISCOSC++applicationdevelopmentlibrary
window.h
1 #pragma once
2 
3 #include "wimp.h"
4 #include "clickable.h"
5 #include "coordinateconverter.h"
6 #include "unassignable.h"
7 #include <string>
8 #include <list>
9 #include "wimp_window.h"
10 
11 namespace rov2
12 {
13 class CIcon;
14 
16 class CWindow : public CClickable, public CCoordinateConverter, public CUnassignable
17 {
18 public:
22  CWindow(const std::string& rksTitle);
23 
25  ~CWindow();
26 
30  void Create(const tLocation& rklSize);
31 
35  inline const tWindowHandle Handle() const { return m_whHandle; }
36 
40  inline const std::string Title() const { return m_caWindowTitle; }
41 
45  virtual void SetTitle(const std::string& rksNewTitle);
46 
51  virtual void RedrawArea(const tLocation& rklMinimum, const tLocation& rklMaximum) {};
52 
56  virtual void Open(const tWindowOpenBlock& rkwobOpenBlock);
57 
59  virtual void Close() {};
60 
65  virtual bool Clicked(const tMouseClickBlock& rkmcbClickBlock);
66 
70  void RegisterIcon(const CIcon* kpiIcon);
71 
74  void DeregisterIcon(const CIcon* kpiIcon);
75 
80  const CIcon* FindIcon(const tIconHandle kihIcon);
81 
82 protected:
83  CWindow() {};
84 
88  virtual void Adorn(tWindowCreateBlock& rwcbBlock) {};
89 
91  virtual void Created(void) {};
92 
94  char m_caWindowTitle[256];
95 
97  tWindowHandle m_whHandle;
98 
100  std::list<const CIcon*> m_lkpwIcons;
101 };
102 
103 }
std::list< const CIcon * > m_lkpwIcons
Definition: window.h:100
tWindowHandle m_whHandle
Definition: window.h:97
void DeregisterIcon(const CIcon *kpiIcon)
Definition: window.cpp:118
virtual void Close()
Definition: window.h:59
void Create(const tLocation &rklSize)
Definition: window.cpp:21
virtual void SetTitle(const std::string &rksNewTitle)
Definition: window.cpp:106
const tWindowHandle Handle() const
Definition: window.h:35
char m_caWindowTitle[256]
Definition: window.h:91
const std::string Title() const
Definition: window.h:40
void RegisterIcon(const CIcon *kpiIcon)
Definition: window.cpp:112
virtual void RedrawArea(const tLocation &rklMinimum, const tLocation &rklMaximum)
Definition: window.h:51
const CIcon * FindIcon(const tIconHandle kihIcon)
Definition: window.cpp:124
virtual void Adorn(tWindowCreateBlock &rwcbBlock)
Definition: window.h:88
virtual bool Clicked(const tMouseClickBlock &rkmcbClickBlock)
Definition: window.cpp:138
virtual void Created(void)
Definition: window.h:91
virtual void Open(const tWindowOpenBlock &rkwobOpenBlock)
Definition: window.cpp:153