diff options
Diffstat (limited to 'Source/CursesDialog')
-rw-r--r-- | Source/CursesDialog/ccmake.cxx | 7 | ||||
-rw-r--r-- | Source/CursesDialog/cmCursesMainForm.cxx | 17 | ||||
-rw-r--r-- | Source/CursesDialog/cmCursesMainForm.h | 5 |
3 files changed, 22 insertions, 7 deletions
diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx index 5218205..03fdb3f 100644 --- a/Source/CursesDialog/ccmake.cxx +++ b/Source/CursesDialog/ccmake.cxx @@ -189,8 +189,11 @@ int main(int argc, char** argv) cmCursesForm::CurrentForm = myform; myform->InitializeUI(); - myform->Render(1, 1, x, y); - myform->HandleInput(); + if ( myform->Configure(1) == 0 ) + { + myform->Render(1, 1, x, y); + myform->HandleInput(); + } // Need to clean-up better curses_clear(); diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index 546dc32..283c43d 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -624,9 +624,8 @@ void cmCursesMainForm::UpdateProgress(const char *msg, float prog, void* vp) refresh(); } -int cmCursesMainForm::Configure() +int cmCursesMainForm::Configure(int noconfigure) { - int xi,yi; getmaxyx(stdscr, yi, xi); @@ -648,7 +647,19 @@ int cmCursesMainForm::Configure() // run the generate process m_OkToGenerate = true; - int retVal = this->m_CMakeInstance->Configure(); + int retVal; + if ( noconfigure ) + { + retVal = this->m_CMakeInstance->DoPreConfigureChecks(); + if ( retVal > 0 ) + { + retVal = 0; + } + } + else + { + retVal = this->m_CMakeInstance->Configure(); + } this->m_CMakeInstance->SetProgressCallback(0, 0); keypad(stdscr,TRUE); /* Use key symbols as diff --git a/Source/CursesDialog/cmCursesMainForm.h b/Source/CursesDialog/cmCursesMainForm.h index 4932f5c..9cfce3d 100644 --- a/Source/CursesDialog/cmCursesMainForm.h +++ b/Source/CursesDialog/cmCursesMainForm.h @@ -89,9 +89,10 @@ public: virtual void AddError(const char* message, const char* title); /** - * Used to do a configure. + * Used to do a configure. If argument is specified, it does only the check + * and not configure. */ - int Configure(); + int Configure(int noconfigure=0); /** * Used to generate |