89 lines
3.9 KiB
C#
89 lines
3.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
using ST.Library.UI.NodeEditor;
|
|
|
|
namespace WinNodeEditorDemo
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
public Form1() {
|
|
InitializeComponent();
|
|
this.StartPosition = FormStartPosition.CenterScreen;
|
|
}
|
|
|
|
protected override void OnLoad(EventArgs e) {
|
|
base.OnLoad(e);
|
|
stNodePropertyGrid1.Text = "Node_Property";
|
|
stNodeTreeView1.LoadAssembly(Application.ExecutablePath);
|
|
stNodeEditor1.LoadAssembly(Application.ExecutablePath);
|
|
|
|
stNodeEditor1.ActiveChanged += (s, ea) => stNodePropertyGrid1.SetNode(stNodeEditor1.ActiveNode);
|
|
//stNodeEditor1.SelectedChanged += (s, ea) => stNodePropertyGrid1.SetSTNode(stNodeEditor1.ActiveNode);
|
|
stNodeEditor1.OptionConnected += (s, ea) => stNodeEditor1.ShowAlert(ea.Status.ToString(), Color.White, ea.Status == ConnectionStatus.Connected ? Color.FromArgb(125, Color.Green) : Color.FromArgb(125, Color.Red));
|
|
stNodeEditor1.CanvasScaled += (s, ea) => stNodeEditor1.ShowAlert(stNodeEditor1.CanvasScale.ToString("F2"), Color.White, Color.FromArgb(125, Color.Yellow));
|
|
stNodeEditor1.NodeAdded += (s, ea) => ea.Node.ContextMenuStrip = contextMenuStrip1;
|
|
|
|
stNodePropertyGrid1.SetInfoKey("Author", "Mail", "Link", "Show Help");
|
|
stNodeTreeView1.PropertyGrid.SetInfoKey("Author", "Mail", "Link", "Show Help");
|
|
|
|
stNodeEditor1.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom;
|
|
|
|
contextMenuStrip1.ShowImageMargin = false;
|
|
contextMenuStrip1.Renderer = new ToolStripRendererEx();
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e) {
|
|
//int nLines = 0;
|
|
//foreach (var v in Directory.GetFiles("../../../", "*.cs", SearchOption.AllDirectories)) {
|
|
// nLines += File.ReadAllLines(v).Length;
|
|
//}
|
|
//MessageBox.Show(nLines.ToString());
|
|
//this.Resize += (s, ea) => this.Text = this.Size.ToString();
|
|
//this.BeginInvoke(new MethodInvoker(() => {
|
|
// //this.Size = new Size(488, 306);
|
|
// this.Size = new Size(488, 246);
|
|
// stNodeTreeView1.Visible = false;
|
|
// stNodePropertyGrid1.Top = stNodeEditor1.Top;
|
|
// stNodePropertyGrid1.Height = stNodeEditor1.Height;
|
|
// stNodeTreeView1.Height = stNodeEditor1.Height;
|
|
//}));
|
|
}
|
|
|
|
private void btn_open_Click(object sender, EventArgs e) {
|
|
OpenFileDialog ofd = new OpenFileDialog();
|
|
ofd.Filter = "*.stn|*.stn";
|
|
if (ofd.ShowDialog() != DialogResult.OK) return;
|
|
stNodeEditor1.Nodes.Clear();
|
|
stNodeEditor1.LoadCanvas(ofd.FileName);
|
|
}
|
|
|
|
private void btn_save_Click(object sender, EventArgs e) {
|
|
SaveFileDialog sfd = new SaveFileDialog();
|
|
sfd.Filter = "*.stn|*.stn";
|
|
if (sfd.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
|
|
stNodeEditor1.SaveCanvas(sfd.FileName);
|
|
}
|
|
|
|
private void lockConnectionToolStripMenuItem_Click(object sender, EventArgs e) {
|
|
stNodeEditor1.ActiveNode.LockOption = !stNodeEditor1.ActiveNode.LockOption;
|
|
}
|
|
|
|
private void lockLocationToolStripMenuItem_Click(object sender, EventArgs e) {
|
|
if (stNodeEditor1.ActiveNode == null) return;
|
|
stNodeEditor1.ActiveNode.LockLocation = !stNodeEditor1.ActiveNode.LockLocation;
|
|
}
|
|
|
|
private void removeToolStripMenuItem_Click(object sender, EventArgs e) {
|
|
if (stNodeEditor1.ActiveNode == null) return;
|
|
stNodeEditor1.Nodes.Remove(stNodeEditor1.ActiveNode);
|
|
}
|
|
}
|
|
}
|