86 lines
2.7 KiB
C++
86 lines
2.7 KiB
C++
/*=========================================================================
|
|
|
|
Program: Insight Segmentation & Registration Toolkit
|
|
Module: $RCSfile$
|
|
Language: C++
|
|
Date: $Date$
|
|
Version: $Revision$
|
|
|
|
Copyright (c) 2002 Insight Consortium. All rights reserved.
|
|
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notices for more information.
|
|
|
|
=========================================================================*/
|
|
|
|
#ifndef CMakeSetupGUIImplementation_h
|
|
#define CMakeSetupGUIImplementation_h
|
|
|
|
#include "CMakeSetupGUI.h"
|
|
#include "FLTKPropertyList.h"
|
|
#include <set>
|
|
|
|
|
|
/**
|
|
*
|
|
* This class implements the virtual methods
|
|
* declared in the GUI interface
|
|
*
|
|
*/
|
|
|
|
class cmake;
|
|
|
|
class CMakeSetupGUIImplementation : public CMakeSetupGUI
|
|
{
|
|
|
|
public:
|
|
|
|
CMakeSetupGUIImplementation();
|
|
virtual ~CMakeSetupGUIImplementation();
|
|
virtual void Close( void );
|
|
virtual void Show( void );
|
|
virtual void UpdateData( bool option );
|
|
virtual void BrowseForBinaryPath( void );
|
|
virtual void BrowseForSourcePath( void );
|
|
virtual void SetBinaryPath( const char * path );
|
|
virtual void SetSourcePath( const char * path );
|
|
virtual void SaveCacheFromGUI( void );
|
|
virtual void LoadCacheFromDiskToGUI( void );
|
|
virtual void FillCacheGUIFromCacheManager( void );
|
|
virtual void FillCacheManagerFromCacheGUI( void );
|
|
virtual void SetPathToExecutable( const char * path );
|
|
virtual void LoadRecentDirectories(void);
|
|
virtual void SaveRecentDirectories(void);
|
|
virtual void ShowRecentBinaryDirectories(void);
|
|
virtual void ShowRecentSourceDirectories(void);
|
|
virtual void SelectOneRecentSourceDirectory(void);
|
|
virtual void SelectOneRecentBinaryDirectory(void);
|
|
virtual void UpdateListOfRecentDirectories(void);
|
|
virtual void ClickOnConfigure(void);
|
|
virtual void ClickOnOK(void);
|
|
virtual void ClickOnCancel(void);
|
|
virtual void RunCMake( bool generateProjectFiles );
|
|
cmake *GetCMakeInstance() {return m_CMakeInstance; }
|
|
private:
|
|
virtual bool VerifyBinaryPath( const std::string & path ) const;
|
|
virtual bool VerifySourcePath( const std::string & path ) const;
|
|
virtual std::string ExpandPathAndMakeItAbsolute( const std::string & inputPath ) const;
|
|
|
|
private:
|
|
fltk::PropertyList m_CacheEntriesList;
|
|
std::string m_WhereBuild;
|
|
std::string m_WhereSource;
|
|
std::string m_PathToExecutable;
|
|
std::string m_GeneratorChoiceString;
|
|
bool m_BuildPathChanged;
|
|
|
|
std::set< std::string > m_RecentBinaryDirectories;
|
|
std::set< std::string > m_RecentSourceDirectories;
|
|
cmake *m_CMakeInstance;
|
|
};
|
|
|
|
|
|
#endif
|