tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / uml2sd / core / BaseMessage.java
index ab36b912a82b4ad3a22824e0c5aeff1960f2e0c4..195289b833df61aad92c9cbb21a915c6cebb29ad 100755 (executable)
@@ -1,21 +1,21 @@
 /**********************************************************************
- * 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;
 
 /**
  * The base UML2 syncMessages implementation.<br>
@@ -25,13 +25,13 @@ import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
  * representations (like asynchronous syncMessages) will be responsible to define the missing second eventOccurrence
  * property.<br>
  * <br>
- * 
+ *
  * @see Lifeline Lifeline for more event occurence details
  * @version 1.0
  * @author sveyrier
  */
 public abstract class BaseMessage extends GraphNode {
-    
+
     // ------------------------------------------------------------------------
     // Attributes
     // ------------------------------------------------------------------------
@@ -44,7 +44,7 @@ public abstract class BaseMessage extends GraphNode {
      */
     protected Lifeline fEndLifeline = null;
     /**
-     * The visiblitiy flag. 
+     * The visiblitiy flag.
      */
     protected boolean fVisible = true;
 
@@ -78,20 +78,19 @@ public abstract class BaseMessage extends GraphNode {
              */
             return fEndLifeline.getY() + fEndLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fEndEventOccurrence;
 
-        } else {
-            /*
-             * UML2 lost message kind
-             */
-            if (fStartLifeline != null) {
-                return fStartLifeline.getY() + fStartLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fEndEventOccurrence;
-            }
+        }
+        /*
+         * UML2 lost message kind
+         */
+        if (fStartLifeline != null) {
+            return fStartLifeline.getY() + fStartLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fEndEventOccurrence;
+        }
 
-            /*
-             * UML2 found message kind
-             */
-            if (fEndLifeline != null) {
-                return fEndLifeline.getY() + fEndLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fEndEventOccurrence;
-            }
+        /*
+         * UML2 found message kind
+         */
+        if (fEndLifeline != null) {
+            return fEndLifeline.getY() + fEndLifeline.getHeight() + (Metrics.getMessageFontHeigth() + Metrics.getMessagesSpacing()) * fEndEventOccurrence;
         }
         // return 0 by default
         return 0;
@@ -126,7 +125,7 @@ public abstract class BaseMessage extends GraphNode {
      * <br>
      * This method is typically used to faster execute none graphical operation like tooltip lookup.<br>
      * <br>
-     * 
+     *
      * @param quick true to get an approximative value<br>
      *            false to get the exact x value<br>
      * @return the graph node x coordinate
@@ -171,7 +170,7 @@ public abstract class BaseMessage extends GraphNode {
      * <br>
      * This method is typically used to faster execute none graphical operation like tooltip lookup.<br>
      * <br>
-     * 
+     *
      * @param quick true to get an approximative value<br>
      *            false to get the exact x value
      * @return the graph node width
@@ -237,7 +236,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Sets the visibility value.
-     * 
+     *
      * @param value The visibility to set.
      */
     public void setVisible(boolean value) {
@@ -245,7 +244,7 @@ public abstract class BaseMessage extends GraphNode {
     }
 
     /**
-     * @return the visibility value. 
+     * @return the visibility value.
      */
     public boolean isVisible() {
         return fVisible;
@@ -253,7 +252,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Set the lifeline from which this message has been sent.
-     * 
+     *
      * @param lifeline - the message sender
      */
     public void setStartLifeline(Lifeline lifeline) {
@@ -262,7 +261,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Returns the lifeline from which this message has been sent.
-     * 
+     *
      * @return the message sender
      */
     public Lifeline getStartLifeline() {
@@ -271,7 +270,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Returns the lifeline which has received this message.
-     * 
+     *
      * @return the message receiver
      */
     public Lifeline getEndLifeline() {
@@ -280,7 +279,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Set the lifeline which has receive this message.
-     * 
+     *
      * @param lifeline the message receiver
      */
     public void setEndLifeline(Lifeline lifeline) {
@@ -289,7 +288,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Set the event occurrence when this message occurs.<br>
-     * 
+     *
      * @param occurrence the event occurrence to assign to this message.<br>
      * @see Lifeline Lifeline for more event occurence details
      */
@@ -299,7 +298,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Returns the event occurence when is message occurs.<br>
-     * 
+     *
      * @return the event occurrence assigned to this message.<br>
      * @see Lifeline Lifeline for more event occurence details
      */
@@ -312,7 +311,7 @@ public abstract class BaseMessage extends GraphNode {
      * WARNING: this method will return a valid result only for execution occurrences which are visible in the View.<br>
      * As consequence this method is only used for drawing purpose, especially to determine the exact message x
      * coordinate and width.<br>
-     * 
+     *
      * @see BaseMessage#getX(boolean)
      * @param event the event occurrence to test
      * @return true if occurs on a execution occurrence owned by the sending lifeine, false otherwise
@@ -344,7 +343,7 @@ public abstract class BaseMessage extends GraphNode {
      * WARNING: this method will return a valid result only for execution occurrences which are visible in the View.<br>
      * As consequence this method is only used for drawing purpose, especially to determine the exact message x
      * coordinate and width.<br>
-     * 
+     *
      * @see BaseMessage#getX(boolean)
      * @param event the event occurrence to test
      * @return true if occurs on a execution occurrence owned by the receiving lifeline, false otherwise
@@ -390,35 +389,35 @@ public abstract class BaseMessage extends GraphNode {
              * rectangle width is negative.
              */
             if (getName().length() * Metrics.getAverageCharWidth() > Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2 + -Metrics.INTERNAL_MESSAGE_WIDTH) {
-                if (Frame.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH + 10, y, Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2 + -Metrics.INTERNAL_MESSAGE_WIDTH, Metrics.getMessageFontHeigth(), xValue, yValue)) {
+                if (GraphNode.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH + 10, y, Metrics.swimmingLaneWidth() - Metrics.EXECUTION_OCCURRENCE_WIDTH / 2 + -Metrics.INTERNAL_MESSAGE_WIDTH, Metrics.getMessageFontHeigth(), xValue, yValue)) {
                     return true;
                 }
             } else {
-                if (Frame.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH + 10, y, getName().length() * Metrics.getAverageCharWidth(), Metrics.getMessageFontHeigth(), xValue, yValue)) {
+                if (GraphNode.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH + 10, y, getName().length() * Metrics.getAverageCharWidth(), Metrics.getMessageFontHeigth(), xValue, yValue)) {
                     return true;
                 }
             }
 
             // Test if the point is in part 1 of the self message
             // see: "private void drawMessage (NGC context)" method for self message drawing schema
-            if (Frame.contains(x, y - Metrics.MESSAGE_SELECTION_TOLERANCE / 2, Metrics.INTERNAL_MESSAGE_WIDTH / 2, Metrics.MESSAGE_SELECTION_TOLERANCE, xValue, yValue)) {
+            if (GraphNode.contains(x, y - Metrics.MESSAGE_SELECTION_TOLERANCE / 2, Metrics.INTERNAL_MESSAGE_WIDTH / 2, Metrics.MESSAGE_SELECTION_TOLERANCE, xValue, yValue)) {
                 return true;
             }
 
             // Test if the point is in part 3 of the self message
-            if (Frame.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH - Metrics.MESSAGE_SELECTION_TOLERANCE / 2, y, Metrics.MESSAGE_SELECTION_TOLERANCE, height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, xValue, yValue)) {
+            if (GraphNode.contains(x + Metrics.INTERNAL_MESSAGE_WIDTH - Metrics.MESSAGE_SELECTION_TOLERANCE / 2, y, Metrics.MESSAGE_SELECTION_TOLERANCE, height + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, xValue, yValue)) {
                 return true;
             }
 
             // Test if the point is in part 5 of the self message
-            if (Frame.contains(x, y + height - Metrics.MESSAGE_SELECTION_TOLERANCE / 2 + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, Metrics.INTERNAL_MESSAGE_WIDTH / 2, Metrics.MESSAGE_SELECTION_TOLERANCE, xValue, yValue)) {
+            if (GraphNode.contains(x, y + height - Metrics.MESSAGE_SELECTION_TOLERANCE / 2 + Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT, Metrics.INTERNAL_MESSAGE_WIDTH / 2, Metrics.MESSAGE_SELECTION_TOLERANCE, xValue, yValue)) {
                 return true;
             }
 
             // false otherwise
             return false;
         }
-        if (Frame.contains(x, y - tempHeight, width, tempHeight, xValue, yValue)) {
+        if (GraphNode.contains(x, y - tempHeight, width, tempHeight, xValue, yValue)) {
             return true;
         }
         // false otherwise
@@ -427,19 +426,21 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Method to draw the message using the graphical context.
-     * 
+     *
      * @param context A graphical context to draw in.
      */
     protected void drawMessage(IGC context) {
         int fX, fY, fW, fH;
         fX = fY = fW = fH = 0;
 
-        // temporay store the coordinates to avoid more methods calls
+        // temporary store the coordinates to avoid more methods calls
         int x = getX();
         int y = getY();
         int width = getWidth();
         int height = getHeight();
 
+        ISDPreferences pref = SDViewPref.getInstance();
+
         // UML2 found message (always drawn from left to right)
         // or UML2 lost message (always drawn from left to right)
         if ((fStartLifeline == null || fEndLifeline == null) && fStartLifeline != fEndLifeline) {
@@ -447,7 +448,7 @@ public abstract class BaseMessage extends GraphNode {
             // 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
             IColor temp = context.getForeground();
-            context.setForeground(Frame.getUserPref().getFontColor(fPrefId));
+            context.setForeground(pref.getFontColor(fPrefId));
             context.drawTextTruncatedCentred(getName(), x, y - Metrics.getMessageFontHeigth() - 2 * Metrics.MESSAGES_NAME_SPACING, width, 2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth(), !isSelected());
             context.setForeground(temp);
             int margin = 0;
@@ -491,7 +492,7 @@ public abstract class BaseMessage extends GraphNode {
                 context.fillOval(x + width - ray, y + height - ray, ray * 2, ray * 2);
             }
             context.setBackground(storedColor);
-            context.setForeground(Frame.getUserPref().getFontColor(fPrefId));
+            context.setForeground(pref.getFontColor(fPrefId));
             fX = x;
             fY = y - yt.intValue();
             fW = width;
@@ -552,7 +553,7 @@ public abstract class BaseMessage extends GraphNode {
             // 2*Metrics.MESSAGES_NAME_SPACING = space above the label + space below the label
 
             // the space available for the text is sorter if are drawing internal message on the last lifeline
-            context.setForeground(Frame.getUserPref().getFontColor(fPrefId));
+            context.setForeground(pref.getFontColor(fPrefId));
             if (fStartLifeline.getIndex() == fStartLifeline.getFrame().getHorizontalIndex()) {
                 context.drawTextTruncated(getName(), x + width + Metrics.INTERNAL_MESSAGE_V_MARGIN / 2, y, Metrics.swimmingLaneWidth() / 2 - Metrics.EXECUTION_OCCURRENCE_WIDTH + -Metrics.INTERNAL_MESSAGE_WIDTH, +Metrics.MESSAGES_NAME_SPACING
                         - Metrics.getMessageFontHeigth(), !isSelected());
@@ -617,7 +618,7 @@ public abstract class BaseMessage extends GraphNode {
             // 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.setForeground(Frame.getUserPref().getFontColor(fPrefId));
+            context.setForeground(pref.getFontColor(fPrefId));
             if (spaceBTWStartEnd > 0) {
                 context.drawTextTruncatedCentred(getName(), x, y + height / 2 - (2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth()), width, 2 * Metrics.MESSAGES_NAME_SPACING + Metrics.getMessageFontHeigth(), !isSelected());
             } else {
@@ -625,7 +626,7 @@ public abstract class BaseMessage extends GraphNode {
             }
         }
     }
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNodee#draw(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
@@ -635,18 +636,19 @@ public abstract class BaseMessage extends GraphNode {
         if (!isVisible()) {
             return;
         }
+
         // Draw it selected?*/
         if (isSelected()) {
-
+            ISDPreferences pref = SDViewPref.getInstance();
             /*
              * 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
         }
         context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
@@ -666,10 +668,10 @@ public abstract class BaseMessage extends GraphNode {
     /**
      * Determine if two messages are identical. This default implementation considers that overlapping messages with
      * same coordinates are identical.
-     * 
+     *
      * @param message - the message to compare with
      * @return true if identical false otherwise
-     * 
+     *
      * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode#isSameAs(org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode)
      */
     @Override
@@ -685,7 +687,7 @@ public abstract class BaseMessage extends GraphNode {
 
     /**
      * Method drawRot.
-     * 
+     *
      * @param x A x coordinate
      * @param y A y coordinate
      * @param w A width
@@ -727,19 +729,22 @@ public abstract class BaseMessage extends GraphNode {
      */
     @Override
     public void drawFocus(IGC context) {
+
+        ISDPreferences pref = SDViewPref.getInstance();
+
         if ((fStartLifeline != fEndLifeline) && (fStartEventOccurrence == fEndEventOccurrence)) {
             context.setLineStyle(context.getLineDotStyle());
             context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
-            context.setBackground(Frame.getUserPref().getBackGroundColorSelection());
-            context.setForeground(Frame.getUserPref().getForeGroundColorSelection());
+            context.setBackground(pref.getBackGroundColorSelection());
+            context.setForeground(pref.getForeGroundColorSelection());
             context.drawFocus(getX(), getY() - 3, getWidth(), getHeight() + 6);
         } else if ((fStartLifeline == fEndLifeline) && (fStartEventOccurrence == fEndEventOccurrence)) {
             context.drawFocus(getX(), getY() - 3, getWidth(), Metrics.SYNC_INTERNAL_MESSAGE_HEIGHT + 6);
         } else if ((fStartLifeline != fEndLifeline) && (fStartEventOccurrence != fEndEventOccurrence)) {
             context.setLineStyle(context.getLineDotStyle());
             context.setLineWidth(Metrics.NORMAL_LINE_WIDTH);
-            context.setBackground(Frame.getUserPref().getBackGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
-            context.setForeground(Frame.getUserPref().getForeGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
+            context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
+            context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_LIFELINE_HEADER));
             drawRot(getX(), getY() - 5, getWidth(), 10, context);
         } else {
             super.drawFocus(context);
This page took 0.029659 seconds and 5 git commands to generate.