Skip to content

Commit 117879c

Browse files
committed
use JSplitPane on mastermap dialog
1 parent 5710bdb commit 117879c

File tree

4 files changed

+38
-28
lines changed

4 files changed

+38
-28
lines changed

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/mastermap/MasterDetailDialogPage.java

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.awt.CardLayout;
77
import java.awt.Color;
88
import java.awt.Component;
9+
import java.awt.FlowLayout;
910
import java.io.File;
1011
import java.util.Arrays;
1112
import java.util.Iterator;
@@ -24,6 +25,8 @@
2425
import javax.swing.JOptionPane;
2526
import javax.swing.JPanel;
2627
import javax.swing.JScrollPane;
28+
import javax.swing.JSplitPane;
29+
import javax.swing.LayoutStyle;
2730
import javax.swing.ListCellRenderer;
2831
import javax.swing.ListModel;
2932
import javax.swing.ListSelectionModel;
@@ -199,35 +202,27 @@ private JPanel createDataSetPanel() {
199202
distinctEdgesCheckbox = new JCheckBox("Create separate edges for each dataset");
200203
SwingUtil.makeSmall(distinctEdgesCheckbox);
201204

202-
JPanel panel = new JPanel();
203-
GroupLayout layout = new GroupLayout(panel);
204-
panel.setLayout(layout);
205-
layout.setAutoCreateGaps(true);
206-
layout.setAutoCreateContainerGaps(true);
207-
208-
layout.setHorizontalGroup(
209-
layout.createSequentialGroup()
210-
.addGroup(layout.createParallelGroup()
211-
.addComponent(titlePanel)
212-
.addComponent(scrollPane, 250, 250, 250)
213-
)
214-
.addGroup(layout.createParallelGroup()
215-
.addComponent(distinctEdgesCheckbox, Alignment.TRAILING)
216-
.addComponent(dataSetDetailPanel, 0, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE)
217-
)
218-
);
205+
JPanel checkboxPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0));
206+
checkboxPanel.add(distinctEdgesCheckbox);
219207

220-
layout.setVerticalGroup(
221-
layout.createSequentialGroup()
222-
.addGroup(layout.createParallelGroup(Alignment.TRAILING)
223-
.addComponent(titlePanel)
224-
.addComponent(distinctEdgesCheckbox)
225-
)
226-
.addGroup(layout.createParallelGroup()
227-
.addComponent(scrollPane)
228-
.addComponent(dataSetDetailPanel)
229-
)
230-
);
208+
// Make the NORTH area of both panels the same size
209+
titlePanel.doLayout();
210+
checkboxPanel.setPreferredSize(titlePanel.getPreferredSize());
211+
212+
JPanel leftPanel = new JPanel(new BorderLayout());
213+
leftPanel.add(titlePanel, BorderLayout.NORTH);
214+
leftPanel.add(scrollPane, BorderLayout.CENTER);
215+
216+
JPanel rightPanel = new JPanel(new BorderLayout());
217+
rightPanel.add(checkboxPanel, BorderLayout.NORTH);
218+
rightPanel.add(dataSetDetailPanel, BorderLayout.CENTER);
219+
220+
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel);
221+
splitPane.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
222+
splitPane.setResizeWeight(0.3);
223+
224+
JPanel panel = new JPanel(new BorderLayout());
225+
panel.add(splitPane, BorderLayout.CENTER);
231226

232227
return panel;
233228
}
@@ -253,6 +248,7 @@ private JPanel createTitlePanel() {
253248

254249
layout.setHorizontalGroup(layout.createSequentialGroup()
255250
.addComponent(label)
251+
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
256252
.addComponent(scanButton)
257253
.addComponent(addButton)
258254
.addComponent(deleteButton)

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/mastermap/MasterMapDialogParameters.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public Dimension getPreferredSize() {
5252
return new Dimension(750, 700);
5353
}
5454

55+
@Override
56+
public Dimension getMinimumSize() {
57+
return new Dimension(650, 500);
58+
}
59+
5560
@Override
5661
public Icon getIcon() {
5762
URL iconURL = AboutDialog.class.getResource("enrichmentmap_logo.png");

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/util/CardDialog.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import java.awt.BorderLayout;
77
import java.awt.CardLayout;
8+
import java.awt.Dimension;
89
import java.awt.event.ActionEvent;
910
import java.util.List;
1011

@@ -60,6 +61,10 @@ public boolean isVisible() {
6061
private void createComponents() {
6162
dialog.setLayout(new BorderLayout());
6263
dialog.setPreferredSize(params.getPreferredSize());
64+
Dimension minimumSize = params.getMinimumSize();
65+
if(minimumSize != null) {
66+
dialog.setMinimumSize(minimumSize);
67+
}
6368
dialog.setTitle(params.getTitle());
6469

6570
// Create message and button panel first because the controller can call callbacks from inside createBodyPanel()

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/util/CardDialogParameters.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ default Dimension getPreferredSize() {
2828
return new Dimension(400, 300);
2929
}
3030

31+
default Dimension getMinimumSize() {
32+
return null;
33+
}
34+
3135
/**
3236
* Return a list of extra buttons, that will go in the bottom left area of the button bar.
3337
* An ActionListener will be attached to each button that will call

0 commit comments

Comments
 (0)