エディタからシェイプを削除する
ビュー定義でフィールドと対応づけている場合、モデルの削除や関連の削除等、対応するフィールドを更新することで自動的にシェイプが削除されます。
ビュー定義でクラスと対応づけている場合も同様に、モデルを削除することで自動でシェイプが削除されます。モデルを維持してシェイプのみ削除したい場合、IShape
オブジェクトの Delete
メソッドを利用できます。
public void Delete(ICommandContext c, ICommandParams p)
{
// 現在表示しているダイアグラムを取得します
IDiagram diagram = c.App.Workspace.CurrentEditor as IDiagram;
if (diagram == null)
{
// ダイアグラムを表示していない場合は処理を終了します
c.App.Output.WriteLine("sample", "ダイアグラムを表示していません。");
return;
}
// 現在選択しているシェイプを取得します
INode node = diagram.GetSelectedShapes().OfType<INode>().FirstOrDefault();
if (node == null)
{
// シェイプを選択していない場合は処理を終了します
c.App.Output.WriteLine("sample", "シェイプを選択していません。");
return;
}
// 引数に true を指定した場合、シェイプに対応したモデルも削除されます
// 引数に false、もしくは何も指定しなかった場合、シェイプに対応したモデルは削除されません
node.Delete(false);
}
シェイプの追加はこちらを参考にしてください。