diff options
author | Luis Ibanez <luis.ibanez@kitware.com> | 2001-05-17 16:01:30 (GMT) |
---|---|---|
committer | Luis Ibanez <luis.ibanez@kitware.com> | 2001-05-17 16:01:30 (GMT) |
commit | 483e6ddafde3cf00b3858d901557c183506b9b78 (patch) | |
tree | 052fa738acd7981438d26044fd4f348ce522a952 /Source/FLTKDialog | |
parent | 259b5ad928ee8d7315ab57335778306f9672e821 (diff) | |
download | CMake-483e6ddafde3cf00b3858d901557c183506b9b78.zip CMake-483e6ddafde3cf00b3858d901557c183506b9b78.tar.gz CMake-483e6ddafde3cf00b3858d901557c183506b9b78.tar.bz2 |
Implementation of the virtual Callbacks declared in the GUI
Diffstat (limited to 'Source/FLTKDialog')
-rw-r--r-- | Source/FLTKDialog/CMakeSetupGUIImplementation.cpp | 219 | ||||
-rw-r--r-- | Source/FLTKDialog/CMakeSetupGUIImplementation.h | 35 |
2 files changed, 254 insertions, 0 deletions
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp b/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp new file mode 100644 index 0000000..23b917c --- /dev/null +++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp @@ -0,0 +1,219 @@ + +#include "CMakeSetupGUIImplementation.h" +#include "Fl/fl_file_chooser.H" +#include "Fl/filename.H" +#include "Fl/fl_ask.H" +#include "cstring" + + + +/** + * Constructor + */ +CMakeSetupGUIImplementation +::CMakeSetupGUIImplementation() +{ +} + + + +/** + * Destructor + */ +CMakeSetupGUIImplementation +::~CMakeSetupGUIImplementation() +{ +} + + + +/** + * Show the graphic interface + */ +void +CMakeSetupGUIImplementation +::Show( void ) +{ + dialogWindow->show(); +} + + + + + +/** + * Hide the graphic interface + */ +void +CMakeSetupGUIImplementation +::Close( void ) +{ + dialogWindow->hide(); +} + + + + + +/** + * Browse for the path to the sources + */ +void +CMakeSetupGUIImplementation +::BrowseForSourcePath( void ) +{ + const char * path = + fl_file_chooser( + "Path to Sources", + "", + sourcePathTextInput->value() ); + + if( !path ) + { + return; + } + + SetSourcePath( path ); + +} + + + + +/** + * Browse for the path to the binaries + */ +void +CMakeSetupGUIImplementation +::BrowseForBinaryPath( void ) +{ + const char * path = + fl_file_chooser( + "Path to Binaries", + "", + binaryPathTextInput->value() ); + + if( !path ) + { + return; + } + + binaryPathTextInput->value( path ); +} + + + + + +/** + * Set the source path + */ +void +CMakeSetupGUIImplementation +::SetSourcePath( const char * path ) +{ + if( VerifySourcePath( path ) ) + { + sourcePathTextInput->value( path ); + } + +} + + + + +/** + * Set the binary path + */ +void +CMakeSetupGUIImplementation +::SetBinaryPath( const char * path ) +{ + + if( VerifyBinaryPath( path ) ) + { + binaryPathTextInput->value( path ); + } + +} + + + +/** + * Verify the path to binaries + */ +bool +CMakeSetupGUIImplementation +::VerifyBinaryPath( const char * path ) +{ + + if( !path || strlen(path)==0 ) + { + fl_alert("Please select the path to the binaries"); + return false; + } + + + if( !filename_isdir( path ) ) + { + fl_alert("%s \n Doesn't exist or is not a directory",path); + return false; + } + + return true; +} + + + +/** + * Verify the path to sources + */ +bool +CMakeSetupGUIImplementation +::VerifySourcePath( const char * path ) +{ + + if( !path || strlen(path)==0 ) + { + fl_alert("Please select the path to the sources"); + return false; + } + + + if( !filename_isdir( path ) ) + { + fl_alert("%s \n Doesn't exist or is not a directory",path); + return false; + } + + return true; +} + + + + +/** + * Build the project files + */ +void +CMakeSetupGUIImplementation +::BuildProjectFiles( void ) +{ + + // Verify that source path is a valid directory + if( !VerifySourcePath( sourcePathTextInput->value() ) ) + { + return; + } + + // Verify that binary path is a valid directory + if( !VerifyBinaryPath( binaryPathTextInput->value() ) ) + { + return; + } + + fl_message("Building project files ... please wait"); + +} + + diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.h b/Source/FLTKDialog/CMakeSetupGUIImplementation.h new file mode 100644 index 0000000..506cc1e --- /dev/null +++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.h @@ -0,0 +1,35 @@ + +#ifndef CMakeSetupGUIImplementation_h +#define CMakeSetupGUIImplementation_h + +#include "CMakeSetupGUI.h" + + +/** + * + * This class implements the virtual methods + * declared in the GUI interface + * + */ + +class CMakeSetupGUIImplementation : public CMakeSetupGUI +{ + +public: + + CMakeSetupGUIImplementation(); + virtual ~CMakeSetupGUIImplementation(); + virtual void Close( void ); + virtual void Show( void ); + virtual void BuildProjectFiles( void ); + virtual void BrowseForBinaryPath( void ); + virtual void BrowseForSourcePath( void ); + virtual void SetBinaryPath( const char * path ); + virtual void SetSourcePath( const char * path ); + virtual bool VerifyBinaryPath( const char * path ); + virtual bool VerifySourcePath( const char * path ); + +}; + + +#endif |