public LinkerSettingsFormViewModel(IProject project) : base("Linker", project) { try { try { settings = LocalGCCToolchain.GetSettings(project).LinkSettings; } catch (Exception e) { Model.ToolchainSettings.LocalGCC = new LocalGccToolchainSettings(); } } catch (Exception e) { Model.ToolchainSettings.LocalGCC = new LocalGccToolchainSettings(); settings = Model.ToolchainSettings.LocalGCC.LinkSettings; } if (settings == null) { settings = new LinkSettings(); } useMemoryLayout = settings.UseMemoryLayout; discardUnusedSections = settings.DiscardUnusedSections; notUseStandardStartup = settings.NotUseStandardStartupFiles; linkedLibraries = new ObservableCollection <string>(settings.LinkedLibraries); inRom1Start = string.Format("0x{0:X8}", settings.InRom1Start); inRom1Size = string.Format("0x{0:X8}", settings.InRom1Size); inRom2Start = string.Format("0x{0:X8}", settings.InRom2Start); inRom2Size = string.Format("0x{0:X8}", settings.InRom2Size); inRam1Start = string.Format("0x{0:X8}", settings.InRam1Start); inRam1Size = string.Format("0x{0:X8}", settings.InRam1Size); inRam2Start = string.Format("0x{0:X8}", settings.InRam2Start); inRam2Size = string.Format("0x{0:X8}", settings.InRam2Size); scatterFile = settings.ScatterFile; miscOptions = settings.MiscLinkerArguments; librarySelectedIndex = (int)settings.Library; //AddLinkedLibraryCommand = new RoutingCommand(AddLinkedLibrary); //RemoveLinkedLibraryCommand = new RoutingCommand(RemoveLinkedLibrary); //BrowseScatterFileCommand = new RoutingCommand(BrowseScatterFile); //EditScatterFileCommand = new RoutingCommand(EditScatterFile); UpdateLinkerString(); }
public CompileSettingsFormViewModel(IProject project) : base("Compiler", project) { try { settings = LocalGCCToolchain.GetSettings(project).CompileSettings; } catch (Exception e) { Model.ToolchainSettings.LocalGCC = new LocalGccToolchainSettings(); } defines = new ObservableCollection <string>(settings.Defines); includePaths = new ObservableCollection <string>(settings.Includes); //var config = project.SelectedConfiguration; //cppSupport = config.CppSupport; miscOptions = settings.CustomFlags; //includePaths = new ObservableCollection<string>(config.IncludePaths); optimizationLevelSelectedIndex = (int)settings.Optimization; optimizationPreferenceSelectedIndex = (int)settings.OptimizationPreference; fpuSelectedIndex = (int)settings.Fpu; debugSymbols = settings.DebugInformation; rtti = settings.Rtti; exceptions = settings.Exceptions; AddDefineCommand = ReactiveCommand.Create(); // new RoutingCommand(AddDefine, (o) => DefineText != string.Empty && DefineText != null && !Defines.Contains(DefineText)); AddDefineCommand.Subscribe(AddDefine); RemoveDefineCommand = ReactiveCommand.Create(); // new RoutingCommand(RemoveDefine, (o) => SelectedDefine != string.Empty && SelectedDefine != null); RemoveDefineCommand.Subscribe(RemoveDefine); AddIncludePathCommand = ReactiveCommand.Create(); AddIncludePathCommand.Subscribe(AddIncludePath); RemoveIncludePathCommand = ReactiveCommand.Create(); RemoveIncludePathCommand.Subscribe(RemoveIncludePath); UpdateCompileString(); }