diff options
Diffstat (limited to 'Source/CursesDialog/cmCursesForm.h')
-rw-r--r-- | Source/CursesDialog/cmCursesForm.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Source/CursesDialog/cmCursesForm.h b/Source/CursesDialog/cmCursesForm.h new file mode 100644 index 000000000..7556d74b5 --- /dev/null +++ b/Source/CursesDialog/cmCursesForm.h @@ -0,0 +1,75 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2000-2009 Kitware, Inc., Insight Software Consortium + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#ifndef __cmCursesForm_h +#define __cmCursesForm_h + +#include "../cmStandardIncludes.h" +#include "cmCursesStandardIncludes.h" + +class cmCursesForm +{ +public: + cmCursesForm(); + virtual ~cmCursesForm(); + + // Description: + // Handle user input. + virtual void HandleInput() = 0; + + // Description: + // Display form. + virtual void Render(int left, int top, int width, int height) = 0; + + // Description: + // This method should normally called only by the form. + // The only exception is during a resize. + virtual void UpdateStatusBar() = 0; + + // Description: + // During a CMake run, an error handle should add errors + // to be displayed afterwards. + virtual void AddError(const char*, const char*) {} + + // Description: + // Turn debugging on. This will create ccmakelog.txt. + static void DebugStart(); + + // Description: + // Turn debugging off. This will close ccmakelog.txt. + static void DebugEnd(); + + // Description: + // Write a debugging message. + static void LogMessage(const char* msg); + + // Description: + // Return the FORM. Should be only used by low-level methods. + FORM* GetForm() + { + return this->Form; + } + + static cmCursesForm* CurrentForm; + + +protected: + + static std::ofstream DebugFile; + static bool Debug; + + cmCursesForm(const cmCursesForm& form); + void operator=(const cmCursesForm&); + + FORM* Form; +}; + +#endif // __cmCursesForm_h |