/*
* Copyright 2005 Pi4 Technologies Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*
* Change History:
* Jul 14, 2005 : Initial version created by gary
*/
package org.savara.tools.scenario.designer.figures;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.swt.graphics.Color;
import org.eclipse.draw2d.ConnectionAnchor;
/**
* This class provides a figure for the simple type.
*/
public class MessageEventFigure extends org.eclipse.draw2d.Figure {
public MessageEventFigure() {
m_connectionAnchor = new org.eclipse.draw2d.ChopboxAnchor(this);
}
protected boolean useLocalCoordinates() {
return(true);
}
/**
* Sets the selection state of this SimpleActivityLabel
* @param b true will cause the label to appear selected
*/
public void setSelected(boolean b) {
selected = b;
repaint();
}
/**
* Sets the focus state of this SimpleActivityLabel
* @param b true will cause a focus rectangle to be drawn around the text of the Label
*/
public void setFocus(boolean b) {
hasFocus = b;
repaint();
}
public ConnectionAnchor getConnectionAnchor() {
return(m_connectionAnchor);
}
public void setErrorExpected(Boolean exc) {
m_errorExpected = exc;
}
protected boolean isErrorExpected() {
boolean ret=false;
if (m_errorExpected != null) {
ret = m_errorExpected.booleanValue();
}
return(ret);
}
protected Color getBoundaryColor() {
Color ret=ColorConstants.gray;
if (isErrorExpected()) {
ret = ColorConstants.red;
}
return(ret);
}
protected int getBoundaryWidth() {
int ret=1;
if (isErrorExpected()) {
ret = 2;
}
return(ret);
}
protected Color getFillColor() {
Color ret=ColorConstants.menuBackground;
if (getState() == STATE_SUCCESSFUL) {
ret = ColorConstants.green;
} else if (getState() == STATE_UNSUCCESSFUL) {
ret = ColorConstants.red;
} else if (getState() == STATE_PROCESSING) {
ret = ColorConstants.yellow;
}
return(ret);
}
public void setState(int state) {
m_state = state;
repaint();
}
public int getState() {
return(m_state);
}
private ConnectionAnchor m_connectionAnchor=null;
private boolean selected;
private boolean hasFocus;
private Boolean m_errorExpected=null;
private int m_state=STATE_RESET;
public static final int STATE_RESET=0;
public static final int STATE_PROCESSING=1;
public static final int STATE_SUCCESSFUL=2;
public static final int STATE_UNSUCCESSFUL=3;
}