Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / FLTKDialog / CMakeSetupGUIImplementation.h
blobdef9ec2d5371c0123d0a4f70098f054e482e380d
1 /*=========================================================================
3 Program: Insight Segmentation & Registration Toolkit
4 Module: $RCSfile: CMakeSetupGUIImplementation.h,v $
5 Language: C++
6 Date: $Date: 2005/09/23 21:47:32 $
7 Version: $Revision: 1.14 $
9 Copyright (c) 2002 Insight Consortium. All rights reserved.
10 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
18 #ifndef CMakeSetupGUIImplementation_h
19 #define CMakeSetupGUIImplementation_h
21 #include "CMakeSetupGUI.h"
22 #include "FLTKPropertyList.h"
23 #include <set>
26 /**
28 * This class implements the virtual methods
29 * declared in the GUI interface
33 class cmake;
35 class CMakeSetupGUIImplementation : public CMakeSetupGUI
38 public:
40 CMakeSetupGUIImplementation();
41 virtual ~CMakeSetupGUIImplementation();
42 virtual void Close( void );
43 virtual void Show( void );
44 virtual void UpdateData( bool option );
45 virtual void BrowseForBinaryPath( void );
46 virtual void BrowseForSourcePath( void );
47 virtual void SetBinaryPath( const char * path );
48 virtual void SetSourcePath( const char * path );
49 virtual void SaveCacheFromGUI( void );
50 virtual void LoadCacheFromDiskToGUI( void );
51 virtual void FillCacheGUIFromCacheManager( void );
52 virtual void FillCacheManagerFromCacheGUI( void );
53 virtual void SetPathToExecutable( const char * path );
54 virtual void LoadRecentDirectories(void);
55 virtual void SaveRecentDirectories(void);
56 virtual void ShowRecentBinaryDirectories(void);
57 virtual void ShowRecentSourceDirectories(void);
58 virtual void SelectOneRecentSourceDirectory(void);
59 virtual void SelectOneRecentBinaryDirectory(void);
60 virtual void UpdateListOfRecentDirectories(void);
61 virtual void ClickOnConfigure(void);
62 virtual void ClickOnOK(void);
63 virtual void ClickOnCancel(void);
64 virtual void RunCMake( bool generateProjectFiles );
65 cmake *GetCMakeInstance() {return m_CMakeInstance; }
66 private:
67 virtual bool VerifyBinaryPath( const std::string & path ) const;
68 virtual bool VerifySourcePath( const std::string & path ) const;
69 virtual std::string ExpandPathAndMakeItAbsolute( const std::string & inputPath ) const;
71 private:
72 fltk::PropertyList m_CacheEntriesList;
73 std::string m_WhereBuild;
74 std::string m_WhereSource;
75 std::string m_PathToExecutable;
76 std::string m_GeneratorChoiceString;
77 bool m_BuildPathChanged;
79 std::set< std::string > m_RecentBinaryDirectories;
80 std::set< std::string > m_RecentSourceDirectories;
81 cmake *m_CMakeInstance;
85 #endif