Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,13 @@ private void createUserInterface() {
// use MigLayout as the layout manager
setLayout(new MigLayout(
"insets 10 10 10 10",
"[]20[]",
"[grow, fill]",
"[]10[]"
));

// main control area
final int width = 900;
final int height = 600;
final int width = 920;
final int height = 620;
tabPanel_ = new TabPanel(model_, this, width, height);

// add ui elements to the panel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.micromanager.internal.dialogs.ComponentTitledBorder;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;

public class Panel extends JPanel {
Expand All @@ -16,7 +17,6 @@ public Panel() {
setMigLayout("", "", "");
}

// TODO: do i need this?
public Panel(final String text) {
setMigLayout("", "", "");
final TitledBorder titledBorder = BorderFactory.createTitledBorder(
Expand All @@ -26,7 +26,6 @@ public Panel(final String text) {
setBorder(titledBorder);
}

// TODO: maybe parameterize font options and use static factory methods?
public Panel(final String text, int side) { // side = TitledBorder.CENTER, etc
setMigLayout("", "", "");
final TitledBorder titledBorder = BorderFactory.createTitledBorder(
Expand Down Expand Up @@ -61,4 +60,11 @@ public void setMigLayout(final String layout, final String cols, final String ro
setLayout(new MigLayout(layout, cols, rows));
}

public void setAbsoluteSize(final int width, final int height) {
final Dimension size = new Dimension(width, height);
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
}

}
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package org.micromanager.lightsheetmanager.gui.tabs;

import java.awt.Dimension;
import java.lang.reflect.InvocationTargetException;
import java.util.concurrent.Future;
import javax.swing.SwingUtilities;
import org.micromanager.lightsheetmanager.LightSheetManagerFrame;
import org.micromanager.lightsheetmanager.api.data.GeometryType;
import org.micromanager.lightsheetmanager.api.internal.DefaultAcquisitionSettingsSCAPE;
import org.micromanager.lightsheetmanager.gui.components.ListeningPanel;
import org.micromanager.lightsheetmanager.gui.data.Icons;
Expand Down Expand Up @@ -91,8 +89,8 @@ private void createUserInterface() {
final DefaultAcquisitionSettingsSCAPE acqSettings = model_.acquisitions().settings();

setMigLayout(
"insets 10 10 10 10",
"[]5[]",
"insets 10 10 10 10, ax center",
"[300!]8[pref!]8[300!]",
"[]5[]"
);

Expand All @@ -101,9 +99,13 @@ private void createUserInterface() {
final Panel pnlCenter = new Panel();
pnlRight_ = new Panel();

// durations
pnlDurations_ = new VolumeDurationPanel(model_);
pnlCenter.setMigLayout(
"",
"",
"[]10[]"
);

pnlDurations_ = new VolumeDurationPanel(model_);
pnlVolumeSettings_ = new VolumeSettingsPanel(model_);

// switch between these two panels
Expand All @@ -129,8 +131,8 @@ private void createUserInterface() {
// acquisition buttons
pnlButtons_ = new Panel();
pnlButtons_.setMigLayout(
"",
"[]24[]",
"center",
"[]26[]",
""
);

Expand All @@ -147,27 +149,24 @@ private void createUserInterface() {
);
btnPauseAcquisition_.setEnabled(false);

Button.setDefaultSize(120, 30);
btnTestAcquisition_ = new Button("Test Acquisition");
btnOpenPlaylist_ = new Button("Playlist...");
btnSpeedTest_ = new Button("Speed test");
btnTestAcquisition_ = new Button("Test Acquisition", 120, 30);
btnOpenPlaylist_ = new Button("Playlist...", 120, 30);
btnSpeedTest_ = new Button("Speed test", 120, 30);

Button.setDefaultSize(140, 30);
btnRunOverviewAcq_ = new Button("Overview Acquisition");
btnRunOverviewAcq_ = new Button("Overview Acquisition", 140, 30);

final boolean isUsingChannels = acqSettings.isUsingChannels();
cbxUseChannels_ = new CheckBox("Channels", isUsingChannels);
pnlChannelTable_ = new ChannelTablePanel(model_, cbxUseChannels_);
pnlChannelTable_.setMaximumSize(new Dimension(270, 400));

// disable elements based on acqSettings
pnlChannelTable_.setItemsEnabled(isUsingChannels);

// acquisition mode combo box
final boolean isUsingScanSettings = model_.devices().isUsingStageScanning();
final GeometryType geometryType = model_.devices().adapter().geometry();
cmbAcquisitionModes_ = new ComboBox<>(
AcquisitionMode.modesByType(geometryType, isUsingScanSettings),
AcquisitionMode.modesByType(
model_.devices().adapter().geometry(),
model_.devices().isUsingStageScanning()),
acqSettings.acquisitionMode(),
180, 24);

Expand All @@ -177,6 +176,11 @@ private void createUserInterface() {
btnRunOverviewAcq_.setEnabled(false); // TODO: re-enable when these features are put in
btnTestAcquisition_.setEnabled(false);

// set ui sizes, should match the MigLayout constraints
pnlChannelTable_.setAbsoluteSize(280, 400);
pnlLeft.setAbsoluteSize(300, 420);
pnlRight_.setAbsoluteSize(300, 420);

// acquisition buttons
pnlButtons_.add(btnRunAcquisition_, "");
pnlButtons_.add(btnPauseAcquisition_, "");
Expand All @@ -195,25 +199,17 @@ private void createUserInterface() {
pnlCenter.add(new JLabel("Acquisition mode:"), "split 2");
pnlCenter.add(cmbAcquisitionModes_, "");

final boolean isUsingAdvSettings =
model_.acquisitions().settings().isUsingAdvancedTiming();

pnlRight_.add(pnlVolumeSettings_, "growx, wrap");
if (isUsingAdvSettings) {
pnlRight_.add(pnlAdvancedTiming_, "growx, wrap");
} else {
pnlRight_.add(pnlSliceSettings_, "growx, wrap");
}
pnlRight_.add(model_.acquisitions().settings().isUsingAdvancedTiming() ?
pnlAdvancedTiming_ : pnlSliceSettings_, "growx, wrap");
pnlRight_.add(cbxUseAdvancedTiming_, "growx");

// TODO: consider putting durations into the model, since recalculating the slice timing shouldn't happen here
// includes calculating the slice timing
//updateDurationLabels();
// add panels
add(pnlLeft, "aligny top");
add(pnlCenter, "aligny top");
add(pnlRight_, "aligny top, wrap");

add(pnlLeft, "");
add(pnlCenter, "");
add(pnlRight_, "wrap");
add(pnlButtons_, "span 3, gaptop 60");
add(pnlButtons_, "span 3, growx, center, pushy, aligny bottom");
}

/**
Expand Down Expand Up @@ -290,19 +286,14 @@ private void createEventHandlers() {
/**
* Switch between slice timing panel and advanced timing panel.
*
* @param state the state of the CheckBox
* @param useAdvancedTiming {@code true} to swap to the advanced timing panel
*/
private void swapTimingSettingsPanels(final boolean state) {
private void swapTimingSettingsPanels(final boolean useAdvancedTiming) {
pnlRight_.removeAll();
if (state) {
pnlRight_.add(pnlVolumeSettings_, "growx, wrap");
pnlRight_.add(pnlAdvancedTiming_, "growx, wrap");
pnlRight_.add(cbxUseAdvancedTiming_, "growx");
} else {
pnlRight_.add(pnlVolumeSettings_, "growx, wrap");
pnlRight_.add(pnlSliceSettings_, "growx, wrap");
pnlRight_.add(cbxUseAdvancedTiming_, "growx");
}
pnlRight_.add(pnlVolumeSettings_, "growx, wrap");
pnlRight_.add(useAdvancedTiming ?
pnlAdvancedTiming_ : pnlSliceSettings_, "growx, wrap");
pnlRight_.add(cbxUseAdvancedTiming_, "growx");
pnlRight_.revalidate();
pnlRight_.repaint();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ public AdvancedTimingPanel(final LightSheetManager model) {

private void createUserInterface() {
setMigLayout(
"insets 10 10 10 10",
"",
"[]5[]"
"insets 10 10 10 10, fillx",
"[grow, left] 10 [right]",
"[]5[]"
);

final Label lblDelayBeforeScan = new Label("Delay Before Scan [ms]: ");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ public SliceSettingsPanel(final LightSheetManager model) {
}

private void createUserInterface() {
setMigLayout(
"insets 10 10 10 10, fillx",
"[grow, left] 10 [right]",
"[]5[]"
);

final DefaultSliceSettingsLS sliceSettingsLS = model_.acquisitions()
.settings().sliceSettingsLS();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import org.micromanager.lightsheetmanager.gui.components.Panel;
import org.micromanager.lightsheetmanager.gui.components.Spinner;

import java.util.ArrayList;
import java.util.Objects;

public class VolumeSettingsPanel extends Panel {
Expand All @@ -30,8 +29,13 @@ public VolumeSettingsPanel(final LightSheetManager model) {
}

private void createUserInterface() {
final GeometryType geometryType = model_.devices().adapter().geometry();
setMigLayout(
"insets 10 10 10 10, fillx",
"[grow, left] 10 [right]",
"[]5[]"
);

final GeometryType geometryType = model_.devices().adapter().geometry();
final int numImagingPaths = model_.devices().adapter().numImagingPaths();

final DefaultVolumeSettings volumeSettings = model_.acquisitions()
Expand Down
Loading