return defaultCompiler;
}
-class IDESettingsContainer : GlobalSettings
-{
#ifdef SETTINGS_TEST
- settingsName = "ecereIDESettingsTest";
+define settingsName = "ecereIDE-SettingsTest";
#else
- settingsName = "ecereIDE";
+define ideSettingsName = "ecereIDE";
#endif
+class IDESettingsContainer : GlobalSettings
+{
+ settingsName = ideSettingsName;
+
virtual void OnLoad(GlobalSettingsData data);
char moduleLocation[MAX_LOCATION];
strcpy(configFilePath, path);
PathCat(configFilePath, "Data");
- PathCat(configFilePath, "ecereIDE.ini");
+ PathCat(configFilePath, ideSettingsName);
+ ChangeExtension(configFilePath, "ini", configFilePath);
strcpy(defaultConfigFilePath, path);
PathCat(defaultConfigFilePath, "App");
PathCat(defaultConfigFilePath, "DefaultData");
- PathCat(defaultConfigFilePath, "ecereIDE.ini");
+ PathCat(defaultConfigFilePath, ideSettingsName);
+ ChangeExtension(defaultConfigFilePath, "ini", defaultConfigFilePath);
if(FileExists(defaultConfigFilePath))
{
ccfg.arCommand = arDefaultCommand;
if(!ccfg.objectFileExt || !ccfg.objectFileExt[0])
ccfg.objectFileExt = objectDefaultFileExt;
- /*if(!ccfg.outputFileExt || !ccfg.outputFileExt[0])
- ccfg.outputFileExt = outputDefaultFileExt;*/
+ /*if(!ccfg.staticLibFileExt || !ccfg.staticLibFileExt[0])
+ ccfg.staticLibFileExt = staticLibDefaultFileExt;*/
+ /*if(!ccfg.sharedLibFileExt || !ccfg.sharedLibFileExt[0])
+ ccfg.sharedLibFileExt = sharedLibDefaultFileExt;*/
+ /*if(!ccfg.executableFileExt || !ccfg.executableFileExt[0])
+ ccfg.executableFileExt = outputDefaultFileExt;*/
incref ccfg;
}
}
isset { return language != null; }
}
+ property Array<NamedString> findInFileFileFilters
+ {
+ set
+ {
+ findInFileFileFilters.Free();
+ if(value)
+ {
+ delete findInFileFileFilters;
+ findInFileFileFilters = value;
+ }
+ }
+ get { return findInFileFileFilters; }
+ isset { return findInFileFileFilters.count != 0; }
+ }
+
private:
char * docDir;
char * ideFileDialogLocation;
char * compilerConfigsDir;
char * defaultCompiler;
String language;
+ Array<NamedString> findInFileFileFilters { };
CompilerConfig GetCompilerConfig(const String compilerName)
{
delete ideFileDialogLocation;
delete ideProjectFileDialogLocation;
delete displayDriver;
+
+ if(findInFileFileFilters) findInFileFileFilters.Free();
}
void ForcePathSeparatorStyle(bool unixStyle)
get { return ldCommand; }
isset { return ldCommand && ldCommand[0]; }
}
+ bool noStripTarget;
property const char * objectFileExt
{
set { delete objectFileExt; if(value && value[0]) objectFileExt = CopyString(value); }
get { return objectFileExt && objectFileExt[0] ? objectFileExt : objectDefaultFileExt ; }
isset { return objectFileExt && objectFileExt[0] && strcmp(objectFileExt, objectDefaultFileExt); }
}
- property const char * outputFileExt
+ property const char * staticLibFileExt
+ {
+ set { delete staticLibFileExt; if(value && value[0]) staticLibFileExt = CopyString(value); }
+ get { return staticLibFileExt; }
+ isset { return staticLibFileExt && staticLibFileExt[0]; }
+ }
+ property const char * sharedLibFileExt
{
- set { delete outputFileExt; if(value && value[0]) outputFileExt = CopyString(value); }
- get { return outputFileExt; }
- isset { return outputFileExt && outputFileExt[0]; }
+ set { delete sharedLibFileExt; if(value && value[0]) sharedLibFileExt = CopyString(value); }
+ get { return sharedLibFileExt; }
+ isset { return sharedLibFileExt && sharedLibFileExt[0]; }
+ }
+ property const char * executableFileExt
+ {
+ set { delete executableFileExt; if(value && value[0]) executableFileExt = CopyString(value); }
+ get { return executableFileExt; }
+ isset { return executableFileExt && executableFileExt[0]; }
}
property const char * executableLauncher
{
get { return executableLauncher; }
isset { return false; }
}
+ property const char * outputFileExt
+ {
+ set { delete executableFileExt; if(value && value[0]) executableFileExt = CopyString(value); }
+ get { return executableFileExt; }
+ isset { return false; }
+ }
+ // utility
+ property bool hasDocumentOutput
+ {
+ get
+ {
+ bool result = executableFileExt && executableFileExt[0] &&
+ (!strcmpi(executableFileExt, "htm") || !strcmpi(executableFileExt, "html"));
+ return result;
+ }
+ isset { return false; }
+ }
private:
Array<String> includeDirs { };
Array<String> libraryDirs { };
char * ldCommand;
char * arCommand;
char * objectFileExt;
- char * outputFileExt;
+ char * staticLibFileExt;
+ char * sharedLibFileExt;
+ char * executableFileExt;
char * executableLauncher;
char * distccHosts;
char * gnuToolchainPrefix;
delete ldCommand;
delete arCommand;
delete objectFileExt;
- delete outputFileExt;
+ delete staticLibFileExt;
+ delete sharedLibFileExt;
+ delete executableFileExt;
delete makeCommand;
delete executableLauncher;
delete distccHosts;
cxxCommand,
arCommand,
ldCommand,
+ noStripTarget,
objectFileExt,
- outputFileExt,
+ staticLibFileExt,
+ sharedLibFileExt,
+ executableFileExt,
executableLauncher,
ccacheEnabled,
distccEnabled,