/**
*
*/
package org.alcatel.jsce.servicecreation.graph.component.figure;
import org.alcatel.jsce.util.image.ImageManager;
import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.SWTGraphics;
import org.eclipse.draw2d.ToolbarLayout;
/**
* @author sskhiri
*
*/
public class OSPFigure extends Figure {
/** The height to draw */
protected int height_d = 50;
/** The widgth to draw */
protected int width_d = 50;
/** The title*/
private Label title = null;
/** Define if the figure is selected or not*/
private boolean selected = false;
private Label label = null;
private Label labelVendor = null;
private Label labelVersion = null;
private CompartmentFigure attributeFigure = new CompartmentFigure();
public OSPFigure(String name, String vendor, String version, Label title, Integer h, Integer w){
this.height_d = h.intValue();
this.width_d = w.intValue();
ToolbarLayout layout = new ToolbarLayout();
setLayoutManager(layout);
//setBorder(new LineBorder(ColorConstants.black, 1));
//setBackgroundColor(classColor);
setOpaque(false);
add(title);
add(attributeFigure);
label = new Label("Name:" +name, ImageManager.getInstance().getImage("alcatel/field_private_obj.gif"));
labelVendor = new Label("Vendor: "+ vendor, ImageManager.getInstance().getImage("alcatel/field_private_obj.gif"));
labelVersion = new Label("Version: "+version, ImageManager.getInstance().getImage("alcatel/field_private_obj.gif"));
getAttributesCompartment().add(label);
getAttributesCompartment().add(labelVendor);
getAttributesCompartment().add(labelVersion);
}
public CompartmentFigure getAttributesCompartment() {
return attributeFigure;
}
public void toggleSelected() {
selected = true;
this.repaint();
}
public void toggleNotSelected() {
selected = false;
this.repaint();
}
public void paint(Graphics graphics) {
if(selected){
graphics.pushState();
graphics.setForegroundColor(ColorManager.getInstance().getColor(IGlyph.COLOR_GRAY));
graphics.setLineStyle(SWTGraphics.LINE_DASH);
graphics.drawRectangle(getBounds().x, getBounds().y, getBounds().width - 1, getBounds().height - 1);
graphics.popState();
}
super.paint(graphics);
}
/**
* @return Returns the label.
*/
public Label getLabel() {
return label;
}
/**
* @param label The label to set.
*/
public void setLabel(String label) {
this.label.setText(label);
repaint();
}
/**
* @return Returns the labelVendor.
*/
public Label getLabelVendor() {
return labelVendor;
}
/**
* @param labelVendor The labelVendor to set.
*/
public void setLabelVendor(String labelVendor) {
this.labelVendor.setText(labelVendor) ;
repaint();
}
/**
* @return Returns the labelVersion.
*/
public Label getLabelVersion() {
return labelVersion;
}
/**
* @param labelVersion The labelVersion to set.
*/
public void setLabelVersion(String labelVersion) {
this.labelVersion.setText(labelVersion);
repaint();
}
}