diff options
Diffstat (limited to 'Source/CursesDialog/cmCursesForm.h')
-rw-r--r-- | Source/CursesDialog/cmCursesForm.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Source/CursesDialog/cmCursesForm.h b/Source/CursesDialog/cmCursesForm.h new file mode 100644 index 0000000..c0192fc --- /dev/null +++ b/Source/CursesDialog/cmCursesForm.h @@ -0,0 +1,71 @@ +/*============================================================================ + 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 "cmCursesStandardIncludes.h" + +#include <cmsys/FStream.hxx> + +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 cmsys::ofstream DebugFile; + static bool Debug; + + cmCursesForm(const cmCursesForm& form); + void operator=(const cmCursesForm&); + + FORM* Form; +}; + +#endif // cmCursesForm_h |