summaryrefslogtreecommitdiffstats
path: root/Source/FLTKDialog
diff options
context:
space:
mode:
authorLuis Ibanez <luis.ibanez@kitware.com>2001-05-17 16:01:30 (GMT)
committerLuis Ibanez <luis.ibanez@kitware.com>2001-05-17 16:01:30 (GMT)
commit483e6ddafde3cf00b3858d901557c183506b9b78 (patch)
tree052fa738acd7981438d26044fd4f348ce522a952 /Source/FLTKDialog
parent259b5ad928ee8d7315ab57335778306f9672e821 (diff)
downloadCMake-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.cpp219
-rw-r--r--Source/FLTKDialog/CMakeSetupGUIImplementation.h35
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