CMake/Source/FLTKDialog/CMakeSetupGUIImplementation.h

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