12 #ifndef wxUSE_CHOICEDLG 13 #define wxUSE_CHOICEDLG 1 56 m_CustomMakefile(false),
60 m_CurrentlyLoading(false),
62 m_CurrentlyCompilingTarget(
nullptr),
63 m_ExtendedObjectNamesGeneration(false),
64 m_AutoShowNotesOnLoad(false),
65 m_CheckForExternallyModifiedFiles(true),
123 event.SetProject(
this);
124 event.SetBuildTargetName(targetName);
125 event.SetOldBuildTargetName(oldTargetName);
137 for (
unsigned int i = 0; i <
m_Targets.GetCount(); ++i)
146 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
169 for (
unsigned int i = 0; i <
m_Targets.GetCount(); ++i)
184 for (
unsigned int i = 0; i <
m_Targets.GetCount(); ++i)
208 int projCount = arr->GetCount();
218 for (
int i = 0; i < projCount; ++i)
223 if (fname.GetName().Matches(tmp))
244 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end();++it)
278 bool fileUpgraded =
false;
279 bool fileModified =
false;
309 _(
"The loaded project file was generated\n" 310 "with an older version of Code::Blocks.\n\n" 311 "Code::Blocks can import older project files,\n" 312 "but will always save in the current format."), 12000, 2000);
335 #ifdef ctlp_measuring 338 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
349 if ( (!prjHasUNCName && fileHasUNCName)
350 || ( prjHasUNCName && !fileHasUNCName) )
359 while ( (pos < tmp.
Length())
366 if ( (pos > 0) && (pos < tmp.
Length()) )
367 tmpbase << sep << tmp.
Left(pos) <<
sep;
376 #ifdef ctlp_measuring 385 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
394 if ( (prjHasUNCName && fileHasUNCName)
445 if (dlg.ShowModal() !=
wxID_OK)
530 FilesList::iterator it =
m_Files.begin();
538 else if (openmode == 1)
545 typedef std::map<int, ProjectFile*> open_files_map;
546 open_files_map open_files;
549 FilesList::iterator it =
m_Files.begin();
561 std::vector<LoaderBase*> filesInMemory;
562 for (open_files_map::iterator ofm_it = open_files.begin(); ofm_it != open_files.end(); ++ofm_it)
567 for (open_files_map::iterator ofm_it = open_files.begin(); ofm_it != open_files.end(); ++ofm_it)
596 event.SetProject(
this);
603 event.SetProject(
this);
610 event.SetProject(
this);
617 event.SetProject(
this);
624 return AddFile(idx, filename, compile, link, weight);
663 bool localCompile, localLink;
695 std::map<Compiler*, const CompilerTool*> GenFilesHackMap;
696 if (targetIndex < 0 || targetIndex >= (
int)
m_Targets.GetCount())
703 GenFilesHackMap[c] = t;
706 for (
unsigned int i = 0; i <
m_Targets.GetCount(); ++i)
709 if (GenFilesHackMap.find(c) != GenFilesHackMap.end())
716 GenFilesHackMap[c] = t;
728 GenFilesHackMap[c] = t;
737 if (targetIndex >= 0 && targetIndex < (
int)
m_Targets.GetCount())
740 localCompile = compile
743 || !GenFilesHackMap.empty() );
752 pf->
link = localLink;
759 if ( (local_filename.
Length() > 1)
760 && (local_filename.
GetChar(1) ==
_T(
':'))
780 fname.
Assign(projectBasePath + wxFILE_SEP_PATH + local_filename);
785 pf->
file = fullFilename;
794 if (targetIndex >= 0 && targetIndex < (
int)
m_Targets.GetCount())
825 if ( !GenFilesHackMap.empty() )
829 for (std::map<Compiler*, const CompilerTool*>::const_iterator it = GenFilesHackMap.begin(); it != GenFilesHackMap.end(); ++it)
868 FilesList::iterator it =
m_Files.find(pf);
883 for (
unsigned int i = 0; i <
m_Targets.GetCount(); ++i)
886 target->RemoveFile(pf);
932 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
954 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
1035 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
1043 if (index < 0 || index >= static_cast<int>(
m_Files.size()))
1080 FilesList::iterator it =
m_Files.begin();
1103 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
1120 FilesList::iterator it =
m_Files.begin();
1191 tgts[index] = targetName;
1195 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
1224 newTarget->
SetTitle(newTargetName);
1262 _(
"Export target as new project"),
1278 if (!alreadyModified)
1295 int virt_idx = tgts.
Index(targetTitle);
1301 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
1326 for (
unsigned int i = 0; i <
m_Targets.GetCount(); ++i)
1394 if (index >= 0 && index < (
int)
m_Targets.GetCount())
1410 msgMan->
DebugLog(
F(
_T(
"cbProject::ReOrderTargets() : Count does not match (%lu sent, %lu had)..."),
1411 static_cast<unsigned long>(nameOrder.
GetCount()),
1412 static_cast<unsigned long>(
m_Targets.GetCount())));
1416 for (
unsigned int i = 0; i < nameOrder.
GetCount(); ++i)
1421 msgMan->
DebugLog(
F(
_T(
"cbProject::ReOrderTargets() : Target \"%s\" not found..."), nameOrder[i].wx_str()));
1430 VirtualBuildTargetsMap::iterator it;
1437 vt.
Insert(nameOrder[i], (vt.Count()<=i) ? vt.Count()-1 : i);
1491 result.
Add(it->first);
1502 return resultIfError;
1536 for (
size_t i = 0; i < group.
GetCount(); ++i)
1551 for (
size_t i = 0; i < group.
GetCount(); ++i)
1557 result.
Add(group[i]);
1575 for (FilesList::iterator it =
m_Files.begin(); it !=
m_Files.end(); ++it)
1676 while (pos < stringDesc.
Length() && stringDesc.
GetChar(pos) ==
_T(
'/'))
1682 size_t nextPos = pos;
1683 while (nextPos < stringDesc.
Length() && stringDesc.
GetChar(++nextPos) !=
_T(
'/') && stringDesc.
GetChar(nextPos) !=
_T(
':'))
1686 wxString current = stringDesc.
Mid(pos, nextPos - pos);
1687 if (current.
IsEmpty() || current[0] ==
_T(
':'))
1691 bool forceAdd = current[0] ==
_T(
'+');
1694 TiXmlElement* sub = !forceAdd ? elem->FirstChildElement(
cbU2C(current)) :
nullptr;
1697 sub = elem->InsertEndChild(TiXmlElement(
cbU2C(current)))->ToElement();
1703 if (stringDesc.
GetChar(nextPos) ==
_T(
':'))
1708 while (nextPos < stringDesc.
Length() && stringDesc.
GetChar(++nextPos) !=
_T(
'='))
1710 if (pos == nextPos || nextPos == stringDesc.
Length())
1716 wxString key = stringDesc.
Mid(pos, nextPos - pos);
1765 const wxString libPathSep = platform::windows ?
_T(
";") : _T(
":");
1766 libPath << _T(
".") << libPathSep;
1768 if (!libPath.
IsEmpty() && libPath.
Mid(libPath.
Length() - 1, 1) == libPathSep)
1780 const wxString libPathSep = platform::windows ?
_T(
";") : _T(
":");
1781 if (!newPath.
IsEmpty() && newPath.
Mid(newPath.
Length() - 1, 1) != libPathSep)
1782 result << libPathSep;
ProjectFile * GetFileByFilename(const wxString &filename, bool isRelative=true, bool isUnixFilename=false)
Access a file of the project.
wxString F(const wxChar *msg,...)
sprintf-like function
ProjectBuildTarget * DuplicateBuildTarget(int index, const wxString &newName=wxEmptyString)
Duplicate a build target.
int editorTabPos
The position of the editor-tab for this file.
cbEditor * IsBuiltinOpen(const wxString &filename)
static void Display(const wxString &title, const wxString &message, unsigned int delay=5000, unsigned int hysteresis=1)
wxArrayString m_ExpandedNodes
wxString relativeToCommonTopLevelPath
The relative filename to the common top-level path.
EVTIMPORT const wxEventType cbEVT_BUILDTARGET_RENAMED
void SetMakefileCustom(bool custom)
Mark if the project should use a custom Makefile for compilation.
void Remove(const wxString &sz)
EVTIMPORT const wxEventType cbEVT_PROJECT_END_ADD_FILES
bool Matches(const wxString &mask) const
EVTIMPORT const wxEventType cbEVT_PROJECT_RENAMED
virtual void SetTitle(const wxString &title)
Set the target's title.
void ClearAllProperties()
This resets the project to a clear state.
void SetVirtualFolders(const wxArrayString &folders)
Set the virtual folders list.
ProjectBuildTarget * AddDefaultBuildTarget()
ProjectBuildTarget * m_CurrentlyCompilingTarget
wxString relativeFilename
The relative (to the project) filename of this file.
const DLLIMPORT wxString CODEBLOCKS_EXT
std::vector< Glob > m_Globs
bool Save(const wxString &filename) override
Save a file.
virtual void SetObjectOutput(const wxString &dirname)
Set the target's objects output dir.
void Delete(std::vector< T > &s)
void SetDefaultExecuteTarget(const wxString &name)
Set the build target index which will be pre-selected when the "Select target" dialog appears when ru...
void Assign(const wxFileName &filepath)
Generate command-lines needed to produce a build.
void SetFullName(const wxString &fullname)
ConfigManager * GetConfigManager(const wxString &name_space) const
void RestoreTreeState(wxTreeCtrl *tree)
Convenience function for remembering the project's tree state when refreshing it. ...
void DebugLogError(const wxString &msg)
void ReOrderTargets(const wxArrayString &nameOrder)
Reorder the list of build targets.
int ReadInt(const wxString &name, int defaultVal=0)
static Manager * Get()
Use Manager::Get() to get a pointer to its instance Manager::Get() is guaranteed to never return an i...
bool DefineVirtualBuildTarget(const wxString &alias, const wxArrayString &targets)
Define a new virtual build target.
int IndexOfBuildTargetName(const wxString &targetName) const
void Touch()
Sets the last modification time for the project to 'now'.
void BeginRemoveFiles()
Notify that file(s) will be removed shortly.
void SetShowNotesOnLoad(bool show)
Set show project notes on load automatically.
bool wxFileExists(const wxString &filename)
const wxString & GetObjName()
void LogWarning(const wxString &msg, int i=app_log)
DLLIMPORT wxString cbGetTextFromUser(const wxString &message, const wxString &caption=cbGetTextFromUserPromptStr, const wxString &default_value=wxEmptyString, wxWindow *parent=NULL, int x=wxDefaultCoord, int y=wxDefaultCoord, bool centre=true)
wxFileName file
The full filename of this file.
bool QueryCloseAllFiles()
Act like closing all project files, but don't do it.
bool m_AutoShowNotesOnLoad
bool compile
Compile flag.
bool ReadBool(const wxString &name, bool defaultVal=false)
EVTIMPORT const wxEventType cbEVT_BUILDTARGET_SELECTED
bool Open(const wxString &filename)
int Index(const wxString &sz, bool bCase=true, bool bFromEnd=false) const
void SetModified(bool modified=true) override
Mark the project as modified or not.
void SetCurrentlyCompilingTarget(ProjectBuildTarget *bt)
Set the currently compiling target.
wxArrayString m_VirtualFolders
bool GetCheckForExternallyModifiedFiles() const
Get check for externally modified files.
FileManager * GetFileManager() const
bool wxDirExists(const wxString &dirname)
virtual void Activate()
Activate this editor.
wxString GetExecutionDir()
static Compiler * GetCompiler(size_t index)
bool CanAddToVirtualBuildTarget(const wxString &alias, const wxString &target)
Checks if a build target (virtual or real) can be added to a virtual build target, without causing a circular-reference.
void NotifyPlugins(wxEventType type, const wxString &targetName=wxEmptyString, const wxString &oldTargetName=wxEmptyString)
FileType
Known file types.
static const wxString & GetDefaultCompilerID()
const wxString & GetNotes()
EVTIMPORT const wxEventType cbEVT_PROJECT_BEGIN_ADD_FILES
bool Close(const wxString &filename, bool dontsave=false)
void EndAddFiles()
Notify that file(s) addition finished.
const DLLIMPORT wxString C_EXT
bool SaveAs()
Save the project under a different name.
DLLIMPORT wxString GetStringFromArray(const wxArrayString &array, const wxString &separator=DEFAULT_ARRAY_SEP, bool SeparatorAtEnd=true)
bool IsAbsolute(wxPathFormat format=wxPATH_NATIVE) const
DLLIMPORT FileType FileTypeOf(const wxString &filename)
void ReplaceVirtualFolder(const wxString &oldFolder, const wxString &newFolder)
Replaced the oldFolder with newFolder or appends newFolder to the end of the list if oldFolder is not...
Compile object command, e.g. "$compiler $options $includes -c $file -o $object".
EVTIMPORT const wxEventType cbEVT_PROJECT_SAVE
wxString & Remove(size_t pos)
void CalculateCommonTopLevelPath()
Calculates the top-level path common to all project files.
void EndRemoveFiles()
Notify that file(s) removal finished.
virtual void AddToExtensions(const wxString &stringDesc)
Convenience function (mainly for scripts) to add nodes/attributes under the <Extensions> node...
ProjectFiles m_ProjectFilesMap
void UpdateFileDetails(ProjectBuildTarget *target=nullptr)
This is called automatically when adding/removing build targets.
void SetAutoGeneratedBy(ProjectFile *TheFile)
If this is an auto-generated file, set the file which is generating it?
Represents a file in a Code::Blocks project.
A generic Code::Blocks event.
In the objects output dir, along with other object files.
virtual wxString GetOutputFilename()
Read the target's output filename.
bool RemoveFile(ProjectFile *pf)
Remove a file from the project.
void BeginAddFiles()
Notify that file(s) will be added shortly.
virtual void SetCompilerID(const wxString &id)
! Set the flag if the host app should be run in terminal
EditorManager * GetEditorManager() const
DLLIMPORT const wxWX2MBbuf cbU2C(const wxString &str)
Return multibyte (C string) representation of the string.
bool CloseAllFiles(bool dontsave=false)
Close all project files.
wxArrayString m_CompilerOptions
bool ExportTargetAsProject(const wxString &filename, const wxString &onlyTarget, TiXmlElement *pExtensions)
Export a target as a new project.
const wxString & GetMakefile()
void RemoveVirtualFolders(const wxString &folder)
Remove all virtual folders starting with folder.
ProjectManager * GetProjectManager() const
Functions returning pointers to the respective sub-manager instances.
bool MakeRelativeTo(const wxString &pathBase=wxEmptyString, wxPathFormat format=wxPATH_NATIVE)
bool LoadNotebookLayout()
void SetCompilerID(const wxString &id) override
! Set the flag if the host app should be run in terminal
virtual void ProjectFileRenamed(ProjectFile *pf)
Internal use only.
~cbProject() override
Destructor.
DLLIMPORT wxString UnixFilename(const wxString &filename, wxPathFormat format=wxPATH_NATIVE)
void Insert(wxString lItem, size_t nIndex, size_t copies=1)
Represents a Code::Blocks project.
const wxString & GetActiveBuildTarget() const
virtual const wxString & GetFilename() const
void RenameBuildTarget(const wxString &oldTargetName, const wxString &newTargetName)
Rename a build target this file belongs in.
TiXmlElement * m_pExtensionsElement
bool AppendUniqueVirtualFolder(const wxString &folder)
Appends a new virtual folder to the end of the list only if it doesn't exists.
virtual void SetOutputFilename(const wxString &filename)
Set the target's output filename.
wxString GetMakefileExecutionDir()
DLLIMPORT wxString cbC2U(const char *str)
Return str as a proper unicode-compatible string.
virtual const wxString & GetTitle() const
Read the target's title.
EVTIMPORT const wxEventType cbEVT_PROJECT_BEGIN_REMOVE_FILES
void RemoveBuildTarget(const wxString &targetName)
Remove this file from the specified build target.
wxString Left(size_t count) const
wxArrayString m_LinkerOptions
size_t Replace(const wxString &strOld, const wxString &strNew, bool replaceAll=true)
wxString GetVolume() const
virtual void SetModified(bool modified)
void SaveTreeState(wxTreeCtrl *tree)
Convenience function for remembering the project's tree state when refreshing it. ...
bool Open(const wxString &filename) override
Open a file.
void SetCheckForExternallyModifiedFiles(bool check)
Set check for externally modified files.
bool BuildTargetValid(const wxString &name, bool virtuals_too=true) const
Is there a build target (virtual or real) by name?
void ShowNotes(bool nonEmptyOnly, bool editable=false)
Show project notes now.
void HideNotebook()
Hides the editor notebook for layout purposes.
bool IsSameAs(const wxString &s, bool caseSensitive=true) const
static bool IsBatchBuild()
wxString cbGetDynamicLinkerPathForTarget(cbProject *project, ProjectBuildTarget *target)
Returns a string valid to be used as LD_LIBRARY_PATH (or equivalent).
Base class that all "editors" should inherit from.
LogManager * GetLogManager() const
VirtualBuildTargetsMap m_VirtualTargets
wxString & Truncate(size_t len)
wxTreeItemId m_ProjectNode
EVTIMPORT const wxEventType cbEVT_BUILDTARGET_REMOVED
virtual wxString GetBasePath() const
Read the target's base path, e.g. if GetFilename() returns "/usr/local/bin/xxx", base path will retur...
static wxUniChar GetPathSeparator(wxPathFormat format=wxPATH_NATIVE)
virtual void SetWorkingDir(const wxString &dirname)
Set the target's working dir on execution (valid only for executable targets)
const wxStringCharType * wx_str() const
wxString CreateUniqueFilename()
bool Save(const wxString &filename)
const wxArrayString & GetVirtualBuildTargetGroup(const wxString &alias) const
Access a virtual build target's group of build targets.
wxString Right(size_t count) const
bool QueryClose(EditorBase *editor)
wxString m_LastSavedActiveTarget
bool SaveAllFiles()
Save all project files.
EVTIMPORT const wxEventType cbEVT_PROJECT_TARGETS_MODIFIED
const wxString & GetNotes() const
Get notes on the project.
ProjectFile * AddFile(const wxString &targetName, const wxString &filename, bool compile=true, bool link=true, unsigned short int weight=50)
Add a file to the project.
MacrosManager * GetMacrosManager() const
cbEditor * Open(const wxString &filename, int pos=0, ProjectFile *data=nullptr)
bool editorOpen
If true, the file is open inside an editor.
static bool Access(const wxString &name, wxFile::OpenMode mode)
const wxString & _(const wxString &string)
void ReplaceMacros(wxString &buffer, ProjectBuildTarget *target=nullptr, bool subrequest=false)
bool m_CheckForExternallyModifiedFiles
int GetBuildTargetsCount()
virtual FilesList & GetFilesList()
Provides an easy way to iterate all the files belonging in this target.
EVTIMPORT const wxEventType cbEVT_PROJECT_END_REMOVE_FILES
bool m_ExtendedObjectNamesGeneration
cb_must_consume_result LoaderBase * Load(const wxString &file, bool reuseEditors=false)
Loads a file, once this function is called, the actually loading process is done in the worker thread...
ProjectFile * GetFile(int index)
Access a file of the project.
ProjectFilesVector generatedFiles
Auto-generated files when compiling this file.
wxString compilerVar
The compiler variable used for this file (e.g CPP, CC, etc).
wxArrayString GetVirtualBuildTargets() const
Get a list of all defined virtual build targets.
void SetGlobs(const std::vector< Glob > &globs)
Set the globs to the project, this are directory paths do retrieve files from to be added to the proj...
virtual void SetDepsOutput(const wxString &dirname)
Set the target's dependencies output dir.
wxArrayString GetExpandedVirtualBuildTargetGroup(const wxString &alias) const
Access a virtual build target's expanded group of build targets.
ProjectBuildTarget * GetBuildTarget(int index)
Access a build target.
Code::Blocks project file loader.
DLLIMPORT wxString GetFilterString(const wxString &ext=wxEmptyString)
Generates and returns the filter string for use in file dialogs.
Compile Win32 resources command, e.g. "$rescomp -i $file -J rc -o $resource_output -O coff $includes"...
Abstract base class for compilers.
const wxString & GetDefaultExecuteTarget() const
const wxArrayString & GetVirtualFolders() const
Get a list of the virtual folders.
bool GetExtendedObjectNamesGeneration() const
Gets object names generation mode (extended/normal).
void SetProjectFile(ProjectFile *project_file, bool preserve_modified=false)
Set the ProjectFile pointer associated with this editor.
void ExpandVirtualBuildTargetGroup(const wxString &alias, wxArrayString &result) const
virtual const wxArrayString & GetLinkerSearchDirs(ProjectBuildTarget *target)
Get the full linker dirs used in the actual command line.
wxString m_MakefileExecutionDir
DLLIMPORT void PlaceWindow(wxTopLevelWindow *w, cbPlaceDialogMode mode=pdlBest, bool enforce=false)
wxArrayString m_SelectedNodes
wxString GetPath(int flags=wxPATH_GET_VOLUME, wxPathFormat format=wxPATH_NATIVE) const
void ShowNotebook()
Shows the previously hidden editor notebook.
virtual const wxString & GetCompilerID() const
Read the target's compiler.
wxString m_CommonTopLevelPath
bool GetShowNotesOnLoad() const
Get show project notes on load automatically.
bool LoadLayout()
Load the project's layout.
void Log(const wxString &msg, int i=app_log, Logger::level lv=Logger::info)
wxString GetFullName() const
ProjectFile * GetTopProjectFile()
void DebugLog(const wxString &msg, Logger::level lv=Logger::info)
virtual const CompilerSwitches & GetSwitches() const
Get the compiler's generic switches.
bool ProcessEvent(CodeBlocksEvent &event)
wxString virtual_path
A string that represents the virtual folder this file will appear in.
wxString GetCommonTopLevelPath() const
bool GetModified() const override
void SetExt(const wxString &ext)
ProjectFileArray m_FileArray
size_t Add(const wxString &str, size_t copies=1)
bool HasVirtualBuildTarget(const wxString &alias) const
Does a virtual build target exist?
bool StartsWith(const wxString &prefix, wxString *rest=NULL) const
void SetTitle(const wxString &title) override
Changes project title.
Represents a Code::Blocks project build target.
wxString m_DefaultExecuteTarget
bool Normalize(int flags=wxPATH_NORM_ALL, const wxString &cwd=wxEmptyString, wxPathFormat format=wxPATH_NATIVE)
void SetExtendedObjectNamesGeneration(bool ext)
Sets object names generation to extended/normal mode.
virtual TiXmlNode * GetExtensionsNode()
Access the <Extensions> XML node of this project.
ProjectFile * AutoGeneratedBy() const
If this is an auto-generated file, which file is generating it?
bool RemoveVirtualBuildTarget(const wxString &alias)
Remove a virtual build target.
wxUniChar GetChar(size_t n) const
ProjectsArray * GetProjects()
Retrieve an array of all the opened projects.
void SetNotes(const wxString ¬es)
Set notes on the project.
wxString cbMergeLibPaths(const wxString &oldPath, const wxString &newPath)
Merges to LD_LIBRARY_PATH/PATH strings together to form a new valid string.
ProjectBuildTarget * AddBuildTarget(const wxString &targetName)
Add a new build target.
EVTIMPORT const wxEventType cbEVT_BUILDTARGET_ADDED
void RemoveAt(size_t nIndex, size_t count=1)
void AddBuildTarget(const wxString &targetName)
Make this file belong to an additional build target.
wxDateTime m_LastModified
void SetFileState(FileVisualState state)
Set the visual state (modified, read-only, etc).
int Printf(const wxString &pszFormat,...)
void SetName(const wxString &name)
bool Save()
Save the project.
wxDateTime GetModificationTime() const
wxString GetFullPath(wxPathFormat format=wxPATH_NATIVE) const
int SelectTarget(int initial=-1, bool evenIfOne=false)
Displays a target selection dialog.
virtual bool GetModified() const
bool RemoveBuildTarget(int index)
Remove a build target.
wxArrayString m_IncludeDirs
const DLLIMPORT wxString RESOURCE_EXT
cbProject(const wxString &filename=wxEmptyString)
Constructor.
static wxString Format(const wxString &format,...)
wxString Mid(size_t first, size_t nCount=wxString::npos) const
bool GetModified() const override
Returns true if editor is modified, false otherwise.
void SetMakefileExecutionDir(const wxString &dir)
Allow the specification of specific execution directory if the project use a custom Makefile...
bool Save(const wxString &filename)
bool SetActiveBuildTarget(const wxString &name)
Set the active build target.
DLLIMPORT int cbMessageBox(const wxString &message, const wxString &caption=wxEmptyString, int style=wxOK, wxWindow *parent=NULL, int x=-1, int y=-1)
wxMessageBox wrapper.
bool SaveLayout()
Save the project's layout.
bool RenameBuildTarget(int index, const wxString &targetName)
Rename a build target.
void SetObjName(const wxString &name)
Set the generated object filename.
std::vector< Glob > GetGlobs() const
Retrieve the current globs from the project.
size_t GetDirCount() const
wxString GetFirstValidBuildTargetName(bool virtuals_too=true) const
bool ExportTargetAsProject(int index)
Export a target as a new project.
DLLIMPORT wxString realpath(const wxString &path)
virtual CompilerCommandGenerator * GetCommandGenerator(cbProject *project)
This is to be overridden, if compiler needs to alter the default command line generation.