| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*=========================================================================
- Program: Insight Segmentation & Registration Toolkit
- Module: $RCSfile$
- Language: C++
- Date: $Date$
- Version: $Revision$
- Copyright (c) 2002 Insight Consortium. All rights reserved.
- See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notices for more information.
- =========================================================================*/
- #ifndef __cmCursesWidget_h
- #define __cmCursesWidget_h
- #include "../cmCacheManager.h"
- #include "cmCursesStandardIncludes.h"
- class cmCursesMainForm;
- class cmCursesWidget
- {
- public:
- cmCursesWidget(int width, int height, int left, int top);
- virtual ~cmCursesWidget();
-
- /**
- * 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);
- /**
- * 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();
- /**
- * 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:
- cmCursesWidget(const cmCursesWidget& from);
- void operator=(const cmCursesWidget&);
- 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
|