Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit cb5c70b

Browse filesBrowse files
author
hborders
committed
Added com.sun.max.gui package from Maxine Base.
This should fix com.sun.max.program.option.gui.
1 parent 040a7a1 commit cb5c70b
Copy full SHA for cb5c70b

4 files changed

+451Lines changed: 451 additions & 0 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file
+34Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
3+
*
4+
* Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product
5+
* that is described in this document. In particular, and without limitation, these intellectual property
6+
* rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or
7+
* more additional patents or pending patent applications in the U.S. and in other countries.
8+
*
9+
* U.S. Government Rights - Commercial software. Government users are subject to the Sun
10+
* Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its
11+
* supplements.
12+
*
13+
* Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or
14+
* registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks
15+
* are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the
16+
* U.S. and other countries.
17+
*
18+
* UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open
19+
* Company, Ltd.
20+
*/
21+
package com.sun.max.gui;
22+
23+
import com.sun.max.*;
24+
25+
/**
26+
* This package is not included in the bootstrap as it would drag in most of Swing.
27+
*
28+
* @author Doug Simon
29+
*/
30+
public class Package extends MaxPackage {
31+
public Package() {
32+
super();
33+
}
34+
}
Collapse file
+222Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
/*
2+
* Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
3+
*
4+
* Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product
5+
* that is described in this document. In particular, and without limitation, these intellectual property
6+
* rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or
7+
* more additional patents or pending patent applications in the U.S. and in other countries.
8+
*
9+
* U.S. Government Rights - Commercial software. Government users are subject to the Sun
10+
* Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its
11+
* supplements.
12+
*
13+
* Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or
14+
* registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks
15+
* are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the
16+
* U.S. and other countries.
17+
*
18+
* UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open
19+
* Company, Ltd.
20+
*/
21+
package com.sun.max.gui;
22+
23+
import java.awt.*;
24+
25+
import javax.swing.*;
26+
/**
27+
* Partially copied from the "Swing Tutorial".
28+
* Minor changes to comply with our CheckStyle settings.
29+
*
30+
* A 1.4 file that provides utility methods for
31+
* creating form- or grid-style layouts with SpringLayout.
32+
* These utilities are used by several programs, such as
33+
* SpringBox and SpringCompactGrid.
34+
*
35+
* @author original SpringUtilities author
36+
* @author Bernd Mathiske
37+
*/
38+
public final class SpringUtilities {
39+
private SpringUtilities() {
40+
}
41+
42+
/**
43+
* A debugging utility that prints to stdout the component's
44+
* minimum, preferred, and maximum sizes.
45+
*/
46+
public static void printSizes(Component c) {
47+
System.out.println("minimumSize = " + c.getMinimumSize());
48+
System.out.println("preferredSize = " + c.getPreferredSize());
49+
System.out.println("maximumSize = " + c.getMaximumSize());
50+
}
51+
52+
/**
53+
* Aligns the first {@code rows} * {@code cols}
54+
* components of {@code parent} in
55+
* a grid. Each component is as big as the maximum
56+
* preferred width and height of the components.
57+
* The parent is made just big enough to fit them all.
58+
*
59+
* @param rows number of rows
60+
* @param cols number of columns
61+
* @param initialX x location to start the grid at
62+
* @param initialY y location to start the grid at
63+
* @param xPad x padding between cells
64+
* @param yPad y padding between cells
65+
*/
66+
public static void makeGrid(Container parent,
67+
int rows, int cols,
68+
int initialX, int initialY,
69+
int xPad, int yPad) {
70+
SpringLayout layout;
71+
try {
72+
layout = (SpringLayout) parent.getLayout();
73+
} catch (ClassCastException exc) {
74+
System.err.println("The first argument to makeGrid must use SpringLayout.");
75+
return;
76+
}
77+
78+
final Spring xPadSpring = Spring.constant(xPad);
79+
final Spring yPadSpring = Spring.constant(yPad);
80+
final Spring initialXSpring = Spring.constant(initialX);
81+
final Spring initialYSpring = Spring.constant(initialY);
82+
final int max = rows * cols;
83+
84+
//Calculate Springs that are the max of the width/height so that all
85+
//cells have the same size.
86+
Spring maxWidthSpring = layout.getConstraints(parent.getComponent(0)).
87+
getWidth();
88+
Spring maxHeightSpring = layout.getConstraints(parent.getComponent(0)).
89+
getWidth();
90+
for (int i = 1; i < max; i++) {
91+
final SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i));
92+
93+
maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth());
94+
maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight());
95+
}
96+
97+
//Apply the new width/height Spring. This forces all the
98+
//components to have the same size.
99+
for (int i = 0; i < max; i++) {
100+
final SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i));
101+
102+
cons.setWidth(maxWidthSpring);
103+
cons.setHeight(maxHeightSpring);
104+
}
105+
106+
//Then adjust the x/y constraints of all the cells so that they
107+
//are aligned in a grid.
108+
SpringLayout.Constraints lastCons = null;
109+
SpringLayout.Constraints lastRowCons = null;
110+
for (int i = 0; i < max; i++) {
111+
final SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i));
112+
if (i % cols == 0) { //start of new row
113+
lastRowCons = lastCons;
114+
cons.setX(initialXSpring);
115+
} else if (lastCons != null) { //x position depends on previous component
116+
cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST),
117+
xPadSpring));
118+
}
119+
120+
if (i / cols == 0) { //first row
121+
cons.setY(initialYSpring);
122+
} else if (lastRowCons != null) { //y position depends on previous row
123+
cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH),
124+
yPadSpring));
125+
}
126+
lastCons = cons;
127+
}
128+
129+
//Set the parent's size.
130+
final SpringLayout.Constraints pCons = layout.getConstraints(parent);
131+
if (lastCons != null) {
132+
pCons.setConstraint(SpringLayout.SOUTH, Spring.sum(Spring.constant(yPad), lastCons.getConstraint(SpringLayout.SOUTH)));
133+
pCons.setConstraint(SpringLayout.EAST, Spring.sum(Spring.constant(xPad), lastCons.getConstraint(SpringLayout.EAST)));
134+
}
135+
}
136+
137+
public static void makeGrid(Container parent, int numberOfColumns) {
138+
makeGrid(parent, parent.getComponentCount() / numberOfColumns, numberOfColumns, 0, 0, 5, 5);
139+
}
140+
141+
/* Used by makeCompactGrid. */
142+
private static SpringLayout.Constraints getConstraintsForCell(
143+
int row, int col,
144+
Container parent,
145+
int cols) {
146+
final SpringLayout layout = (SpringLayout) parent.getLayout();
147+
final Component c = parent.getComponent(row * cols + col);
148+
return layout.getConstraints(c);
149+
}
150+
151+
/**
152+
* Aligns the first {@code rows} * {@code cols}
153+
* components of {@code parent} in
154+
* a grid. Each component in a column is as wide as the maximum
155+
* preferred width of the components in that column;
156+
* height is similarly determined for each row.
157+
* The parent is made just big enough to fit them all.
158+
*
159+
* @param rows number of rows
160+
* @param cols number of columns
161+
* @param initialX x location to start the grid at
162+
* @param initialY y location to start the grid at
163+
* @param xPad x padding between cells
164+
* @param yPad y padding between cells
165+
*/
166+
public static void makeCompactGrid(Container parent,
167+
int rows, int cols,
168+
int initialX, int initialY,
169+
int xPad, int yPad) {
170+
SpringLayout layout;
171+
try {
172+
layout = (SpringLayout) parent.getLayout();
173+
} catch (ClassCastException exc) {
174+
System.err.println("The first argument to makeCompactGrid must use SpringLayout.");
175+
return;
176+
}
177+
178+
//Align all cells in each column and make them the same width.
179+
Spring x = Spring.constant(initialX);
180+
for (int c = 0; c < cols; c++) {
181+
Spring width = Spring.constant(0);
182+
for (int r = 0; r < rows; r++) {
183+
width = Spring.max(width,
184+
getConstraintsForCell(r, c, parent, cols).
185+
getWidth());
186+
}
187+
for (int r = 0; r < rows; r++) {
188+
final SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols);
189+
constraints.setX(x);
190+
constraints.setWidth(width);
191+
}
192+
x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad)));
193+
}
194+
195+
//Align all cells in each row and make them the same height.
196+
Spring y = Spring.constant(initialY);
197+
for (int r = 0; r < rows; r++) {
198+
Spring height = Spring.constant(0);
199+
for (int c = 0; c < cols; c++) {
200+
height = Spring.max(height,
201+
getConstraintsForCell(r, c, parent, cols).
202+
getHeight());
203+
}
204+
for (int c = 0; c < cols; c++) {
205+
final SpringLayout.Constraints constraints = getConstraintsForCell(r, c, parent, cols);
206+
constraints.setY(y);
207+
constraints.setHeight(height);
208+
}
209+
y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad)));
210+
}
211+
212+
//Set the parent's size.
213+
final SpringLayout.Constraints pCons = layout.getConstraints(parent);
214+
pCons.setConstraint(SpringLayout.SOUTH, y);
215+
pCons.setConstraint(SpringLayout.EAST, x);
216+
}
217+
218+
public static void makeCompactGrid(Container parent, int numberOfColumns) {
219+
makeCompactGrid(parent, parent.getComponentCount() / numberOfColumns, numberOfColumns, 0, 0, 3, 3);
220+
}
221+
222+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.