summaryrefslogtreecommitdiffstats
path: root/Source/WXDialog/cmWXMainFrame.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WXDialog/cmWXMainFrame.h')
-rw-r--r--Source/WXDialog/cmWXMainFrame.h243
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__