diff options
Diffstat (limited to 'Source/WXDialog/cmWXMainFrame.h')
-rw-r--r-- | Source/WXDialog/cmWXMainFrame.h | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/Source/WXDialog/cmWXMainFrame.h b/Source/WXDialog/cmWXMainFrame.h deleted file mode 100644 index 8f97fd0..0000000 --- a/Source/WXDialog/cmWXMainFrame.h +++ /dev/null @@ -1,243 +0,0 @@ -/*========================================================================= - - Program: CMake - Cross-Platform Makefile Generator - Module: $RCSfile$ - Language: C++ - Date: $Date$ - Version: $Revision$ - - Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. - See Copyright.txt or http://www.cmake.org/HTML/Copyright.html 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 __cmMainFrame__h__ -#define __cmMainFrame__h__ - -#include "cmStandardIncludes.h" - -#include "wxincludes.h" - -class cmCacheProperty; -class cmCommandLineInfo; -class cmake; -class wxButton; -class wxCheckBox; -class wxComboBox; -class wxMenu; -class wxPanel; -class wxScrolledWindow; -class wxSizer; -class wxStaticBox; -class wxStaticText; -class wxApp; - -/** \class cmMainFrame - * \brief GUI for CMake with wxWindows toolkit - * - * The main dialog for the CMake - * - */ -class cmMainFrame : public wxFrame -{ -public: - cmMainFrame(const wxString& title, const wxSize& size); - ~cmMainFrame(); - - //! Initialize the paths and read the cache. - void Initialize(cmCommandLineInfo*); - - //! Different callbacks for events - void OnOk(wxCommandEvent& event); - void OnConfigure(wxCommandEvent& event); - void OnCancel(wxCommandEvent& event); - void OnHelp(wxCommandEvent& event); - void OnBrowseSource(wxCommandEvent& event); - void OnSourceSelected(wxCommandEvent& event); - void OnSourceUpdated(wxCommandEvent& event); - void OnBrowseBinary(wxCommandEvent& event); - void OnBinarySelected(wxCommandEvent& event); - void OnBinaryUpdated(wxCommandEvent& event); - void OnBinaryAccepted(wxCommandEvent& event); - void OnShowAdvancedValues(wxCommandEvent& event); - void OnResize(wxSizeEvent& event); - void OnPropertyChanged(wxEvent& event); - void OnRandomEvent(wxEvent& event); - void OnGeneratorSelected(wxEvent& event); - void OnPopupMenu(wxMouseEvent& event); - void OnCacheStatusBar(wxEvent& event); - void OnStatusBar(wxEvent& event); - void OnExitTimer(wxEvent& event); - - //! Callbacks for menu events - void OnPopupMenuIgnore(wxEvent& event); - void OnPopupMenuDelete(wxEvent& event); - void OnPopupMenuHelp(wxEvent& event); - void OnPopupMenuEntry(wxEvent& event, int idx); - - // Connect widget and event with method. - void ConnectEvent(wxWindow*, wxEventType, wxObjectEventFunction); - void ConnectEventTo(wxWindow*, wxEventType, wxObjectEventFunction); - - //! Callback for the error message. - static void MessageCallback(const char* m, const char* title, - bool& nomore, void* cd); - static void ProgressCallback(const char* m, float prog, void* clientData); - void DisplayMessage(const char* m, const char* title, bool& nomore); - - //! Retrieve the current build directory. - const std::string& GetBuildDir() { return this->m_WhereBuild; } - - //! Set the application for progress - void SetApplication(wxApp* app) { m_Application = app; } - -private: - //! Load cache file from m_WhereBuild and display in GUI editor - void LoadCacheFromDiskToGUI(); - - //! Save GUI values to cmCacheManager and then save to disk. - void SaveCacheFromGUI(); - - // copy from the cache manager to the cache edit list box - void FillCacheGUIFromCacheManager(); - - // copy from the list box to the cache manager - void FillCacheManagerFromCacheGUI(); - - // set the current generator - void SetGenerator(const char* generator); - - // Set the status bar binding. - void SetupStatusBarBinding(wxWindow*); - - // set the current source and binary dir - bool SetSourceDir(const char* dir); - std::string GetSourceDir(); - bool SetBinaryDir(const char* dir); - std::string GetBinaryDir(); - - void ChangeDirectoriesFromFile(const char* buffer); - - // update source and binary menus. - void UpdateSourceBuildMenus(); - - // Check wether cache is dirty. - bool IsDirty() { return !this->m_Clean; } - void SetDirty() { this->m_Clean = false; } - void ClearDirty() { this->m_Clean = true; } - - // Run the CMake - void RunCMake(bool generateProjectFiles); - - void RemoveAdvancedValues(); - void UpdateCacheValuesDisplay(); - - // Change the build directory. - void ChangeWhereSource(); - void ChangeWhereBuild(); - bool SourceDirectoryChanged(); - bool BuildDirectoryChanged(); - - // Clear the Cache - void ClearCache(); - - void RemoveCacheEntry(cmCacheProperty*); - void IgnoreCacheEntry(const char* key); - void HelpCacheEntry(const char* key, const char* help); - - void LoadFromRegistry(); - void SaveToRegistry(); - virtual void SetStatusText(const wxString& text, int number = 0); - void ResizeInternal(); - - //! Change the type of mouse cursor. Set argument to true to store - // the type. - void CursorBusy(bool s=false); - void CursorNormal(bool s=false); - - // Main panel - wxPanel* m_MainPanel; - wxSizer* m_TopMostSizer; - - // Main sizer - wxSizer* m_MainSizer; - - // Top row of main sizer - wxSizer* m_TopGrid; - - // Top line: - wxStaticText* m_TextSource; - wxComboBox* m_PathSource; - wxButton* m_BrowseSource; - - // Top line end frame: - wxSizer* m_GeneratorFrame; - wxStaticText* m_BuildFor; - wxComboBox* m_GeneratorMenu; - - // Bottom line: - wxStaticText* m_TextBinary; - wxComboBox* m_PathBinary; - wxButton* m_BrowseBinary; - wxCheckBox* m_ShowAdvancedValues; - - // Cache values: - wxStaticBox* m_CacheValuesBox; - wxSizer* m_CacheValuesFrame; - wxScrolledWindow* m_CacheValuesScroll; - wxPanel* m_CacheValuesPanel; - wxSizer* m_CacheValuesSizer; - - // Help text: - wxStaticText* m_HelpText; - - // Buttons: - wxSizer* m_BottomButtonsFrame; - wxStaticText* m_VersionText; - wxButton* m_ConfigureButton; - wxButton* m_OKButton; - wxButton* m_CancelButton; - wxButton* m_HelpButton; - - // This is set when the cache has to be updated. - bool m_Update; - - // This is to detect when cache is not valid such as when cache - // entry is removed or when some new entries are present. You have - // to rerun cmake to set valid to true. - bool m_Valid; - - // This is needed for mac, because on mac dialog has to be redrawn - // after the menu is removed. - bool m_EntryRemoved; - - std::string m_WhereSource; - std::string m_WhereBuild; - std::string m_PathToExecutable; - bool m_Clean; - bool m_BuildPathChanged; - bool m_CursorChanged; - - typedef std::map<std::string, cmCacheProperty*> CacheMapType; - - CacheMapType* m_CacheEntries; - cmake* m_CMakeInstance; - wxTimer* m_ExitTimer; - - wxApp* m_Application; - - enum Events { - ID_MainFrame, - ID_Resize, - ID_OKButton, - ID_ConfigureButton, - ID_CancelButton, - ID_HelpButton, - ID_AdvancedValues - }; -}; - -#endif // __cmMainFrame__h__ |