コネクタのラベルを変更する
ダイアグラム上に表示されているコネクタのラベルを変更する例です。
コネクタのラベルには、コネクタのフィールドが割り当てられており、そのフィールド値を変更することでラベルの表示を変更します。
public void ModifyConnectorLabel(ICommandContext c, ICommandParams p)
{
// 現在表示しているダイアグラムを取得します
IDiagram diagram = c.App.Workspace.CurrentEditor as IDiagram;
if (diagram == null)
{
// ダイアグラムを表示していない場合は処理を終了します
c.App.Output.WriteLine("sample", "ダイアグラムを表示していません");
return;
}
// ダイアグラム上で選択されているコネクタを取得します
IEnumerable<IConnector> connectors = diagram.GetSelectedShapes().OfType<IConnector>().ToList();
if (!connectors.Any())
{
c.App.Output.WriteLine("sample", "コネクタが選択されていません");
return;
}
// 取得したコネクタのラベルを更新します
foreach(IConnector connector in connectors)
{
// 関連を取得します
IRelationship relationship = connector.Model as IRelationship;
// ラベルに割り当てられたフィールドを更新します。
string labelFieldName = "ModifyLabelName";
relationship.SetField(labelFieldName, "SampleLabel");
}
}
注記
エクステンションから、新規でラベルにコネクタのフィールドを割り当てることはできません。