summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog/cmCursesWidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/CursesDialog/cmCursesWidget.h')
-rw-r--r--Source/CursesDialog/cmCursesWidget.h58
1 files changed, 44 insertions, 14 deletions
diff --git a/Source/CursesDialog/cmCursesWidget.h b/Source/CursesDialog/cmCursesWidget.h
index a516bca..f4822a5 100644
--- a/Source/CursesDialog/cmCursesWidget.h
+++ b/Source/CursesDialog/cmCursesWidget.h
@@ -4,34 +4,62 @@
#include "../cmCacheManager.h"
#include "cmCursesStandardIncludes.h"
+class cmCursesMainForm;
+
class cmCursesWidget
{
public:
cmCursesWidget(int width, int height, int left, int top);
virtual ~cmCursesWidget();
- // Description:
- // Handle user input. Called by the container of this widget
- // when this widget has focus. Returns true if the input was
- // handled
- virtual bool HandleInput(int& key, FORM* form, WINDOW* w) = 0;
-
- // Description:
- // Change the position of the widget. Set isNewPage to true
- // if this widget marks the beginning of a new page.
+ /**
+ * Handle user input. Called by the container of this widget
+ * when this widget has focus. Returns true if the input was
+ * handled
+ */
+ virtual bool HandleInput(int& key, cmCursesMainForm* fm, WINDOW* w) = 0;
+
+ /**
+ * Change the position of the widget. Set isNewPage to true
+ * if this widget marks the beginning of a new page.
+ */
virtual void Move(int x, int y, bool isNewPage);
- // Description:
- // Set/Get the value (setting the value also changes the contents
- // of the field buffer).
+ /**
+ * Set/Get the value (setting the value also changes the contents
+ * of the field buffer).
+ */
virtual void SetValue(const char* value);
virtual const char* GetValue();
- // Description:
- // Get the type of the widget (STRING, PATH etc...)
+ /**
+ * Get the type of the widget (STRING, PATH etc...)
+ */
cmCacheManager::CacheEntryType GetType()
{ return m_Type; }
+ /**
+ * If there are any, print the widget specific commands
+ * in the toolbar and return true. Otherwise, return false
+ * and the parent widget will print.
+ */
+ virtual bool PrintKeys()
+ {
+ return false;
+ }
+
+ /**
+ * Set/Get the page this widget is in.
+ */
+ void SetPage(int page)
+ {
+ m_Page = page;
+ }
+ int GetPage()
+ {
+ return m_Page;
+ }
+
friend class cmCursesMainForm;
protected:
@@ -41,6 +69,8 @@ protected:
cmCacheManager::CacheEntryType m_Type;
std::string m_Value;
FIELD* m_Field;
+ // The page in the main form this widget is in
+ int m_Page;
};
#endif // __cmCursesWidget_h