コード例 #1
0
ファイル: ViewModelData.cs プロジェクト: ckimpel/FSE-2011-PDE
 /// <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);
     }
 }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        /// <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();
            }
        }