Startup
This commit is contained in:
+146
-78
@@ -132,6 +132,7 @@ public class ScreenPanel6 extends Panel {
|
||||
ColormapSource camera;
|
||||
PipelineServer server;
|
||||
String cameraName;
|
||||
String cameraAlias;
|
||||
int polling = 1000;
|
||||
Overlay marker = null;
|
||||
JDialog histogramDialog;
|
||||
@@ -152,6 +153,9 @@ public class ScreenPanel6 extends Panel {
|
||||
Overlay titleOv = null;
|
||||
//int integration = 0;
|
||||
boolean persistCameraState;
|
||||
Map<String, List<String>> groups;
|
||||
Map<String, String> aliases;
|
||||
final Logger logger;
|
||||
|
||||
public class CameraState extends Config {
|
||||
|
||||
@@ -382,8 +386,9 @@ public class ScreenPanel6 extends Panel {
|
||||
final Console console;
|
||||
|
||||
public ScreenPanel6() {
|
||||
logger = Logger.getLogger(getClass().getName());
|
||||
try {
|
||||
initComponents();
|
||||
initComponents();
|
||||
spinnerThreshold.setVisible(false);
|
||||
btFixColormapRange.setVisible(false);
|
||||
setGoodRegionOptionsVisible(false);
|
||||
@@ -399,6 +404,10 @@ public class ScreenPanel6 extends Panel {
|
||||
setPersistedComponents(new Component[]{buttonTitle});
|
||||
comboCameras.setEnabled(false);
|
||||
comboType.setEnabled(false);
|
||||
if (App.hasArgument("list")){
|
||||
comboType.setVisible(false);
|
||||
labelType.setVisible(false);
|
||||
}
|
||||
|
||||
SwingUtils.setEnumCombo(comboColormap, Colormap.class);
|
||||
if (App.hasArgument("poll")) {
|
||||
@@ -495,12 +504,10 @@ public class ScreenPanel6 extends Panel {
|
||||
String cameraConfigJson = null;
|
||||
if (usingServer) {
|
||||
String cameraServerUrl = (camServerUrl == null) ? server.getUrl().substring(0, server.getUrl().length() - 1) + "8" : camServerUrl;
|
||||
try (CameraServer srv = new CameraServer("CamServer", cameraServerUrl)) {
|
||||
srv.initialize();
|
||||
try (CameraServer srv = newCameraServer()) {
|
||||
//TODO: replace into encodeMultiline
|
||||
cameraConfigJson = JsonSerializer.encode(srv.getConfig(cameraName), true);
|
||||
}
|
||||
|
||||
} else {
|
||||
String configFolder = (String) getContext().getClassByName("SfCamera").getMethod("getConfigFolder", new Class[]{}).invoke(null);
|
||||
Path configFile = Paths.get(configFolder, cameraName + ".json");
|
||||
@@ -682,7 +689,7 @@ public class ScreenPanel6 extends Panel {
|
||||
try {
|
||||
onMarkerChanged();
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(ScreenPanel6.class.getName()).log(Level.WARNING, null, ex);
|
||||
logger.log(Level.WARNING, null, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -811,6 +818,15 @@ public class ScreenPanel6 extends Panel {
|
||||
);
|
||||
|
||||
} else {
|
||||
try (CameraServer srv = newCameraServer()) {
|
||||
groups = srv.getCameraGroups();
|
||||
comboType.setModel(new javax.swing.DefaultComboBoxModel(Arr.insert(Arr.sort(groups.keySet().toArray(new String[0])), "All", 0)));
|
||||
aliases = srv.getCameraAliases();
|
||||
} catch (Exception ex){
|
||||
groups = null;
|
||||
aliases = null;
|
||||
}
|
||||
|
||||
usingServer = buttonServer.isSelected();
|
||||
updateCameraList();
|
||||
comboCameras.setEnabled(true);
|
||||
@@ -834,30 +850,41 @@ public class ScreenPanel6 extends Panel {
|
||||
}
|
||||
|
||||
boolean isVisible(String camera) {
|
||||
return ((comboType.getSelectedIndex() == 0) || (getCameraType(camera).equals(comboType.getSelectedItem())));
|
||||
return ((comboType.getSelectedIndex() == 0) || (getCameraTypes(camera).contains(comboType.getSelectedItem())));
|
||||
}
|
||||
|
||||
DefaultComboBoxModel getCameraList(boolean fromServer) throws Exception {
|
||||
DefaultComboBoxModel model = new DefaultComboBoxModel();
|
||||
if (fromServer) {
|
||||
try (PipelineServer srv = newServer()) {
|
||||
srv.initialize();
|
||||
List<String> cameras = srv.getCameras();
|
||||
Collections.sort(cameras);
|
||||
if (App.hasArgument("list")){
|
||||
List<String> lists = App.getArgumentValues("list");
|
||||
for (String list: lists){
|
||||
String[] tokens = list.split(",");
|
||||
for (String token : tokens){
|
||||
if (!token.isBlank()){
|
||||
model.addElement(token.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (fromServer) {
|
||||
try (CameraServer srv = newCameraServer()) {
|
||||
List<String> cameras = srv.getCameras();
|
||||
Collections.sort(cameras);
|
||||
for (String camera : cameras) {
|
||||
if (isVisible(camera)) {
|
||||
model.addElement(camera);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
ArrayList<String> cameras = (ArrayList<String>) getContext().getClassByName("SfCamera").getMethod("getCameras", new Class[]{}).invoke(null);
|
||||
for (String camera : cameras) {
|
||||
if (isVisible(camera)) {
|
||||
model.addElement(camera);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
ArrayList<String> cameras = (ArrayList<String>) getContext().getClassByName("SfCamera").getMethod("getCameras", new Class[]{}).invoke(null);
|
||||
for (String camera : cameras) {
|
||||
if (isVisible(camera)) {
|
||||
model.addElement(camera);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (App.hasArgument("cam")) {
|
||||
String camera = App.getArgumentValue("cam");
|
||||
@@ -883,6 +910,13 @@ public class ScreenPanel6 extends Panel {
|
||||
updateButtons();
|
||||
return server;
|
||||
}
|
||||
|
||||
CameraServer newCameraServer() throws IOException, InterruptedException {
|
||||
String cameraServerUrl = (camServerUrl == null) ? server.getUrl().substring(0, server.getUrl().length() - 1) + "8" : camServerUrl;
|
||||
CameraServer srv = new CameraServer("CamServer", cameraServerUrl);
|
||||
srv.initialize();
|
||||
return srv;
|
||||
}
|
||||
|
||||
boolean updatingCameraSelection;
|
||||
|
||||
@@ -909,10 +943,10 @@ public class ScreenPanel6 extends Panel {
|
||||
try {
|
||||
String selected = (String) comboCameras.getSelectedItem();
|
||||
comboCameras.setModel(getCameraList(usingServer));
|
||||
if (selected != null) {
|
||||
if (((DefaultComboBoxModel) comboCameras.getModel()).getIndexOf(camera) < 0) {
|
||||
setComboCameraSelection(selected);
|
||||
}
|
||||
if ((selected != null) && (((DefaultComboBoxModel) comboCameras.getModel()).getIndexOf(selected) > 0)){
|
||||
setComboCameraSelection(selected);
|
||||
} else{
|
||||
setComboCameraSelection("");
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
@@ -957,9 +991,10 @@ public class ScreenPanel6 extends Panel {
|
||||
|
||||
void manageTitleOverlay() {
|
||||
Overlay to = null;
|
||||
if ((buttonTitle.isSelected()) && (cameraName != null)) {
|
||||
String text = cameraAlias;
|
||||
if ((buttonTitle.isSelected()) && (text != null)) {
|
||||
Font font = new Font("Arial", Font.PLAIN, 28);
|
||||
to = new Text(renderer.getPenErrorText(), cameraName, font, new Point(-SwingUtils.getTextSize(cameraName, renderer.getGraphics().getFontMetrics(font)).width - 14, 26));
|
||||
to = new Text(renderer.getPenErrorText(), text, font, new Point(-SwingUtils.getTextSize(text, renderer.getGraphics().getFontMetrics(font)).width - 14, 26));
|
||||
to.setFixed(true);
|
||||
to.setAnchor(Overlay.ANCHOR_VIEWPORT_OR_IMAGE_TOP_RIGHT);
|
||||
}
|
||||
@@ -1023,7 +1058,14 @@ public class ScreenPanel6 extends Panel {
|
||||
renderer.removeOverlays(userOv);
|
||||
renderer.clear();
|
||||
renderer.resetZoom();
|
||||
|
||||
|
||||
cameraAlias = cameraName;
|
||||
if ((aliases!=null) && (cameraName!=null) && (aliases.containsKey(cameraName))){
|
||||
|
||||
cameraName = aliases.get(cameraName);
|
||||
System.out.println("Camera name is alias to: " + cameraName);
|
||||
}
|
||||
|
||||
boolean changed = !String.valueOf(cameraName).equals(this.cameraName);
|
||||
this.cameraName = cameraName;
|
||||
|
||||
@@ -1204,7 +1246,7 @@ public class ScreenPanel6 extends Panel {
|
||||
onChangeColormap(null);
|
||||
checkBackground.setEnabled(true);
|
||||
if (changed) {
|
||||
boolean electrons = getCameraType(cameraName).equals(ELECTRONS_TYPE);
|
||||
boolean electrons = getCameraTypes(this.cameraName).contains(ELECTRONS_TYPE);
|
||||
comboScreen.setModel(new DefaultComboBoxModel());
|
||||
comboScreen.setEnabled(false);
|
||||
comboFilter.setModel(new DefaultComboBoxModel());
|
||||
@@ -1215,10 +1257,10 @@ public class ScreenPanel6 extends Panel {
|
||||
//Parallelizing initialization
|
||||
devicesInitTask = new Thread(() -> {
|
||||
try {
|
||||
if (cameraName.contains("DSRM")) {
|
||||
screen = new DiscretePositioner("CurrentScreen", cameraName + ":POSITION_SP", cameraName + ":POSITION");
|
||||
if (this.cameraName.contains("DSRM")) {
|
||||
screen = new DiscretePositioner("CurrentScreen", this.cameraName + ":POSITION_SP", this.cameraName + ":POSITION");
|
||||
} else {
|
||||
screen = new DiscretePositioner("CurrentScreen", cameraName + ":SET_SCREEN1_POS", cameraName + ":GET_SCREEN1_POS");
|
||||
screen = new DiscretePositioner("CurrentScreen", this.cameraName + ":SET_SCREEN1_POS", this.cameraName + ":GET_SCREEN1_POS");
|
||||
}
|
||||
screen.setMonitored(true);
|
||||
screen.initialize();
|
||||
@@ -1238,7 +1280,7 @@ public class ScreenPanel6 extends Panel {
|
||||
valueScreen.setDevice(screen);
|
||||
|
||||
try {
|
||||
filter = new DiscretePositioner("CurrentFilter", cameraName + ":SET_FILTER", cameraName + ":GET_FILTER");
|
||||
filter = new DiscretePositioner("CurrentFilter", this.cameraName + ":SET_FILTER", this.cameraName + ":GET_FILTER");
|
||||
filter.setMonitored(true);
|
||||
filter.initialize();
|
||||
DefaultComboBoxModel model = new DefaultComboBoxModel();
|
||||
@@ -1698,9 +1740,9 @@ public class ScreenPanel6 extends Panel {
|
||||
try {
|
||||
((Source) getDevice("image")).initialize();
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
||||
logger.log(Level.SEVERE, null, ex);
|
||||
} catch (InterruptedException ex) {
|
||||
Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
||||
logger.log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
updateZoom();
|
||||
@@ -2418,7 +2460,7 @@ public class ScreenPanel6 extends Panel {
|
||||
}
|
||||
ArrayList<Frame> frames = new ArrayList<>();
|
||||
frames.add(frame);
|
||||
this.saveFrames(cameraName + "_camera_snapshot", frames);
|
||||
this.saveFrames(cameraAlias + "_camera_snapshot", frames);
|
||||
|
||||
//Enforce the same timestamp to data & image files.
|
||||
snapshotFile = getContext().getExecutionPars().getPath() + ".png";
|
||||
@@ -2451,7 +2493,7 @@ public class ScreenPanel6 extends Panel {
|
||||
|
||||
if (SwingUtils.showOption(getTopLevel(), "Success", panel, OptionType.OkCancel) == OptionResult.Yes) {
|
||||
StringBuilder message = new StringBuilder();
|
||||
message.append("Camera: ").append(cameraName).append(" (").
|
||||
message.append("Camera: ").append(cameraAlias).append(" (").
|
||||
append((server != null) ? "server" : "direct").append(")").append("\n");
|
||||
message.append("Screen: ").append(String.valueOf(valueScreen.getLabel().getText())).append("\n");
|
||||
message.append("Filter: ").append(String.valueOf(valueFilter.getLabel().getText())).append("\n");
|
||||
@@ -2473,31 +2515,41 @@ public class ScreenPanel6 extends Panel {
|
||||
|
||||
void saveStack() throws Exception {
|
||||
synchronized (imageBuffer) {
|
||||
saveFrames(cameraName + "_camera_stack", imageBuffer);
|
||||
saveFrames(cameraAlias + "_camera_stack", imageBuffer);
|
||||
}
|
||||
SwingUtils.showMessage(getTopLevel(), "Success", "Generated data file:\n" + getContext().getExecutionPars().getPath());
|
||||
}
|
||||
|
||||
public static String getCameraType(String name) {
|
||||
public List getCameraTypes(String name) {
|
||||
if (name == null) {
|
||||
return "";
|
||||
return null;
|
||||
}
|
||||
for (String s : new String[]{"LCAM"}) {
|
||||
if (name.contains(s)) {
|
||||
return LASER_TYPE;
|
||||
List ret = new ArrayList<String>();
|
||||
if (groups!=null){
|
||||
for (String group: Arr.sort(groups.keySet().toArray(new String[0]))){
|
||||
if (groups.get(group).contains(name)){
|
||||
ret.add(group);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (String s : new String[]{"LCAM"}) {
|
||||
if (name.contains(s)) {
|
||||
ret.add(LASER_TYPE);
|
||||
}
|
||||
}
|
||||
for (String s : new String[]{"DSCR", "DSRM", "DLAC"}) {
|
||||
if (name.contains(s)) {
|
||||
ret.add(ELECTRONS_TYPE);
|
||||
}
|
||||
}
|
||||
for (String s : new String[]{"PROF", "PPRM", "PSSS", "PSCR", "PSRD"}) {
|
||||
if (name.contains(s)) {
|
||||
ret.add(PHOTONICS_TYPE);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (String s : new String[]{"DSCR", "DSRM", "DLAC"}) {
|
||||
if (name.contains(s)) {
|
||||
return ELECTRONS_TYPE;
|
||||
}
|
||||
}
|
||||
for (String s : new String[]{"PROF", "PPRM", "PSSS", "PSCR", "PSRD"}) {
|
||||
if (name.contains(s)) {
|
||||
return PHOTONICS_TYPE;
|
||||
}
|
||||
}
|
||||
return "Unknown";
|
||||
ret.add("Unknown");
|
||||
return ret;
|
||||
}
|
||||
|
||||
public Map<String, Object> getProcessingParameters(StreamValue value) throws IOException {
|
||||
@@ -2524,7 +2576,7 @@ public class ScreenPanel6 extends Panel {
|
||||
String pathTimestampStr = pathRoot + "timestamp_str";
|
||||
Map<String, Object> processingPars = getProcessingParameters(first);
|
||||
String camera = (String) processingPars.get("camera_name");
|
||||
String type = getCameraType(camera);
|
||||
List types = getCameraTypes(camera);
|
||||
|
||||
int width = ((Number) first.getValue("width")).intValue();
|
||||
int height = ((Number) first.getValue("height")).intValue();
|
||||
@@ -2533,7 +2585,7 @@ public class ScreenPanel6 extends Panel {
|
||||
getContext().setExecutionPars(name);
|
||||
DataManager dm = getContext().getDataManager();
|
||||
|
||||
//Create tables
|
||||
//Create tables
|
||||
dm.createDataset(pathImage, dataType, new int[]{depth, height, width});
|
||||
dm.createDataset(pathPid, Long.class, new int[]{depth});
|
||||
dm.createDataset(pathTimestampStr, String.class, new int[]{depth});
|
||||
@@ -2544,20 +2596,38 @@ public class ScreenPanel6 extends Panel {
|
||||
Map<String, Object> pars = getProcessingParameters(first);
|
||||
for (String key : pars.keySet()) {
|
||||
if ((pars.get(key) != null) && (pars.get(key) instanceof Map)) {
|
||||
for (Object k : ((Map) pars.get(key)).keySet()) {
|
||||
for (String k : ((Map<String,Object>) pars.get(key)).keySet()) {
|
||||
Object v = ((Map) pars.get(key)).get(k);
|
||||
dm.setAttribute(pathImage, key + " " + k, (v == null) ? "" : v);
|
||||
k = key + " " + k;
|
||||
v = (v == null) ? "" : v;
|
||||
try{
|
||||
dm.setAttribute(pathImage, k, v);
|
||||
} catch (Exception ex){
|
||||
logger.info("Cannot set attribute " + pathImage + ": "+ k + " = " + v + " - " + ex.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
Object value = pars.get(key);
|
||||
if (value == null) {
|
||||
value = "";
|
||||
} else if (value instanceof List) {
|
||||
Class cls = (((List) value).size() > 0) ? ((List) value).get(0).getClass() : double.class;
|
||||
value = Convert.toPrimitiveArray(value, cls);
|
||||
//value = Convert.toDouble(value);
|
||||
try{
|
||||
if (value == null) {
|
||||
value = "";
|
||||
} else if (value instanceof List) {
|
||||
if (((List) value).size() > 0){
|
||||
Class cls = ((List) value).get(0).getClass() ;
|
||||
if (cls == String.class){
|
||||
value = ((List) value).toArray(new String[0]);
|
||||
} else {
|
||||
value = Convert.toPrimitiveArray(value, cls);
|
||||
}
|
||||
} else {
|
||||
value = "";
|
||||
}
|
||||
}
|
||||
dm.setAttribute(pathImage, key, value);
|
||||
} catch (Exception ex){
|
||||
logger.info("Cannot set attribute " + pathImage + ": "+ key + " = " + value + " - " + ex.getMessage());
|
||||
}
|
||||
dm.setAttribute(pathImage, key, value);
|
||||
}
|
||||
}
|
||||
} else if (val.getClass().isArray()) {
|
||||
@@ -2571,8 +2641,8 @@ public class ScreenPanel6 extends Panel {
|
||||
dm.setAttribute(pathRoot, "Camera", camera);
|
||||
dm.setAttribute(pathRoot, "Images", depth);
|
||||
dm.setAttribute(pathRoot, "Interval", -1);
|
||||
dm.setAttribute(pathRoot, "Type", type);
|
||||
if (type.equals(ELECTRONS_TYPE)) {
|
||||
dm.setAttribute(pathRoot, "Type", types.toArray(new String[0]));
|
||||
if (types.contains(ELECTRONS_TYPE)) {
|
||||
dm.setAttribute(pathRoot, "Screen", String.valueOf(valueScreen.getLabel().getText()));
|
||||
dm.setAttribute(pathRoot, "Filter", String.valueOf(valueFilter.getLabel().getText()));
|
||||
}
|
||||
@@ -2717,7 +2787,7 @@ public class ScreenPanel6 extends Panel {
|
||||
}
|
||||
dev.setPolling(1000);
|
||||
chart.setDevice(dev);
|
||||
JDialog dlg = SwingUtils.showDialog(dataTableDialog, cameraName + " " + id, null, chart);
|
||||
JDialog dlg = SwingUtils.showDialog(dataTableDialog, cameraAlias + " " + id, null, chart);
|
||||
//TODO:
|
||||
//PlotBase plot = chart.getPlot();
|
||||
//if (plot!=null){
|
||||
@@ -2958,7 +3028,7 @@ public class ScreenPanel6 extends Panel {
|
||||
panelCameraSelection = new javax.swing.JPanel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
comboCameras = new javax.swing.JComboBox();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
labelType = new javax.swing.JLabel();
|
||||
comboType = new javax.swing.JComboBox();
|
||||
renderer = new ch.psi.pshell.imaging.Renderer();
|
||||
|
||||
@@ -3802,7 +3872,7 @@ public class ScreenPanel6 extends Panel {
|
||||
}
|
||||
});
|
||||
|
||||
jLabel5.setText("Type:");
|
||||
labelType.setText("Type:");
|
||||
|
||||
comboType.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
|
||||
comboType.setMaximumRowCount(30);
|
||||
@@ -3823,7 +3893,7 @@ public class ScreenPanel6 extends Panel {
|
||||
.addGap(0, 0, 0)
|
||||
.addComponent(comboCameras, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jLabel5)
|
||||
.addComponent(labelType)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(comboType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 0, 0))
|
||||
@@ -3834,7 +3904,7 @@ public class ScreenPanel6 extends Panel {
|
||||
.addGap(0, 0, 0)
|
||||
.addGroup(panelCameraSelectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||
.addComponent(comboType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jLabel5)
|
||||
.addComponent(labelType)
|
||||
.addComponent(jLabel1)
|
||||
.addComponent(comboCameras, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(0, 0, 0))
|
||||
@@ -3947,7 +4017,7 @@ public class ScreenPanel6 extends Panel {
|
||||
try {
|
||||
source.getConfig().save();
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(getClass().getName()).log(Level.WARNING, null, ex);
|
||||
logger.log(Level.WARNING, null, ex);
|
||||
}
|
||||
source.refresh();
|
||||
if (buttonPause.isSelected()) {
|
||||
@@ -4285,7 +4355,7 @@ public class ScreenPanel6 extends Panel {
|
||||
setLaserState(2,false);
|
||||
}
|
||||
try {
|
||||
System.out.println("Grabbing background for: " + cameraName);
|
||||
System.out.println("Grabbing background for: " + cameraAlias);
|
||||
if (server != null) {
|
||||
server.captureBackground(5);
|
||||
} else {
|
||||
@@ -4310,7 +4380,7 @@ public class ScreenPanel6 extends Panel {
|
||||
try {
|
||||
saveSnapshot();
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger(getClass().getName()).log(Level.WARNING, null, ex);
|
||||
logger.log(Level.WARNING, null, ex);
|
||||
showException(ex);
|
||||
}
|
||||
}//GEN-LAST:event_buttonSaveActionPerformed
|
||||
@@ -4331,11 +4401,9 @@ public class ScreenPanel6 extends Panel {
|
||||
try {
|
||||
if (!updatingCameraSelection) {
|
||||
updateCameraList();
|
||||
if ((cameraName != null) && (!cameraName.equals(comboCameras.getSelectedItem()))) {
|
||||
if ((cameraAlias != null) && (!cameraAlias.equals(comboCameras.getSelectedItem()))) {
|
||||
setCamera(null);
|
||||
} else {
|
||||
setCamera(cameraName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
@@ -4501,7 +4569,6 @@ public class ScreenPanel6 extends Panel {
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JPanel jPanel2;
|
||||
private javax.swing.JPanel jPanel3;
|
||||
private javax.swing.JPanel jPanel5;
|
||||
@@ -4520,6 +4587,7 @@ public class ScreenPanel6 extends Panel {
|
||||
private javax.swing.JLabel labelSlNumber;
|
||||
private javax.swing.JLabel labelSlOrientation;
|
||||
private javax.swing.JLabel labelSlScale;
|
||||
private javax.swing.JLabel labelType;
|
||||
private javax.swing.JPanel panelCameraSelection;
|
||||
private javax.swing.JPanel panelFilter;
|
||||
private javax.swing.JPanel panelScreen;
|
||||
|
||||
Reference in New Issue
Block a user