#ifndef __cmCursesMainForm_h #define __cmCursesMainForm_h #include "../cmStandardIncludes.h" #include "cmCursesForm.h" #include "cmCursesStandardIncludes.h" class cmCursesCacheEntryComposite; class cmCursesMainForm : public cmCursesForm { public: cmCursesMainForm(std::vector const& args); virtual ~cmCursesMainForm(); // Description: // Set the widgets which represent the cache entries. void InitializeUI(); // Description: // Handle user input. virtual void HandleInput(); // Description: // Display form. Use a window of size width x height, starting // at top, left. virtual void Render(int left, int top, int width, int height); // Description: // Returns true if an entry with the given key is in the // list of current composites. bool LookForCacheEntry(const char* key); enum { MIN_WIDTH = 65, MIN_HEIGHT = 6, IDEAL_WIDTH = 80, MAX_WIDTH = 512 }; // Description: // This method should normally called only by the form. // The only exception is during a resize. virtual void UpdateStatusBar(); // Description: // This method should normally called only by the form. // The only exception is during a resize. void PrintKeys(); // Description: // During a CMake run, an error handle should add errors // to be displayed afterwards. virtual void AddError(const char* message, const char* title); // Description: // Used to run cmake. void RunCMake(bool generateMakefiles); protected: cmCursesMainForm(const cmCursesMainForm& from); void operator=(const cmCursesMainForm&); void FillCacheManagerFromUI(); void RePost(); void RemoveEntry(const char* value); std::vector* m_Entries; std::vector m_Errors; std::vector m_Args; std::vector m_HelpMessage; static const char* s_ConstHelpMessage; FIELD** m_Fields; std::string m_WhereSource; std::string m_WhereCMake; int m_Height; int m_NumberOfVisibleEntries; bool m_AdvancedMode; bool m_OkToGenerate; }; #endif // __cmCursesMainForm_h