private void InitProgramArgs() { try { var prgArgs = new ProgramArguments(); if (!prgArgs.IsEmpty) { var index = _pageMgr.NewAll(prgArgs.FileName); _pageMgr.ActiveDocument = _pageMgr.Documents[index]; } } catch (Exception e) { MessageBox.Show(e.Message, "Command Line Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
protected override bool Execute(object parameter) { ErrorHandler(() => { var selSchema = new SelectSchema(); selSchema.ExecutableNames = from schema in _pageMgr.SchemaManager.GuiSchemas from exec in schema.ToolConfig.Executables select new GuiSchemaInfo { ExecutableName = exec.Name, SchemaFilePath = schema.SchemaFilePath, ScreenName = exec.Gui.Name }; var window = ToolWindow.Create(selSchema, "Select a Schema"); var result = window.ShowDialog(); if (result.HasValue && result.Value) { if (selSchema.IsNewSchema) { int index = _pageMgr.NewAll(selSchema.SchemaPath); _pageMgr.ActiveDocument = _pageMgr.Documents[index]; } else { var selected = (from schema in _pageMgr.SchemaManager.GuiSchemas where schema.SchemaFilePath == selSchema.Selected.SchemaFilePath from exec in schema.ToolConfig.Executables where exec.Name == selSchema.Selected.ExecutableName where exec.Gui.Name == selSchema.Selected.ScreenName select new { Schema = schema, Executable = exec }).FirstOrDefault(); _pageMgr.ActiveDocument = _pageMgr.AddDocument(selected.Schema, selected.Executable); } } }); return(base.Execute(parameter)); }