Exemple #1
0
 public void Save()
 {
     File.Copy(@"Resources\Settings.Yaml", Dir.UserSettingsDirectory + "Settings.Yaml", true);
     MindMate.MetaModel.MetaModel.Initialize();
     MetaModel.MetaModel model = MindMate.MetaModel.MetaModel.Instance;
     model.Save();
 }
        /// <summary>
        /// Throws YamlException
        /// </summary>
        /// <param name="metaModel"></param>
        /// <param name="textReader"></param>
        public void Deserialize(MetaModel.MetaModel metaModel, TextReader textReader)
        {
            Parser      p = new Parser(textReader);
            EventReader r = new EventReader(p);

            r.Expect <StreamStart>();
            r.Expect <DocumentStart>();
            r.Expect <MappingStart>();

            Scalar section = r.Peek <Scalar>();

            if (section.Value.Equals(Icons))
            {
                r.Expect <Scalar>();
                DeserializeIcons(metaModel, r);
                section = r.Peek <Scalar>();
            }

            if (section != null && section.Value.Equals(RecentFiles))
            {
                r.Expect <Scalar>();
                DeserializeRecentFiles(metaModel, r);
                section = r.Peek <Scalar>();
            }

            if (section != null && section.Value.Equals(LastOpenedFile))
            {
                r.Expect <Scalar>();
                metaModel.LastOpenedFile = r.Expect <Scalar>().Value;
                section = r.Peek <Scalar>();
            }

            if (section != null && section.Value.Equals(MapBackColor))
            {
                r.Expect <Scalar>();
                metaModel.MapEditorBackColor = (Color)(new ColorConverter().ConvertFromString(r.Expect <Scalar>().Value));
                section = r.Peek <Scalar>();
            }

            if (section != null && section.Value.Equals(NoteBackColor))
            {
                r.Expect <Scalar>();
                metaModel.NoteEditorBackColor = (Color)(new ColorConverter().ConvertFromString(r.Expect <Scalar>().Value));
                section = r.Peek <Scalar>();
            }

            if (section != null && section.Value.Equals(NodeStyles))
            {
                r.Expect <Scalar>();
                DeserializeNodeStyles(metaModel, r);
                //section = r.Peek<Scalar>(); //uncomment when adding another section
            }



            r.Expect <MappingEnd>();
            r.Expect <DocumentEnd>();
            r.Expect <StreamEnd>();
        }
Exemple #3
0
        public void Deserialize_DefaultFile_RecentFilesEmpty()
        {
            MetaModel.MetaModel model = new MetaModel.MetaModel();
            var sut        = new MetaModelYamlSerializer();
            var textReader = new StreamReader(@"Resources\DefaultSettings.Yaml");

            sut.Deserialize(model, textReader);
            textReader.Close();

            Assert.AreEqual(0, model.RecentFiles.Count);
        }
Exemple #4
0
        public void Deserialize_NodeStyle_Title()
        {
            MetaModel.MetaModel model = new MetaModel.MetaModel();
            var sut        = new MetaModelYamlSerializer();
            var textReader = new StreamReader(@"Resources\Settings.Yaml");

            sut.Deserialize(model, textReader);
            textReader.Close();

            Assert.AreEqual("Good Style", model.NodeStyles[0].Title);
        }
Exemple #5
0
        public void Deserialize_NodeStyle_RefNodeLabel()
        {
            MetaModel.MetaModel model = new MetaModel.MetaModel();
            var sut        = new MetaModelYamlSerializer();
            var textReader = new StreamReader(@"Resources\Settings.Yaml");

            sut.Deserialize(model, textReader);
            textReader.Close();

            Assert.AreEqual("This is label", model.NodeStyles[1].RefNode.Label);
        }
        private void DeserializeNodeStyles(MetaModel.MetaModel metaModel, EventReader r)
        {
            r.Expect <SequenceStart>();

            while (r.Accept <MappingStart>())
            {
                DeserializeNodeStyle(metaModel, r);
            }

            r.Expect <SequenceEnd>();
        }
        private void DeserializeRecentFiles(MetaModel.MetaModel metaModel, EventReader r)
        {
            r.Expect <SequenceStart>();

            while (r.Accept <Scalar>())
            {
                metaModel.RecentFiles.Add(r.Expect <Scalar>().Value);
            }

            r.Expect <SequenceEnd>();
        }
Exemple #8
0
        public void Deserialize_DefaultFile_CheckIconsCount()
        {
            MetaModel.MetaModel model = new MetaModel.MetaModel();
            var sut        = new MetaModelYamlSerializer();
            var textReader = new StreamReader(@"Resources\DefaultSettings.Yaml");

            sut.Deserialize(model, textReader);
            textReader.Close();

            Assert.AreEqual(71, model.IconsList.Count);
        }
        private void DeserializeIcons(MetaModel.MetaModel metaModel, Parser r)
        {
            r.Expect <SequenceStart>();

            while (r.Accept <MappingStart>())
            {
                DeserializeIcon(metaModel, r);
            }

            r.Expect <SequenceEnd>();
        }
Exemple #10
0
        public void Deserialize_NodeStyle_ImageNull()
        {
            MetaModel.MetaModel model = MetaModelHelper.Create();
            var sut        = new MetaModelYamlSerializer();
            var textReader = new StreamReader(@"Resources\Settings.Yaml");

            sut.Deserialize(model, textReader);
            textReader.Close();

            Assert.IsNull(model.NodeStyles[0].Image);
            Assert.IsNull(model.NodeStyles[1].Image);
        }
Exemple #11
0
        /// <summary>
        /// Creates MetaModel (without going through the deserialization)
        /// </summary>
        public static MetaModel.MetaModel Create()
        {
            var metaModel = new MetaModel.MetaModel();

            var field = typeof(MetaModel.MetaModel).GetField("instance",
                                                             BindingFlags.Static |
                                                             BindingFlags.NonPublic);

            Debug.Assert(field != null, "Cannot field private static field 'instance' through reflection.");
            field.SetValue(null, metaModel);

            return(metaModel);
        }
Exemple #12
0
        public void SerializeToString_EmptyMetaModel()
        {
            var model = new MetaModel.MetaModel();

            model.IconsList.Add(new ModelIcon("button_ok", "ok", "k"));
            var sut        = new MetaModelYamlSerializer();
            var textWriter = new StringWriter();

            sut.Serialize(model, textWriter);
            var result = textWriter.ToString();

            Assert.IsTrue(result.Contains("icons"));
        }
Exemple #13
0
        public void SerializeToString_NoNodeStyle()
        {
            MetaModel.MetaModel.Initialize(); //required by StyleImageGenerator
            var model = new MetaModel.MetaModel();

            model.IconsList.Add(new ModelIcon("button_ok", "ok", "k"));
            var sut        = new MetaModelYamlSerializer();
            var textWriter = new StringWriter();

            sut.Serialize(model, textWriter);
            var result = textWriter.ToString();

            Assert.IsFalse(result.Contains(MetaModelYamlSerializer.NodeStyles));
        }
        private void DeserializeNodeStyle(MetaModel.MetaModel metaModel, EventReader r)
        {
            var s = new NodeStyle();

            r.Expect <MappingStart>();

            r.Expect <Scalar>(); //Title
            s.Title = r.Expect <Scalar>().Value;

            r.Expect <Scalar>(); //RefNode
            s.RefNode = new MapYamlSerializer().Deserialize(r);

            r.Expect <MappingEnd>();

            metaModel.NodeStyles.Add(s);
        }
Exemple #15
0
        public void SerializeToString_NodeStyle_NoLinePattern()
        {
            MetaModel.MetaModel.Initialize(); //required by StyleImageGenerator
            var model = new MetaModel.MetaModel();

            model.IconsList.Add(new ModelIcon("button_ok", "ok", "k"));
            var refNode = new MapNode(new MapTree(), "Text");

            refNode.Bold     = true;
            refNode.FontSize = 15;
            model.NodeStyles.Add(new NodeStyle("Stylish", refNode, false));
            var sut        = new MetaModelYamlSerializer();
            var textWriter = new StringWriter();

            sut.Serialize(model, textWriter);
            var result = textWriter.ToString();

            Assert.IsFalse(result.Contains(MapYamlSerializer.LinePattern));
        }
        /// <summary>
        /// Name and Title are mandatory while shortcut is optional
        /// </summary>
        /// <param name="metaModel"></param>
        /// <param name="r"></param>
        private void DeserializeIcon(MetaModel.MetaModel metaModel, EventReader r)
        {
            string name = null, title = null, shortcut = null;

            r.Expect <MappingStart>();

            r.Expect <Scalar>(); //name
            name = r.Expect <Scalar>().Value;

            r.Expect <Scalar>();
            title = r.Expect <Scalar>().Value;

            if (r.Accept <Scalar>())
            {
                if (r.Expect <Scalar>().Value.Equals(Shortcut))
                {
                    shortcut = r.Expect <Scalar>().Value;
                }
            }
            r.Expect <MappingEnd>();

            metaModel.IconsList.Add(new ModelIcon(name, title, shortcut));
        }
Exemple #17
0
 public void GetIcon_NotExistingIcon_ReturnsErrorIcon()
 {
     MindMate.MetaModel.MetaModel.Initialize();
     MetaModel.MetaModel model = MindMate.MetaModel.MetaModel.Instance;
     Assert.IsNotNull(model.GetIcon("aalksdjfaksdfalds"));
 }
        public void Serialize(MetaModel.MetaModel metaModel, TextWriter writer)
        {
            Emitter emitter = new Emitter(writer);

            emitter.Emit(new StreamStart());
            emitter.Emit(new DocumentStart());
            emitter.Emit(new MappingStart());

            //icons
            emitter.Emit(new Scalar(Icons));
            emitter.Emit(new SequenceStart(null, null, true, SequenceStyle.Block));
            foreach (var modelIcon in metaModel.IconsList)
            {
                emitter.Emit(new MappingStart());
                emitter.Emit(new Scalar(Name));
                emitter.Emit(new Scalar(modelIcon.Name));
                emitter.Emit(new Scalar(Title));
                emitter.Emit(new Scalar(modelIcon.Title));
                emitter.Emit(new Scalar(Shortcut));
                emitter.Emit(new Scalar(modelIcon.Shortcut));
                emitter.Emit(new MappingEnd());
            }
            emitter.Emit(new SequenceEnd());
            //recent files
            if (metaModel.RecentFiles.Count > 0)
            {
                emitter.Emit(new Scalar(RecentFiles));
                emitter.Emit(new SequenceStart(null, null, true, SequenceStyle.Block));
                foreach (var recentFile in metaModel.RecentFiles)
                {
                    emitter.Emit(new Scalar(recentFile));
                }
                emitter.Emit(new SequenceEnd());
            }
            //last opened file
            if (metaModel.LastOpenedFile != null)
            {
                emitter.Emit(new Scalar(LastOpenedFile));
                emitter.Emit(new Scalar(metaModel.LastOpenedFile));
            }
            //map back color
            emitter.Emit(new Scalar(MapBackColor));
            emitter.Emit(new Scalar(Convert.ToColorHexValue(metaModel.MapEditorBackColor)));
            //note back color
            emitter.Emit(new Scalar(NoteBackColor));
            emitter.Emit(new Scalar(Convert.ToColorHexValue(metaModel.NoteEditorBackColor)));
            //node styles
            if (metaModel.NodeStyles.Any())
            {
                emitter.Emit(new Scalar(NodeStyles));
                emitter.Emit(new SequenceStart(null, null, true, SequenceStyle.Block));
                foreach (var nodeStyle in metaModel.NodeStyles)
                {
                    emitter.Emit(new MappingStart());
                    emitter.Emit(new Scalar(Title));
                    emitter.Emit(new Scalar(nodeStyle.Title));
                    emitter.Emit(new Scalar(RefNode));
                    new MapYamlSerializer().Serialize(nodeStyle.RefNode, emitter);
                    emitter.Emit(new MappingEnd());
                }
                emitter.Emit(new SequenceEnd());
            }

            emitter.Emit(new MappingEnd());
            emitter.Emit(new DocumentEnd(true));
            emitter.Emit(new StreamEnd());
        }
Exemple #19
0
 public void Save()
 {
     MetaModelHelper.CreateWithTestSettingsFile();
     MetaModel.MetaModel model = MindMate.MetaModel.MetaModel.Instance;
     model.Save();
 }
Exemple #20
0
        public void Deserialize_NodeStyleImageNotNull()
        {
            MetaModel.MetaModel model = MetaModelHelper.CreateWithTestSettingsFile();

            Assert.IsTrue(model.NodeStyles.TrueForAll(s => s.Image != null));
        }