CMakeSetupGUIImplementation.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*=========================================================================
  2. Program: Insight Segmentation & Registration Toolkit
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Insight Consortium. All rights reserved.
  8. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef CMakeSetupGUIImplementation_h
  14. #define CMakeSetupGUIImplementation_h
  15. #include "CMakeSetupGUI.h"
  16. #include "FLTKPropertyList.h"
  17. #include <set>
  18. /**
  19. *
  20. * This class implements the virtual methods
  21. * declared in the GUI interface
  22. *
  23. */
  24. class CMakeSetupGUIImplementation : public CMakeSetupGUI
  25. {
  26. public:
  27. CMakeSetupGUIImplementation();
  28. virtual ~CMakeSetupGUIImplementation();
  29. virtual void Close( void );
  30. virtual void Show( void );
  31. virtual void UpdateData( bool option );
  32. virtual void BrowseForBinaryPath( void );
  33. virtual void BrowseForSourcePath( void );
  34. virtual bool SetBinaryPath( const char * path );
  35. virtual bool SetSourcePath( const char * path );
  36. virtual void SaveCacheFromGUI( void );
  37. virtual void LoadCacheFromDiskToGUI( void );
  38. virtual void FillCacheGUIFromCacheManager( void );
  39. virtual void FillCacheManagerFromCacheGUI( void );
  40. virtual void SetPathToExecutable( const char * path );
  41. virtual void LoadRecentDirectories(void);
  42. virtual void SaveRecentDirectories(void);
  43. virtual void ShowRecentBinaryDirectories(void);
  44. virtual void ShowRecentSourceDirectories(void);
  45. virtual void SelectOneRecentSourceDirectory(void);
  46. virtual void SelectOneRecentBinaryDirectory(void);
  47. virtual void UpdateListOfRecentDirectories(void);
  48. virtual void ClickOnConfigure(void);
  49. virtual void ClickOnOK(void);
  50. virtual void ClickOnCancel(void);
  51. virtual void RunCMake( bool generateProjectFiles );
  52. private:
  53. virtual bool VerifyBinaryPath( const std::string & path ) const;
  54. virtual bool VerifySourcePath( const std::string & path ) const;
  55. virtual std::string ExpandPathAndMakeItAbsolute( const std::string & inputPath ) const;
  56. private:
  57. fltk::PropertyList m_CacheEntriesList;
  58. std::string m_WhereBuild;
  59. std::string m_WhereSource;
  60. std::string m_PathToExecutable;
  61. std::string m_GeneratorChoiceString;
  62. bool m_BuildPathChanged;
  63. std::set< std::string > m_RecentBinaryDirectories;
  64. std::set< std::string > m_RecentSourceDirectories;
  65. };
  66. #endif