Implementation of the virtual Callbacks declared in the GUI
This commit is contained in:
parent
259b5ad928
commit
483e6ddafd
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -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
|
Loading…
Reference in New Issue