/**********************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * Copyright (c) 2011, 2012 Ericsson.
- *
+ * Copyright (c) 2005, 2012 IBM Corporation, Ericsson
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- * Bernd Hufmann - Updated for TMF
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * Bernd Hufmann - Updated for TMF
**********************************************************************/
+
package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
+import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
/**
* Class to draw Ellipsis Message.
- *
+ *
* @version 1.0
* @author sveyrier
- *
+ *
*/
-public class EllipsisMessage extends AsyncMessage implements ITimeRange {
+public class EllipsisMessage extends AsyncMessage {
/*
* (non-Javadoc)
*/
@Override
public int getX() {
- if (startLifeline == null) {
+ if (fStartLifeline == null) {
return super.getX() + super.getWidth() - 16;
- }
+ }
return super.getX();
}
/*
* (non-Javadoc)
* @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage#drawMessage(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
- */
+ */
@Override
protected void drawMessage(IGC context) {
// temporary store the coordinates to avoid more methods calls
int height = getHeight();
// UML2 found message (always drawn from left to right)
- if (startLifeline == null && endLifeline != null) {
+ if (fStartLifeline == null && fEndLifeline != null) {
// Draw the message label above the message and centered
// The label is truncated if it cannot fit between the two message end
// 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
context.setBackground(storedColor);
}
// UML2 lost message (always drawn from left to right)
- else if (endLifeline == null && startLifeline != null) {
+ else if (fEndLifeline == null && fStartLifeline != null) {
// Draw the message label above the message and centered
// The label is truncated if it cannot fit between the two message end
// 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
/*
* (non-Javadoc)
* @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage#draw(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
- */
+ */
@Override
public void draw(IGC context) {
if (!isVisible()) {
return;
}
+
+ ISDPreferences pref = SDViewPref.getInstance();
+
// Draw it selected?*/
if (isSelected()) {
+
/*
* Draw it twice First time, bigger inverting selection colors Second time, regular drawing using selection
* colors This create the highlight effect
*/
- context.setForeground(Frame.getUserPref().getBackGroundColorSelection());
+ context.setForeground(pref.getBackGroundColorSelection());
context.setLineWidth(Metrics.SELECTION_LINE_WIDTH);
drawMessage(context);
- context.setBackground(Frame.getUserPref().getBackGroundColorSelection());
- context.setForeground(Frame.getUserPref().getForeGroundColorSelection());
+ context.setBackground(pref.getBackGroundColorSelection());
+ context.setForeground(pref.getForeGroundColorSelection());
// Second drawing is done after the else
} else {
- context.setBackground(Frame.getUserPref().getBackGroundColor(ISDPreferences.PREF_ASYNC_MESS));
- context.setForeground(Frame.getUserPref().getForeGroundColor(ISDPreferences.PREF_ASYNC_MESS));
+ context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_ASYNC_MESS));
+ context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_ASYNC_MESS));
}
if (hasFocus()) {
context.setDrawTextWithFocusStyle(true);