You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/03/06 23:34:01 UTC

[05/50] [abbrv] incubator-taverna-workbench git commit: Added Border that can draw borders on selected edges of a component.

Added Border that can draw borders on selected edges of a component.

git-svn-id: https://taverna.googlecode.com/svn/taverna/utils/net.sf.taverna.t2.lang/trunk@15965 bf327186-88b3-11dd-a302-d386e5130c1c


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/commit/ef5ec645
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/ef5ec645
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/ef5ec645

Branch: refs/heads/master
Commit: ef5ec6452d87d17276f92fc3dd2da07ab9f8161f
Parents: 1704b7d
Author: david@mygrid.org.uk <da...@bf327186-88b3-11dd-a302-d386e5130c1c>
Authored: Mon Jul 29 10:18:46 2013 +0000
Committer: david@mygrid.org.uk <da...@bf327186-88b3-11dd-a302-d386e5130c1c>
Committed: Mon Jul 29 10:18:46 2013 +0000

----------------------------------------------------------------------
 .../sf/taverna/t2/lang/ui/EdgeLineBorder.java   | 91 ++++++++++++++++++++
 1 file changed, 91 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/ef5ec645/ui/src/main/java/net/sf/taverna/t2/lang/ui/EdgeLineBorder.java
----------------------------------------------------------------------
diff --git a/ui/src/main/java/net/sf/taverna/t2/lang/ui/EdgeLineBorder.java b/ui/src/main/java/net/sf/taverna/t2/lang/ui/EdgeLineBorder.java
new file mode 100644
index 0000000..f49faa1
--- /dev/null
+++ b/ui/src/main/java/net/sf/taverna/t2/lang/ui/EdgeLineBorder.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (C) 2013 The University of Manchester
+ *
+ *  Modifications to the initial code base are copyright of their
+ *  respective authors, or their employers as appropriate.
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public License
+ *  as published by the Free Software Foundation; either version 2.1 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ ******************************************************************************/
+package net.sf.taverna.t2.lang.ui;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Graphics;
+import java.awt.Insets;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.border.Border;
+import javax.swing.border.LineBorder;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+public class EdgeLineBorder implements Border {
+
+	public static final int TOP = 1;
+	public static final int BOTTOM = 2;
+	public static final int LEFT = 3;
+	public static final int RIGHT = 4;
+	private final int edge;
+	private final Color color;
+
+	public EdgeLineBorder(int edge, Color color) {
+		this.edge = edge;
+		this.color = color;
+	}
+
+	@Override
+	public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
+		Color oldColor = g.getColor();
+		g.setColor(color);
+		switch (edge) {
+		case TOP:
+			g.drawLine(x, y, x+width, y);
+			break;
+		case BOTTOM:
+			g.drawLine(x, y+height-2, x+width, y+height-2);
+			break;
+		case LEFT:
+			g.drawLine(x, y, x+width, y+height);
+			break;
+		case RIGHT:
+			g.drawLine(x+width, y, x+width, y+height);
+			break;
+		}
+		g.setColor(oldColor);
+	}
+
+	@Override
+	public Insets getBorderInsets(Component c) {
+		return new Insets(0, 0, 0, 0);
+	}
+
+	@Override
+	public boolean isBorderOpaque() {
+		return false;
+	}
+
+	public static void main(String[] args) {
+		JFrame frame = new JFrame();
+		frame.setSize(500, 500);
+		JPanel panel = new JPanel();
+		panel.setBorder(new EdgeLineBorder(TOP, Color.GRAY));
+		frame.add(panel);
+		frame.setVisible(true);
+	}
+}