STNodeEditor/V3_CN.md
2022-08-30 15:50:37 +08:00

2.7 KiB
Raw Blame History

由于3.0版本可能部分代码会被重构,所以决定开一个新的项目。但是项目目前并未上传GitHub。将在完成时候上传。

虽然用户量不多,但是感谢那些一直在使用STNodeEditor的用户,在他们那里作者得到了一些反馈。将做如下调整:

修复已知bug

增加高DPI支持

添加json格式序列化文件

添加缩略图

节点选项悬浮提示信息

添加控件支持:

`Panel` 

`lable` 

`button` 

`textbox` 

`listview` 

`chekcbox` 

`radiobutton`

`combobox` 

`groupbox` 

`picturebox`

`progressbar` 

`trackbar` 

`NumericUpDown`

控件将尽可能保持WinForm的使用习惯。

添加STNodeEditorLayer.cs

替代原本的STNodeEditor.cs

var layer = new STNodeEditorLayer("layer_name");
layer.Nodes.add(new STNode_1());
layer.Nodes.add(new STNode_2());
STNodeEditor_1.Layer = layer;
// STNodeEditor.Layers.Add(layer) 此方式先待定
/*
    这样做的目的是想实现类似TabControl的效果用户可能有多个画布需要加载
    所以他不得不添加多个STNodeEditor做切换。所以用STNodeEditorLayer代替原本的STNodeEditor
    而STNodeEditor仅仅作为一个画布容器
*/

添加STNodeSpy.cs

虽然STNodeEditor可以通过选项点颜色来区分数据类型,但是不排除会出现同一个颜色不同数据类型的情况,尤其是节点并非一个人开发的情况。

STNodeSpy作为一个内置节点提供就像STNodeHub一样,它的使用方式将会和SPY++类似。

添加STNodeGroup.cs

目前的STNodeEditor并没有分组的功能,作者准备尝试使用Blender一样的分组方式,毕竟作者确实很喜欢Blender。将分组作为一个节点使用。

var group = new STNodeGroup("group_name");
group.Nodes.Add(new STNode_1());
group.Nodes.Add(new STNode_2());
var layer = new STNodeEditorLayer("layer_name");
layder.Nodes.Add(group);
/*
    group 具有可编辑属性它将以普通节点的形式存在于layer中。但是它可以被展开
    当group被展开时它将变成一个独立的layer可以进行节点的添加和删除。
    可以参考Blender的group可以理解为将整个画布的最开始的输入和最终的输出作为一个节点的输入和输出。
*/

以上仅供参考,最终效果请以实物为准。😏😏😏😏😏(毕竟作者是个死咸鱼,不排除摆烂、虚假宣传的可能)。

如上面的某一个功能已经完成则会在旁边标记一个时间 比如:

(2023-12-21)增加高DPI支持

如果你有什么想法可以联系咸鱼作者2212233137@qq.com