Skip to content

Commit a05f01c

Browse files
add GradientToolbar.java generated by Xtend 2.20.0
1 parent 5873dc4 commit a05f01c

File tree

1 file changed

+79
-69
lines changed

1 file changed

+79
-69
lines changed
Lines changed: 79 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright 2019 Philipp Salvisberg <philipp.salvisberg@trivadis.com>
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,73 +13,83 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package org.utplsql.sqldev.ui.runner
16+
package org.utplsql.sqldev.ui.runner;
1717

18-
import java.awt.Color
19-
import java.awt.GradientPaint
20-
import java.awt.Graphics
21-
import java.awt.Graphics2D
22-
import java.awt.Insets
23-
import javax.swing.JToolBar
24-
import javax.swing.UIManager
25-
import javax.swing.border.BevelBorder
26-
import javax.swing.border.EmptyBorder
18+
import com.google.common.base.Objects;
19+
import java.awt.Color;
20+
import java.awt.GradientPaint;
21+
import java.awt.Graphics;
22+
import java.awt.Graphics2D;
23+
import java.awt.Insets;
24+
import javax.swing.JToolBar;
25+
import javax.swing.LookAndFeel;
26+
import javax.swing.UIManager;
27+
import javax.swing.border.BevelBorder;
28+
import javax.swing.border.EmptyBorder;
2729

28-
class GradientToolbar extends JToolBar {
29-
30-
private def isOracleLookAndFeel() {
31-
val laf = UIManager.lookAndFeel?.name
32-
if (laf == "Oracle Look and Feel version 2") {
33-
return true
34-
} else {
35-
return false
36-
}
37-
}
38-
39-
new() {
40-
super()
41-
if (oracleLookAndFeel) {
42-
this.border = new EmptyBorder(new Insets(2, 2, 2, 2)) // top, left, bottom, right
43-
} else {
44-
this.border = new BevelBorder(BevelBorder.RAISED)
45-
}
46-
}
47-
48-
override paintComponent(Graphics g) {
49-
if (oracleLookAndFeel) {
50-
// emulate Oracle toolbar
51-
// 1. default for non-opaque components
52-
if (!opaque) {
53-
super.paintComponent(g)
54-
return
55-
}
56-
57-
// 2. paint gradient background from top to bottom with separator line at the bottom
58-
val g2d = g as Graphics2D
59-
val w = width
60-
val h = height - 1
61-
val int h2 = height / 2
62-
val colorTop = new Color(237, 237, 237)
63-
val colorMiddle = new Color(244, 244, 244)
64-
val colorBottom = new Color(254, 254, 254)
65-
val colorBottomLine = Color.LIGHT_GRAY
66-
val gp1 = new GradientPaint(0, 0, colorTop, 0, h2, colorMiddle)
67-
g2d.paint = gp1
68-
g2d.fillRect(0, 0, w, h2)
69-
val gp2 = new GradientPaint(0, h2, colorMiddle, 0, h, colorBottom)
70-
g2d.paint = gp2
71-
g2d.fillRect(0, h2, w, h)
72-
g2d.paint = colorBottomLine
73-
g2d.fillRect(0, h, w, h+1)
74-
75-
// 3. do rest, changing opaque to ensure background is not overwritten
76-
setOpaque(false)
77-
super.paintComponent(g)
78-
setOpaque(true)
79-
} else {
80-
// default logic
81-
super.paintComponent(g)
82-
}
83-
}
84-
85-
}
30+
@SuppressWarnings("all")
31+
public class GradientToolbar extends JToolBar {
32+
private boolean isOracleLookAndFeel() {
33+
LookAndFeel _lookAndFeel = UIManager.getLookAndFeel();
34+
String _name = null;
35+
if (_lookAndFeel!=null) {
36+
_name=_lookAndFeel.getName();
37+
}
38+
final String laf = _name;
39+
boolean _equals = Objects.equal(laf, "Oracle Look and Feel version 2");
40+
if (_equals) {
41+
return true;
42+
} else {
43+
return false;
44+
}
45+
}
46+
47+
public GradientToolbar() {
48+
super();
49+
boolean _isOracleLookAndFeel = this.isOracleLookAndFeel();
50+
if (_isOracleLookAndFeel) {
51+
Insets _insets = new Insets(2, 2, 2, 2);
52+
EmptyBorder _emptyBorder = new EmptyBorder(_insets);
53+
this.setBorder(_emptyBorder);
54+
} else {
55+
BevelBorder _bevelBorder = new BevelBorder(BevelBorder.RAISED);
56+
this.setBorder(_bevelBorder);
57+
}
58+
}
59+
60+
@Override
61+
public void paintComponent(final Graphics g) {
62+
boolean _isOracleLookAndFeel = this.isOracleLookAndFeel();
63+
if (_isOracleLookAndFeel) {
64+
boolean _isOpaque = this.isOpaque();
65+
boolean _not = (!_isOpaque);
66+
if (_not) {
67+
super.paintComponent(g);
68+
return;
69+
}
70+
final Graphics2D g2d = ((Graphics2D) g);
71+
final int w = this.getWidth();
72+
int _height = this.getHeight();
73+
final int h = (_height - 1);
74+
int _height_1 = this.getHeight();
75+
final int h2 = (_height_1 / 2);
76+
final Color colorTop = new Color(237, 237, 237);
77+
final Color colorMiddle = new Color(244, 244, 244);
78+
final Color colorBottom = new Color(254, 254, 254);
79+
final Color colorBottomLine = Color.LIGHT_GRAY;
80+
final GradientPaint gp1 = new GradientPaint(0, 0, colorTop, 0, h2, colorMiddle);
81+
g2d.setPaint(gp1);
82+
g2d.fillRect(0, 0, w, h2);
83+
final GradientPaint gp2 = new GradientPaint(0, h2, colorMiddle, 0, h, colorBottom);
84+
g2d.setPaint(gp2);
85+
g2d.fillRect(0, h2, w, h);
86+
g2d.setPaint(colorBottomLine);
87+
g2d.fillRect(0, h, w, (h + 1));
88+
this.setOpaque(false);
89+
super.paintComponent(g);
90+
this.setOpaque(true);
91+
} else {
92+
super.paintComponent(g);
93+
}
94+
}
95+
}

0 commit comments

Comments
 (0)