Exemple #1
0
        private void UpdateMenu()
        {
            if (Engine.Tool.BeginMainMenuBar())
            {
                if (Engine.Tool.BeginMenu("File", true))
                {
                    if (Engine.Tool.MenuItem("Save", "", false, true))
                    {
                        NodeEditorModel.Save();
                    }
                    if (Engine.Tool.MenuItem("Load", "", false, true))
                    {
                        NodeEditorModel.Load();
                    }
                    Engine.Tool.EndMenu();
                }
                if (Engine.Tool.BeginMenu("Edit", true))
                {
                    if (Engine.Tool.MenuItem("Undo", "", false, true))
                    {
                        NodeEditorModel.Undo();
                    }
                    if (Engine.Tool.MenuItem("Redo", "", false, true))
                    {
                        NodeEditorModel.Redo();
                    }
                    Engine.Tool.EndMenu();
                }


                Engine.Tool.Text(Engine.CurrentFPS.ToString());
                Engine.Tool.EndMainMenuBar();
            }
            MenuHeight = Engine.Tool.GetFrameHeight();
        }
Exemple #2
0
        private void UpdateComponents()
        {
            Engine.Tool.SetNextWindowViewport(0);
            Engine.Tool.BeginDockHost("host", new Vector2F(0, MenuHeight));
            Engine.Tool.End();

            UpdateMenu();

            _previewWindow.Render();
            _nodeTreeWindow.Render();
            _selectedNodeWindow.Render();

            if (_textureBrowserWindow.IsActive)
            {
                _textureBrowserWindow.Render();
            }

            if (_fontBrowserWindow.IsActive)
            {
                _fontBrowserWindow.UpdateFontBrowser();
            }

            if (LoadFilePath != "")
            {
                NodeEditorModel.Load(LoadFilePath);
            }
        }
Exemple #3
0
        public void Render()
        {
            _pane.Render(() =>
            {
                if (_accessor.Selected != null)
                {
                    NodeEditorModel.StartEditFields(_accessor.Selected);
                }
                if (_selectedToolElements != null)
                {
                    Engine.Tool.PushID("Selected".GetHashCode());
                    foreach (var toolElement in _selectedToolElements)
                    {
                        Engine.Tool.PushID(toolElement.GetHashCode());
                        toolElement.Update(_accessor.Selected);
                        Engine.Tool.PopID();
                    }
                    Engine.Tool.PopID();
                }

                if (_accessor.Selected != null)
                {
                    NodeEditorModel.EndEditFields(_accessor.Selected);
                }
            });
        }
Exemple #4
0
        public NodeEditorViewModel(IPamuxView v)
        {
            V = v;

            var m = new NodeEditorModel(this);

            m.PropertyChanged += (s, e) => { };

            M = m;
        }
Exemple #5
0
        public void SaveLoad()
        {
            NodeEditorHost.Initialize("SaveLoad", 1500, 800, new Configuration()
            {
                ConsoleLoggingEnabled = true, IsResizable = true
            });

            var spriteID   = NodeEditorModel.AddNode <SpriteNode>();
            var textID     = NodeEditorModel.AddNode <TextNode>();
            var arcID      = NodeEditorModel.AddNode <ArcNode>();
            var circleID   = NodeEditorModel.AddNode <CircleNode>();
            var lineID     = NodeEditorModel.AddNode <LineNode>();
            var rectID     = NodeEditorModel.AddNode <RectangleNode>();
            var triangleID = NodeEditorModel.AddNode <TriangleNode>();

            if (Engine.DoEvents())
            {
                NodeEditorHost.Update();
            }

            var circle = NodeEditorModel.FindInstance(circleID) as CircleNode;

            NodeEditorModel.StartEditFields(circle);
            NodeEditorModel.NotifyEditFields(circle);
            circle.Radius   = 100;
            circle.Position = new Vector2F(500, 500);
            circle.Color    = new Color(255, 0, 100, 255);
            NodeEditorModel.EndEditFields(circle);
            while (Engine.DoEvents())
            {
                NodeEditorHost.Update();
            }
            NodeEditorModel.Save("TestData/Editor/SaveLoadTest");
            var before = NodeEditorModel.NodeTree;

            NodeEditorHost.Terminate();

            NodeEditorHost.Initialize("SaveLoad", 1500, 800, new Configuration()
            {
                ConsoleLoggingEnabled = true, IsResizable = true
            });
            NodeEditorModel.Load("TestData/Editor/SaveLoadTest.nodes");
            while (Engine.DoEvents())
            {
                NodeEditorHost.Update();
            }
            var after = NodeEditorModel.NodeTree;

            NodeEditorHost.Terminate();

            Assert.True(PartsTreeSystemTest.Helper.IsValueEqual(before, after));
        }
Exemple #6
0
        /// <inheritdoc/>
        public override void Update(Node owner)
        {
            base.Update(owner);

            if (Source == null || MethodInfo == null)
            {
                return;
            }

            if (Engine.Tool.Button(Name))
            {
                MethodInfo?.Invoke(Source, new object[] { });
                NodeEditorModel.NotifyEditFields(owner);
            }
        }
        /// <inheritdoc/>
        public override void Update(Node owner)
        {
            base.Update(owner);

            if (Source == null || PropertyInfo == null)
            {
                return;
            }

            bool flag = (bool)PropertyInfo.GetValue(Source);

            if (Engine.Tool.Checkbox(Name, ref flag))
            {
                PropertyInfo.SetValue(Source, flag);
                NodeEditorModel.NotifyEditFields(owner);
            }
        }
Exemple #8
0
        public void CreateTriangleNode()
        {
            var newnodeid = NodeEditorModel.AddNode <TriangleNode>();

            _accessor.Selected = NodeEditorModel.FindInstance(newnodeid);
        }