public OpenOCDSettingsFormViewModel(IProject model) : base(model)
        {
            settings            = OpenOCDDebugAdaptor.GetSettings(model);
            interfaceConfigFile = settings.InterfaceConfigFile;
            targetConfigFile    = settings.TargetConfigFile;

            BrowseInterfaceConfigFileCommand = ReactiveCommand.Create();
            BrowseInterfaceConfigFileCommand.Subscribe(async _ =>
            {
                var ofd = new OpenFileDialog();
                ofd.InitialDirectory = Path.Combine(OpenOCDDebugAdaptor.BaseDirectory, "scripts", "interface");
                ofd.Filters.Add(new FileDialogFilter {
                    Name = "OpenOCD Config File", Extensions = new List <string> {
                        "cfg"
                    }
                });
                ofd.AllowMultiple = false;
                ofd.Title         = "Open OpenOCD Interface Config File";

                var result = await ofd.ShowAsync();

                if (result != null && !string.IsNullOrEmpty(result.First()))
                {
                    InterfaceConfigFile = OpenOCDDebugAdaptor.BaseDirectory.MakeRelativePath(result.First());
                }
            });

            BrowseTargetConfigFileCommand = ReactiveCommand.Create();
            BrowseTargetConfigFileCommand.Subscribe(async _ =>
            {
                var ofd = new OpenFileDialog();
                ofd.InitialDirectory = Path.Combine(OpenOCDDebugAdaptor.BaseDirectory, "scripts", "target");
                ofd.Filters.Add(new FileDialogFilter {
                    Name = "OpenOCD Config File", Extensions = new List <string> {
                        "cfg"
                    }
                });
                ofd.AllowMultiple = false;
                ofd.Title         = "Open OpenOCD Target Config File";

                var result = await ofd.ShowAsync();

                if (result != null && !string.IsNullOrEmpty(result.First()))
                {
                    TargetConfigFile = OpenOCDDebugAdaptor.BaseDirectory.MakeRelativePath(result.First());
                }
            });
        }
示例#2
0
        public OpenOCDSettingsFormViewModel(IProject model) : base(model)
        {
            settings            = model.GetDebuggerSettings <OpenOCDSettings>();
            interfaceConfigFile = settings.InterfaceConfigFile;
            targetConfigFile    = settings.TargetConfigFile;

            BrowseInterfaceConfigFileCommand = ReactiveCommand.CreateFromTask(async() =>
            {
                var ofd = new OpenFileDialog();
                ofd.InitialDirectory = Path.Combine(BaseDirectory, "scripts", "interface");
                ofd.Filters.Add(new FileDialogFilter {
                    Name = "OpenOCD Config File", Extensions = new List <string> {
                        "cfg"
                    }
                });
                ofd.AllowMultiple = false;
                ofd.Title         = "Open OpenOCD Interface Config File";

                var result = await ofd.ShowAsync(Application.Current.MainWindow);

                if (result != null && !string.IsNullOrEmpty(result.FirstOrDefault()))
                {
                    InterfaceConfigFile = BaseDirectory.MakeRelativePath(result.First());
                }
            });

            BrowseTargetConfigFileCommand = ReactiveCommand.CreateFromTask(async() =>
            {
                var ofd = new OpenFileDialog();
                ofd.InitialDirectory = Path.Combine(BaseDirectory, "scripts", "target");
                ofd.Filters.Add(new FileDialogFilter {
                    Name = "OpenOCD Config File", Extensions = new List <string> {
                        "cfg"
                    }
                });
                ofd.AllowMultiple = false;
                ofd.Title         = "Open OpenOCD Target Config File";

                var result = await ofd.ShowAsync(Application.Current.MainWindow);

                if (result != null && !string.IsNullOrEmpty(result.FirstOrDefault()))
                {
                    TargetConfigFile = BaseDirectory.MakeRelativePath(result.First());
                }
            });
        }
示例#3
0
        public static OpenOCDSettings GetSettings(IProject project)
        {
            OpenOCDSettings result = null;

            try
            {
                if (project.DebugSettings.OpenOCDSettings is ExpandoObject)
                {
                    result = (project.DebugSettings.OpenOCDSettings as ExpandoObject).GetConcreteType <OpenOCDSettings>();
                }
                else
                {
                    result = project.DebugSettings.OpenOCDSettings;
                }
            }
            catch (Exception)
            {
                result = project.DebugSettings.OpenOCDSettings = new OpenOCDSettings();
            }

            return(result);
        }
示例#4
0
 public static void SetSettings(IProject project, OpenOCDSettings settings)
 {
     project.DebugSettings.OpenOCDSettings = settings;
 }
示例#5
0
		public static void SetSettings(IProject project, OpenOCDSettings settings)
		{
			project.DebugSettings.OpenOCDSettings = settings;
		}