mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-25 16:42:27 +00:00
Fix bugs in detection display
This commit is contained in:
parent
aa686cac5e
commit
c01e966eaf
@ -1,10 +1,12 @@
|
|||||||
package PamView.symbol.modifier.swing;
|
package PamView.symbol.modifier.swing;
|
||||||
|
|
||||||
|
import java.awt.Insets;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
import javax.swing.tree.TreeNode;
|
import javax.swing.tree.TreeNode;
|
||||||
|
|
||||||
import PamView.dialog.GenericSwingDialog;
|
import PamView.dialog.GenericSwingDialog;
|
||||||
@ -25,6 +27,10 @@ public class OptionsTreeNode implements TreeNode {
|
|||||||
this.optionsPanel = optionsPanel;
|
this.optionsPanel = optionsPanel;
|
||||||
this.leafIndex = leafIndex;
|
this.leafIndex = leafIndex;
|
||||||
optionsButton = new JButton("more ...");
|
optionsButton = new JButton("more ...");
|
||||||
|
Insets insets = optionsButton.getInsets();
|
||||||
|
if (insets == null) insets = new Insets(0,0,0,0);
|
||||||
|
insets.bottom = insets.top = insets.left = 1;
|
||||||
|
optionsButton.setBorder(new EmptyBorder(insets));
|
||||||
optionsButton.setToolTipText("More symbol options");
|
optionsButton.setToolTipText("More symbol options");
|
||||||
optionsButton.addActionListener(new ActionListener() {
|
optionsButton.addActionListener(new ActionListener() {
|
||||||
|
|
||||||
|
@ -18,12 +18,10 @@ import javax.swing.tree.TreePath;
|
|||||||
|
|
||||||
import PamView.dialog.DialogScrollPane;
|
import PamView.dialog.DialogScrollPane;
|
||||||
import PamView.dialog.PamDialogPanel;
|
import PamView.dialog.PamDialogPanel;
|
||||||
import PamView.symbol.PamSymbolChooser;
|
|
||||||
import PamView.symbol.StandardSymbolChooser;
|
import PamView.symbol.StandardSymbolChooser;
|
||||||
import PamView.symbol.StandardSymbolOptions;
|
import PamView.symbol.StandardSymbolOptions;
|
||||||
import PamView.symbol.modifier.SymbolModifier;
|
import PamView.symbol.modifier.SymbolModifier;
|
||||||
import PamView.symbol.modifier.SymbolModifierParams;
|
import PamView.symbol.modifier.SymbolModifierParams;
|
||||||
import PamguardMVC.debug.Debug;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Panel to include in a dialog with options to select and activate a variety of symbol modifiers.
|
* Panel to include in a dialog with options to select and activate a variety of symbol modifiers.
|
||||||
|
@ -254,6 +254,10 @@ public class PamGuiTabFX extends PamTabFX {
|
|||||||
|
|
||||||
int smallWindows = 0;
|
int smallWindows = 0;
|
||||||
|
|
||||||
|
|
||||||
|
//the padding between windows
|
||||||
|
double padding = 10;
|
||||||
|
|
||||||
ArrayList<PamGuiInternalPane> dw = internalPanes;
|
ArrayList<PamGuiInternalPane> dw = internalPanes;
|
||||||
|
|
||||||
if (dw.size() == 0) return;
|
if (dw.size() == 0) return;
|
||||||
@ -268,7 +272,9 @@ public class PamGuiTabFX extends PamTabFX {
|
|||||||
|
|
||||||
//now place windows in correct position
|
//now place windows in correct position
|
||||||
//large windows
|
//large windows
|
||||||
double x, y, w, h = 0;
|
double x, y, w, h = 0.;
|
||||||
|
double pad =0.;
|
||||||
|
|
||||||
if (largeWindows > 0) {
|
if (largeWindows > 0) {
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 0;
|
y = 0;
|
||||||
@ -284,7 +290,10 @@ public class PamGuiTabFX extends PamTabFX {
|
|||||||
if (dw.get(i).getUserDisplayNode().isMinorDisplay()== true) continue;
|
if (dw.get(i).getUserDisplayNode().isMinorDisplay()== true) continue;
|
||||||
|
|
||||||
dw.get(i).setPaneLayout(x, y);
|
dw.get(i).setPaneLayout(x, y);
|
||||||
dw.get(i).setPaneSize(w, h);
|
|
||||||
|
//set the padding if the pane is not the last pane.
|
||||||
|
pad = (i== dw.size()-1) ? 0 : padding;
|
||||||
|
dw.get(i).setPaneSize(w - (horz? pad:0), h - (horz? 0:pad));
|
||||||
if (horz) x += w;
|
if (horz) x += w;
|
||||||
else y += h;
|
else y += h;
|
||||||
}
|
}
|
||||||
@ -307,7 +316,10 @@ public class PamGuiTabFX extends PamTabFX {
|
|||||||
for (int i = 0; i < dw.size(); i++) {
|
for (int i = 0; i < dw.size(); i++) {
|
||||||
if (dw.get(i).getUserDisplayNode().isMinorDisplay() == false) continue;
|
if (dw.get(i).getUserDisplayNode().isMinorDisplay() == false) continue;
|
||||||
dw.get(i).setPaneLayout(x, y);
|
dw.get(i).setPaneLayout(x, y);
|
||||||
dw.get(i).setPaneSize(w, h);
|
|
||||||
|
//set the padding if the pane is not the last pane.
|
||||||
|
pad = (i== dw.size()-1) ? 0 : padding;
|
||||||
|
dw.get(i).setPaneSize(w- (horz? pad:0), h - (horz? 0:pad));
|
||||||
if (horz) x += w;
|
if (horz) x += w;
|
||||||
else y +=h;
|
else y +=h;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package pamViewFX.fxPlotPanes;
|
package pamViewFX.fxPlotPanes;
|
||||||
|
|
||||||
import Layout.PamAxis;
|
import Layout.PamAxis;
|
||||||
|
import javafx.beans.binding.Bindings;
|
||||||
|
import javafx.beans.property.SimpleDoubleProperty;
|
||||||
|
import javafx.beans.value.ObservableValue;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.canvas.Canvas;
|
import javafx.scene.canvas.Canvas;
|
||||||
@ -256,13 +259,31 @@ public class PlotPane extends PamBorderPane {
|
|||||||
PamHBox horzHolder=new PamHBox();
|
PamHBox horzHolder=new PamHBox();
|
||||||
|
|
||||||
Pane leftPane=new Pane();
|
Pane leftPane=new Pane();
|
||||||
|
|
||||||
|
//create an observable which is the size of the axis pane if the pane is visible and otherwise
|
||||||
|
//is zero.
|
||||||
|
ObservableValue<Number> valLeft = Bindings
|
||||||
|
.when(yAxisLeftPane.visibleProperty())
|
||||||
|
.then(yAxisLeftPane.widthProperty())
|
||||||
|
.otherwise(
|
||||||
|
new SimpleDoubleProperty(0.)
|
||||||
|
);
|
||||||
|
|
||||||
//need both min and pref to make binding work properly;
|
//need both min and pref to make binding work properly;
|
||||||
leftPane.prefWidthProperty().bind(yAxisLeftPane.widthProperty());
|
leftPane.prefWidthProperty().bind(valLeft);
|
||||||
leftPane.minWidthProperty().bind(yAxisLeftPane.widthProperty());
|
leftPane.minWidthProperty().bind(valLeft);
|
||||||
|
|
||||||
Pane rightPane=new Pane();
|
Pane rightPane=new Pane();
|
||||||
rightPane.prefWidthProperty().bind(yAxisRightPane.widthProperty());
|
|
||||||
rightPane.minWidthProperty().bind(yAxisRightPane.widthProperty());
|
ObservableValue<Number> valRight = Bindings
|
||||||
|
.when(yAxisRightPane.visibleProperty())
|
||||||
|
.then(yAxisRightPane.widthProperty())
|
||||||
|
.otherwise(
|
||||||
|
new SimpleDoubleProperty(0.)
|
||||||
|
);
|
||||||
|
|
||||||
|
rightPane.prefWidthProperty().bind(valRight);
|
||||||
|
rightPane.minWidthProperty().bind(valRight);
|
||||||
|
|
||||||
horzHolder.getChildren().addAll(leftPane, axisPane, rightPane);
|
horzHolder.getChildren().addAll(leftPane, axisPane, rightPane);
|
||||||
//axisPane.toFront(); this changes the order of children in a PamHBox.
|
//axisPane.toFront(); this changes the order of children in a PamHBox.
|
||||||
@ -369,8 +390,8 @@ public class PlotPane extends PamBorderPane {
|
|||||||
|
|
||||||
//holderPane.getChildren().clear();
|
//holderPane.getChildren().clear();
|
||||||
|
|
||||||
//HACK- 05/08/2016 have to do this because there is a bug in switching children postions in a border pane.
|
//HACK- 05/08/2016 have to do this because there is a bug in switching children positions in a border pane.
|
||||||
//casues a duplicate childrne error.
|
//causes duplicate children error
|
||||||
holderPane.setRight(null);
|
holderPane.setRight(null);
|
||||||
holderPane.setLeft(null);
|
holderPane.setLeft(null);
|
||||||
holderPane.setTop(null);
|
holderPane.setTop(null);
|
||||||
@ -385,24 +406,30 @@ public class PlotPane extends PamBorderPane {
|
|||||||
else if (topBorder > 0) {
|
else if (topBorder > 0) {
|
||||||
// holderPane.setTopSpace(topBorder);
|
// holderPane.setTopSpace(topBorder);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bottom) {
|
if (bottom) {
|
||||||
holderPane.setBottom(bottomHolder);
|
holderPane.setBottom(bottomHolder);
|
||||||
}
|
}
|
||||||
else if (bottomBorder > 0) {
|
else if (bottomBorder > 0) {
|
||||||
// holderPane.setBottomSpace(bottomBorder);
|
// holderPane.setBottomSpace(bottomBorder);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (right) {
|
if (right) {
|
||||||
holderPane.setRight(yAxisRightPane) ;
|
holderPane.setRight(yAxisRightPane) ;
|
||||||
|
yAxisRightPane.setVisible(true);
|
||||||
}
|
}
|
||||||
else if (rightBorder > 0){
|
else {
|
||||||
// holderPane.setRightSpace(rightBorder);
|
yAxisRightPane.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (left) {
|
if (left) {
|
||||||
holderPane.setLeft(yAxisLeftPane) ;
|
holderPane.setLeft(yAxisLeftPane) ;
|
||||||
|
yAxisLeftPane.setVisible(true);
|
||||||
}
|
}
|
||||||
else if (leftBorder > 0) {
|
else {
|
||||||
// holderPane.setLeftSpace(leftBorder);
|
yAxisLeftPane.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
holderPane.setCenter(canvasHolder);
|
holderPane.setCenter(canvasHolder);
|
||||||
//bottomHolder.toBack();
|
//bottomHolder.toBack();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user