1 19 package org.openharmonise.workfloweditor.flowchart.shapes; 20 21 import java.awt.geom.*; 22 23 import javax.swing.*; 24 25 import org.openharmonise.workfloweditor.model.*; 26 27 28 35 public class RoleShape extends JCheckBox { 36 37 40 private Role m_role = null; 41 42 45 private WorkflowStage m_stage = null; 46 47 50 private Rectangle2D.Float m_rect = null; 51 52 58 public RoleShape(Role role, WorkflowStage stage) { 59 super(role.getTitle()); 60 this.m_role = role; 61 this.m_stage = stage; 62 if(this.m_stage.getRoles().contains(role)) { 63 this.setSelected(true, true); 64 } 65 } 66 67 74 public boolean contains(double x, double y) { 75 if(this.m_rect!=null) { 76 return this.m_rect.contains(x, y); 77 } else { 78 return false; 79 } 80 } 81 82 87 public void setRect(Rectangle2D.Float rect) { 88 this.m_rect = rect; 89 } 90 91 94 public void setSelected(boolean bSelected, boolean bApplyToStage) { 95 super.setSelected(bSelected); 96 if(bApplyToStage) { 97 if(bSelected) { 98 if(!this.m_stage.getRoles().contains(m_role)) { 99 this.m_stage.addRole(m_role); 100 } 101 } else { 102 if(this.m_stage.getRoles().contains(m_role)) { 103 this.m_stage.removeRole(m_role); 104 } 105 } 106 } 107 } 108 109 114 public Role getRole() { 115 return this.m_role; 116 } 117 118 121 private RoleShape(String arg0) { 122 super(arg0); 123 } 124 125 129 private RoleShape(String arg0, boolean arg1) { 130 super(arg0, arg1); 131 } 132 133 136 private RoleShape(Action arg0) { 137 super(arg0); 138 } 139 140 143 private RoleShape(Icon arg0) { 144 super(arg0); 145 } 146 147 151 private RoleShape(Icon arg0, boolean arg1) { 152 super(arg0, arg1); 153 } 154 155 159 private RoleShape(String arg0, Icon arg1) { 160 super(arg0, arg1); 161 } 162 163 168 private RoleShape(String arg0, Icon arg1, boolean arg2) { 169 super(arg0, arg1, arg2); 170 } 171 172 } 173 | Popular Tags |