
jive3.DeviceEventPanel Maven / Gradle / Ivy
The newest version!
package jive3;
import fr.esrf.tangoatk.widget.util.ATKConstant;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.ActionEvent;
import java.util.Vector;
import jive.JiveUtils;
public class DeviceEventPanel extends JPanel implements MouseListener,ActionListener {
private JTabbedPane tabPane;
private JTable changeTable;
private DefaultTableModel changeModel;
private JTable archTable;
private DefaultTableModel archModel;
private JTable perTable;
private DefaultTableModel perModel;
private JButton refreshButton;
private JButton applyButton;
private JTable selectedTable;
private int[] selectedRows;
private JPopupMenu tableMenu;
private JMenuItem resetMenuItem;
private JMenuItem resetLMenuItem;
private JMenuItem resetULMenuItem;
private JMenuItem resetCULMenuItem;
private JMenuItem setAbsMenuItem;
private JMenuItem setRelMenuItem;
private JMenuItem setPeriodMenuItem;
private TaskEventNode[] source = null;
DeviceEventPanel() {
setLayout(new BorderLayout());
// -- Change event table -------------------------------
changeModel = new DefaultTableModel() {
public Class getColumnClass(int columnIndex) {
return String.class;
}
public boolean isCellEditable(int row, int column) {
return (column!=0) && (!JiveUtils.readOnly);
}
public void setValueAt(Object aValue, int row, int column) {
if(!aValue.equals(getValueAt(row,column))) {
super.setValueAt(aValue,row,column);
int nb = source.length;
int k = 0;
// Confirmation dialog
if (source.length > 1) {
String name = (String)changeModel.getValueAt(row,0);
Vector propChange = new Vector();
switch(column) {
case 1:
propChange.add("abs_change");
break;
case 2:
propChange.add("rel_change");
break;
}
propChange.add((String)aValue);
if (!MultiChangeConfirmDlg.confirmChange(propChange, source.length," for attribute " + name)) {
refreshValue();
return;
}
}
switch(column) {
case 1:
if(nb>1) ProgressFrame.displayProgress("Updating event config");
for(int i=0;i1) ProgressFrame.displayProgress("Updating event config");
for(int i=0;i 1) {
String name = (String)archModel.getValueAt(row,0);
Vector propChange = new Vector();
switch(column) {
case 1:
propChange.add("arch_abs_change");
break;
case 2:
propChange.add("arch_rel_change");
break;
case 3:
propChange.add("arch_period");
break;
}
propChange.add((String)aValue);
if (!MultiChangeConfirmDlg.confirmChange(propChange, source.length," for attribute " + name)) {
refreshValue();
return;
}
}
switch(column) {
case 1:
if(nb>1) ProgressFrame.displayProgress("Updating event config");
for(int i=0;i1) ProgressFrame.displayProgress("Updating event config");
for(int i=0;i1) ProgressFrame.displayProgress("Updating event config");
for(int i=0;i 1) {
String name = (String)perModel.getValueAt(row,0);
Vector propChange = new Vector();
switch(column) {
case 1:
propChange.add("period");
break;
}
propChange.add((String)aValue);
if (!MultiChangeConfirmDlg.confirmChange(propChange, source.length," for attribute " + name)) {
refreshValue();
return;
}
}
switch(column) {
case 1:
if(nb>1) ProgressFrame.displayProgress("Updating event config");
for(int i=0;i1 ) {
String message = "You are going to reset event configuration for " + source.length + " device(s) and " + selectedRows.length + " attribute(s).\nDo you want to proceed ?";
int result = JOptionPane.showConfirmDialog(this,message,"Confirmation",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if( result==JOptionPane.NO_OPTION )
return;
}
if(nb>1) ProgressFrame.displayProgress("Reseting event config");
if(selectedTable == changeTable) {
for(int j=0;j1 ) {
String message = "You are going to reset event configuration to library value for " + source.length + " device(s) and " + selectedRows.length + " attribute(s).\nDo you want to proceed ?";
int result = JOptionPane.showConfirmDialog(this,message,"Confirmation",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if( result==JOptionPane.NO_OPTION )
return;
}
if(nb>1) ProgressFrame.displayProgress("Reseting event config");
if(selectedTable == changeTable) {
for(int j=0;j1 ) {
String message = "You are going to reset event configuration to code/library value for " + source.length + " device(s) and " + selectedRows.length + " attribute(s).\nDo you want to proceed ?";
int result = JOptionPane.showConfirmDialog(this,message,"Confirmation",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if( result==JOptionPane.NO_OPTION )
return;
}
if(nb>1) ProgressFrame.displayProgress("Reseting event config");
if(selectedTable == changeTable) {
for(int j=0;j1 ) {
String message = "You are going to reset event configuration to class/code/library value for " + source.length + " device(s) and " + selectedRows.length + " attribute(s).\nDo you want to proceed ?";
int result = JOptionPane.showConfirmDialog(this,message,"Confirmation",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if( result==JOptionPane.NO_OPTION )
return;
}
if(nb>1) ProgressFrame.displayProgress("Reseting event config");
if(selectedTable == changeTable) {
for(int j=0;j 1) {
Vector propChange = new Vector();
if(selectedTable == changeTable) {
propChange.add("abs_change");
} else {
propChange.add("arch_abs_change");
}
propChange.add(abs);
if (!MultiChangeConfirmDlg.confirmChange(propChange, source.length," and " + selectedRows.length + " attribute(s)")) {
return;
}
}
if(nb>1) ProgressFrame.displayProgress("Updating abs change");
if(selectedTable == changeTable) {
for(int j=0;j 1) {
Vector propChange = new Vector();
if(selectedTable == changeTable) {
propChange.add("rel_change");
} else {
propChange.add("arch_rel_change");
}
propChange.add(rel);
if (!MultiChangeConfirmDlg.confirmChange(propChange, source.length," and " + selectedRows.length + " attribute(s)")) {
return;
}
}
if(nb>1) ProgressFrame.displayProgress("Updating rel change");
if(selectedTable == changeTable) {
for(int j=0;j 1) {
Vector propChange = new Vector();
if(selectedTable == archTable) {
propChange.add("arch_period");
} else {
propChange.add("period");
}
propChange.add(per);
if (!MultiChangeConfirmDlg.confirmChange(propChange, source.length," and " + selectedRows.length + " attribute(s)")) {
return;
}
}
if(nb>1) ProgressFrame.displayProgress("Updating period");
if(selectedTable == archTable) {
for(int j=0;j=h && y<=h+selectedTable.getRowHeight(i));
if(!found) {
h+=selectedTable.getRowHeight(i);
i++;
}
}
if(found) {
return i;
} else {
return -1;
}
}
// ---------------------------------------------------------------
private void refreshValue() {
if (source != null) {
//for(int i=0;i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy