ポートの情報を取得する
ダイアグラムのノードシェイプにおけるポートは、IDiagram
から取得するINode
オブジェクトのPorts
プロパティでアクセスできます。
ノードの各ポートにアクセスする
ダイアグラムの選択されているノードシェイプのポートを列挙する例です。
public void EnumeratePorts(ICommandContext c, ICommandParams p)
{
IDiagram diagram = c.App.Workspace.CurrentEditor as IDiagram;
if (diagram == null) return;
// 選択されているノードを取得します
var nodes = diagram.GetSelectedShapes().OfType<INode>();
// ノードごとに処理をします
foreach (INode node in nodes)
{
c.App.Output.WriteLine("sample", $"ノードのモデル : {node.Model.Name}");
// ノードの持つポートごとに処理をします
foreach (IPort port in node.Ports)
{
c.App.Output.WriteLine("sample", $" ポートのモデル : {port.Model.Name}");
}
}
}