関連・オブジェクトは、両端の矢尻の形を変更できます。
関連・オブジェクト用のシェイプは共通してjp.carabiner.inkpod.pi.shape.PReltionObjectShapeインターフェースを持ちます。この、startArrowShapeName、endArrowShapeNameプロパティで、それぞれ始点と終点の矢尻の形を変更できます。
startArrowShapeName, endArrowShapeNameには、矢尻の形を表す名前を文字列で設定します。矢尻の名前は、jp.carabiner.inkpod.pi.shape.arrow.BasicArrowShapeTypeTableクラスのstaticフィールドに定義されている、jp.carabiner.inkpod.pi.shape.arrow.ArrowShapeTypeオブジェクトのnameプロパティから得ることができます。例えば、Packages.jp.carabiner.inkpod.pi.shape.arrow.BasicArrowShapeTypeTable.SIMPLE_WIDE_ARROW_SHAPE.name は、幅広の矢尻の名前です。
終点の矢尻の形を、幅広の矢尻に変更するサンプルです。「オブジェクト」メニューに「矢印の変更」というメニュー項目を追加します。関連・オブジェクトを選択して、このメニュー項目を選択すると幅広の矢尻に変わります。
importClass(Packages.jp.carabiner.inkpod.pi.shape.ArrowShapeName); function extendUI(event) { inkpod.ui.actions.addAction({ id : "SAMPLE_CHANGE_ARROW", text : "矢印を変更", action : function(frame, event) { var model = frame.model; var object = model.singleSelectedObject; if(!(object.shape instanceof Packages.jp.carabiner.inkpod.pi.shape.PAbstractRelationShape)) { frame.alert("関連オブジェクトを選択してください。"); return; } object.shape.endArrowShapeName = Packages.jp.carabiner.inkpod.pi.shape.arrow.BasicArrowShapeTypeTable.SIMPLE_WIDE_ARROW_SHAPE.name; } }); inkpod.ui.menuBar.objectMenu.addMenuItem("SAMPLE_CHANGE_ARROW"); } function init() { inkpod.ui.addUIExtensionListener(extendUI); } function dispose() { } plugin = { init : init, dispose : dispose }