/// <summary> /// Called to save options when the application exits. /// </summary> public override void SaveOptions(DslEditorViewModelServices::IMessageBoxService messageBox) { // save options try { string directory = this.ModelData.GetDomainModelServices().ModelDataOptions.AppDataDirectory; string path = directory + System.IO.Path.DirectorySeparatorChar + TestLanguageViewModelOptions.OptionsFileName; this.Options.Serialize(path); } catch (System.Exception ex) { messageBox.ShowError("Couldn't save options: " + ex.Message); } }
/// <summary> /// Called to load options when the application starts. /// </summary> public override void LoadOptions(DslEditorViewModelServices::IMessageBoxService messageBox) { this.Options = new VModellXTViewModelOptions(); try { string directory = this.ModelData.GetDomainModelServices().ModelDataOptions.AppDataDirectory; string path = directory + System.IO.Path.DirectorySeparatorChar + VModellXTViewModelOptions.OptionsFileName; this.Options.Deserialize(path); } catch (System.Exception ex) { messageBox.ShowError("Couldn't open options: " + ex.Message); } }
/// <summary> /// Loads the model from the given file path and sets it to its appropriate element. /// </summary> /// <param name="filePath">File path to load the model from. Can be null to indicate that there is no referenced domain model.</param> protected override void SetReferencedModel(string filePath) { using (new Tum.PDE.ToolFramework.Modeling.Visualization.ViewModel.UI.WaitCursor()) { global::Tum.VModellXT.Musterbibliothek model = this.Elements[0] as global::Tum.VModellXT.Musterbibliothek; string file = filePath; DslEditorModeling::IParentModelElement parent = model.GetDomainModelServices().ElementParentProvider.GetParentModelElement(model); if (parent == null) { throw new System.ArgumentNullException("Parent of element " + model.ToString() + " can not be null"); } string path = parent.DomainFilePath; string vModellDirectory = new System.IO.FileInfo(path).DirectoryName; //string curPath = Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Path.PathHelper.EvaluateRelativePath( // vModellDirectory, file); // load model try { if (!System.IO.File.Exists(file)) { System.IO.FileStream s = System.IO.File.Create(file); s.Close(); } using (DslModeling::Transaction transaction = this.Store.TransactionManager.BeginTransaction("Set referenced model")) { global::Tum.VModellXT.VModellXTDocumentData data = this.ViewModelStore.ModelData as global::Tum.VModellXT.VModellXTDocumentData; global::Tum.VModellXT.VModell referenceModel = data.ModelContextVModellXT.LoadInternal(file) as global::Tum.VModellXT.VModell; model.VModell = referenceModel; transaction.Commit(); } } catch (System.Exception ex) { DslEditorViewModelServices::IMessageBoxService messageBox = this.GlobalServiceProvider.Resolve <DslEditorViewModelServices::IMessageBoxService>(); messageBox.ShowError(ex.Message); } this.ModelData.FlushUndoRedoStacks(); } }