package art.client.GUI.components.devices.window.colors.rtz32.working;
|
|
import art.client.GUI.components.devices.window.colors.rtz32.configuration.*;
|
import art.client.GUI.components.devices.window.DeviceWindow;
|
import art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program;
|
import art.client.GUI.components.devices.window.colors.junction.configuration.PanelConfigurationGeneric;
|
import art.client.GUI.components.devices.window.colors.rtz32.configuration.components.Diagram_Distribution_ChangeListener;
|
import art.client.models.ModelGUI;
|
import art.library.gui.flat.FlatButton;
|
import art.library.gui.flat.FlatDialog;
|
import art.library.gui.flat.FlatMenu;
|
import art.library.gui.flat.FlatMenuItem;
|
import art.library.gui.flat.FlatMenuItemCheck;
|
import art.library.gui.flat.FlatPanel;
|
import art.library.gui.flat.FlatPopupMenu;
|
import art.library.gui.flat.FlatTableInput;
|
import art.library.gui.flat.FlatWindow;
|
import art.library.interop.InteropParameters;
|
import art.library.interop.InteropResponse;
|
import art.library.interop.serialization.Serialization;
|
import art.library.interop.serialization.SerializationException;
|
import art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Cancellation;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Correlation_Master;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Correlation_Slave;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Retractable;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Saturation;
|
import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_VariablePhase;
|
import art.library.model.devices.colors.controller.RTZ32.information.RTZ32_Information_Program;
|
import art.library.model.devices.colors.controller.RTZ32.types.RTZ32_Validation_Result;
|
import art.library.utils.resources.Resources;
|
import art.servers.Shared;
|
import art.servers.rtzserver.controller.ListenerImplementation;
|
import java.awt.BorderLayout;
|
import java.awt.Dimension;
|
import java.awt.Point;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.ItemEvent;
|
import java.awt.event.ItemListener;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import javax.swing.JOptionPane;
|
import javax.swing.SwingUtilities;
|
import javax.swing.event.PopupMenuEvent;
|
import javax.swing.event.PopupMenuListener;
|
|
|
public class RTZ32_PanelWorking_Programs_Program extends PanelConfigurationGeneric
|
{
|
private int programNumber = 0;
|
public RTZ32_Information_Program program_information = null;
|
private RTZ32_ControllerConfiguration configuration = null;
|
private RTZ32_PanelConfiguration_Programs_Program_Distribution panelConfiguration_Programs_Program_Distribution = null;
|
private FlatPanel panel2 = null;
|
private FlatButton buttonOptions = null;
|
private FlatButton buttonLoadSave = null;
|
private FlatButton buttonUndo = null;
|
private FlatButton buttonRedo = null;
|
private FlatButton buttonPrint = null;
|
private FlatTableInput table1 = null;
|
private FlatTableInput table2 = null;
|
private MyActionListener1 myActionListener1 = new MyActionListener1();
|
private MyActionListener2 myActionListener2 = new MyActionListener2();
|
private MyChangeListener myChangeListener = new MyChangeListener();
|
|
public RTZ32_PanelWorking_Programs_Program(RTZ32_Information_Program program_information, int programNumber)
|
{
|
this.program_information = program_information;
|
this.configuration = program_information.configuration;
|
this.programNumber = programNumber;
|
initialise();
|
reload();
|
}
|
|
|
|
public RTZ32_Configuration_Program getProgram()
|
{
|
return configuration.rtz32.getProgram(programNumber);
|
}
|
|
|
|
public void editable(boolean value)
|
{
|
super.editable(value);
|
|
if (table2 != null)
|
{
|
table2.setEditable(value);
|
}
|
|
grants();
|
}
|
|
|
|
public void selection()
|
{
|
try
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
window.addButtonSeparator();
|
window.addButtonMenu(buttonOptions);
|
window.addButtonMenu(buttonLoadSave);
|
window.addButtonMenu(buttonUndo);
|
window.addButtonMenu(buttonRedo);
|
window.addButtonSeparator();
|
window.addButtonMenu(buttonPrint);
|
|
buttonUndo.setVisible(isEditable());
|
buttonRedo.setVisible(isEditable());
|
}
|
catch (Exception e)
|
{
|
}
|
|
if (panelConfiguration_Programs_Program_Distribution != null)
|
{
|
panelConfiguration_Programs_Program_Distribution.selection();
|
panelConfiguration_Programs_Program_Distribution.editable(isEditable());
|
}
|
|
}
|
|
|
public void deselection()
|
{
|
try
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
window.removeComponentMenu(buttonOptions);
|
window.removeComponentMenu(buttonLoadSave);
|
window.removeComponentMenu(buttonUndo);
|
window.removeComponentMenu(buttonRedo);
|
window.removeComponentMenu(buttonPrint);
|
}
|
catch (Exception e)
|
{
|
}
|
|
if (panelConfiguration_Programs_Program_Distribution != null)
|
{
|
panelConfiguration_Programs_Program_Distribution.deselection();
|
}
|
}
|
|
|
|
public void grants()
|
{
|
// TODO: check user permissions
|
|
try
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
|
if (isEditable() == true)
|
{
|
window.showComponentMenu(buttonUndo);
|
window.showComponentMenu(buttonRedo);
|
}
|
else
|
{
|
window.hideComponentMenu(buttonUndo);
|
window.hideComponentMenu(buttonRedo);
|
}
|
}
|
catch (Exception exception)
|
{
|
}
|
|
if (panelConfiguration_Programs_Program_Distribution != null)
|
{
|
panelConfiguration_Programs_Program_Distribution.editable(isEditable());
|
}
|
}
|
|
|
|
public void reload()
|
{
|
RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber);
|
|
for (RTZ32_Configuration_Program_Trolley_Retractable retractable : program.trolley.retractables)
|
{
|
retractable.visible = true;
|
}
|
|
|
buttonUndo.setEnabled(false);
|
buttonRedo.setEnabled(false);
|
|
panel2.removeAll();
|
{
|
panelConfiguration_Programs_Program_Distribution = new RTZ32_PanelConfiguration_Programs_Program_Distribution(configuration, programNumber);
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.setButtons(buttonUndo, buttonRedo);
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.setChangeListener(myChangeListener);
|
}
|
panel2.add(panelConfiguration_Programs_Program_Distribution, BorderLayout.CENTER);
|
|
SimpleDateFormat formato1 = new SimpleDateFormat(Shared.getMessage("dd/MM/yyyy HH:mm:ss"));
|
table1.setValue(Shared.getMessage("Creation date"), formato1.format(program_information.creation));
|
table1.setValue(Shared.getMessage("Validated"), program_information.validated);
|
table1.setValue(Shared.getMessage("User"), program_information.username);
|
table2.setValue(Shared.getMessage("Description"), program_information.description);
|
table2.setField(Shared.getMessage("Description"), program_information, "description");
|
}
|
|
|
|
public void reevaluate()
|
{
|
if (panelConfiguration_Programs_Program_Distribution != null) panelConfiguration_Programs_Program_Distribution.reevaluate();
|
}
|
|
|
|
private void initialise()
|
{
|
buttonOptions = new FlatButton(Shared.getMessage("&Options"));
|
buttonOptions.setIcon(Resources.getResourceURL(ModelGUI.Icons.SETTINGS_24x24));
|
buttonOptions.setPreferredSize(new Dimension(buttonOptions.getStringWidth(), 0));
|
buttonOptions.setVisible(true);
|
buttonOptions.addActionListener(new java.awt.event.ActionListener()
|
{
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
{
|
options();
|
}
|
});
|
|
buttonLoadSave = new FlatButton(Shared.getMessage("&Load/Save"));
|
buttonLoadSave.setIcon(Resources.getResourceURL(ModelGUI.Icons.SAVE_24x24));
|
buttonLoadSave.setPreferredSize(new Dimension(buttonLoadSave.getStringWidth(), 0));
|
buttonLoadSave.setVisible(true);
|
buttonLoadSave.addActionListener(new java.awt.event.ActionListener()
|
{
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
{
|
loadsave();
|
}
|
});
|
|
buttonUndo = new FlatButton(Shared.getMessage("&Undo"));
|
buttonUndo.setPreferredSize(new Dimension(buttonUndo.getStringWidth(), 0));
|
buttonUndo.setIcon(Resources.getResourceURL("data/art.client/icons/24x24/turn4.png"));
|
buttonUndo.setVisible(false);
|
buttonUndo.addActionListener(new java.awt.event.ActionListener()
|
{
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
{
|
undo();
|
}
|
});
|
|
buttonRedo = new FlatButton(Shared.getMessage("&Redo"));
|
buttonRedo.setPreferredSize(new Dimension(buttonUndo.getStringWidth(), 0));
|
buttonRedo.setIcon(Resources.getResourceURL("data/art.client/icons/24x24/turn3.png"));
|
buttonRedo.setVisible(false);
|
buttonRedo.addActionListener(new java.awt.event.ActionListener()
|
{
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
{
|
redo();
|
}
|
});
|
|
buttonPrint = new FlatButton(Shared.getMessage("&Print"));
|
buttonPrint.setIcon(Resources.getResourceURL(ModelGUI.Icons.PRINT_24x24));
|
buttonPrint.setPreferredSize(new Dimension(buttonPrint.getStringWidth(), 0));
|
buttonPrint.addActionListener(new java.awt.event.ActionListener()
|
{
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
{
|
// TODO
|
}
|
});
|
|
|
FlatPanel panel1 = new FlatPanel();
|
{
|
panel1.setLayout(new BorderLayout());
|
|
FlatPanel panel1_1 = new FlatPanel();
|
{
|
table1 = new FlatTableInput(150);
|
{
|
table1.addTextField(Shared.getMessage("Creation date"), 22);
|
table1.addCheckBox(Shared.getMessage("Validated"), Shared.getMessage("Yes"), Shared.getMessage("No"), 22);
|
table1.addTextField(Shared.getMessage("User"), 22);
|
}
|
|
panel1_1.setLayout(new BorderLayout());
|
panel1_1.add(table1.getScrollPane(), BorderLayout.CENTER);
|
panel1_1.setPreferredSize(new Dimension(480, table1.getDimensionHeight()));
|
panel1_1.setRaisedBorder(0,0,0,1);
|
}
|
|
|
FlatPanel panel1_2 = new FlatPanel();
|
{
|
table2 = new FlatTableInput(150);
|
{
|
table2.addTextArea(Shared.getMessage("Description"), 66);
|
}
|
|
panel1_2.setLayout(new BorderLayout());
|
panel1_2.add(table2.getScrollPane(), BorderLayout.CENTER);
|
panel1_2.setPreferredSize(new Dimension(0, table2.getDimensionHeight()));
|
panel1_2.setRaisedBorder(0,1,0,0);
|
}
|
|
panel1.add(panel1_1, BorderLayout.WEST);
|
panel1.add(panel1_2, BorderLayout.CENTER);
|
}
|
|
panel2 = new FlatPanel();
|
panel2.setLayout(new BorderLayout());
|
this.setLayout(new BorderLayout());
|
this.add(panel1, BorderLayout.NORTH);
|
this.add(panel2, BorderLayout.CENTER);
|
grants();
|
}
|
|
|
|
|
|
private void options()
|
{
|
RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber);
|
|
try
|
{
|
FlatPopupMenu menu = new FlatPopupMenu();
|
|
FlatMenuItemCheck item1 = new FlatMenuItemCheck();
|
{
|
item1.setText(Shared.getMessage("Show &information"));
|
item1.setStayOpen(true);
|
item1.setSelected(panelConfiguration_Programs_Program_Distribution.diagram_Distribution.diagram_Distribution_Bars.information);
|
item1.addItemListener(new ItemListener()
|
{
|
public void itemStateChanged(ItemEvent e)
|
{
|
FlatMenuItemCheck item = (FlatMenuItemCheck)e.getSource();
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.diagram_Distribution_Bars.information = item.isSelected();
|
}
|
});
|
|
menu.add(item1);
|
}
|
|
|
FlatMenu menu1 = new FlatMenu();
|
{
|
menu1.setText(Shared.getMessage("Show &retractables"));
|
|
for (int i=0; i<program.trolley.retractables.length; i++)
|
{
|
RTZ32_Configuration_Program_Trolley_Retractable retractable = program.trolley.retractables[i];
|
|
if (retractable.getDuration() > 0)
|
{
|
FlatMenuItemCheck item = new FlatMenuItemCheck();
|
item.setText("<html><body><b>" + (i+1) + "</b> - " + retractable.startTime + " > " + retractable.endTime + "<b></body></html>");
|
item.setName("" + i);
|
item.setStayOpen(true);
|
item.setSelected(program.trolley.retractables[i].visible);
|
menu1.add(item);
|
item.addItemListener(new ItemListener()
|
{
|
public void itemStateChanged(ItemEvent e)
|
{
|
FlatMenuItemCheck item = (FlatMenuItemCheck)e.getSource();
|
item.setSelected(item.isSelected());
|
program.trolley.retractables[Integer.parseInt(item.getName())].visible = item.isSelected();
|
reevaluate();
|
RTZ32_PanelWorking_Programs_Program.this.repaint();
|
}
|
});
|
}
|
}
|
|
menu.add(menu1);
|
}
|
|
|
if (isEditable() == true) // TODO : Grants
|
{
|
FlatMenu menu2 = new FlatMenu();
|
{
|
menu.addSeparator();
|
|
FlatMenuItem menuitem1 = new FlatMenuItem();
|
{
|
menuitem1.setText(Shared.getMessage("Retractable"));
|
menuitem1.setStayOpen(true);
|
menuitem1.setName("retractable");
|
menuitem1.addActionListener(myActionListener1);
|
menu2.add(menuitem1);
|
}
|
FlatMenuItem menuitem2 = new FlatMenuItem();
|
{
|
menuitem2.setText(Shared.getMessage("Variable"));
|
menuitem2.setStayOpen(true);
|
menuitem2.setName("variable");
|
menuitem2.addActionListener(myActionListener1);
|
menu2.add(menuitem2);
|
}
|
FlatMenuItem menuitem3 = new FlatMenuItem();
|
{
|
menuitem3.setText(Shared.getMessage("Cancellation"));
|
menuitem3.setStayOpen(true);
|
menuitem3.setName("cancellation");
|
menuitem3.addActionListener(myActionListener1);
|
menu2.add(menuitem3);
|
}
|
FlatMenuItem menuitem4 = new FlatMenuItem();
|
{
|
menuitem4.setText(Shared.getMessage("Correlation (M)"));
|
menuitem4.setStayOpen(true);
|
menuitem4.setName("master");
|
menuitem4.addActionListener(myActionListener1);
|
menu2.add(menuitem4);
|
}
|
FlatMenuItem menuitem5 = new FlatMenuItem();
|
{
|
menuitem5.setText(Shared.getMessage("Correlation (E)"));
|
menuitem5.setStayOpen(true);
|
menuitem5.setName("slave");
|
menuitem5.addActionListener(myActionListener1);
|
menu2.add(menuitem5);
|
}
|
FlatMenuItem menuitem6 = new FlatMenuItem();
|
{
|
menuitem6.setText(Shared.getMessage("Saturation"));
|
menuitem6.setStayOpen(true);
|
menuitem6.setName("saturation");
|
menuitem6.addActionListener(myActionListener1);
|
menu2.add(menuitem6);
|
}
|
|
menu2.setText("&Add");
|
menu.add(menu2);
|
}
|
|
FlatMenu menu3 = new FlatMenu();
|
{
|
FlatMenuItem menuitem1 = new FlatMenuItem();
|
{
|
menuitem1.setText(Shared.getMessage("Remove retractables"));
|
menuitem1.setStayOpen(true);
|
menuitem1.setName("retractables");
|
menuitem1.addActionListener(myActionListener2);
|
menu3.add(menuitem1);
|
}
|
FlatMenuItem menuitem2 = new FlatMenuItem();
|
{
|
menuitem2.setText(Shared.getMessage("Remove variables"));
|
menuitem2.setName("variables");
|
menuitem2.setStayOpen(true);
|
menuitem2.addActionListener(myActionListener2);
|
menu3.add(menuitem2);
|
}
|
FlatMenuItem menuitem3 = new FlatMenuItem();
|
{
|
menuitem3.setText(Shared.getMessage("Remove cancellations"));
|
menuitem3.setName("cancellations");
|
menuitem3.setStayOpen(true);
|
menuitem3.addActionListener(myActionListener2);
|
menu3.add(menuitem3);
|
}
|
FlatMenuItem menuitem4 = new FlatMenuItem();
|
{
|
menuitem4.setText(Shared.getMessage("Remove correlations (M)"));
|
menuitem4.setName("masters");
|
menuitem4.setStayOpen(true);
|
menuitem4.addActionListener(myActionListener2);
|
menu3.add(menuitem4);
|
}
|
FlatMenuItem menuitem5 = new FlatMenuItem();
|
{
|
menuitem5.setText(Shared.getMessage("Remove correlations (E)"));
|
menuitem5.setName("slaves");
|
menuitem5.setStayOpen(true);
|
menuitem5.addActionListener(myActionListener2);
|
menu3.add(menuitem5);
|
}
|
FlatMenuItem menuitem6 = new FlatMenuItem();
|
{
|
menuitem6.setText(Shared.getMessage("Remove saturations"));
|
menuitem6.setName("saturations");
|
menuitem6.setStayOpen(true);
|
menuitem6.addActionListener(myActionListener2);
|
menu3.add(menuitem6);
|
}
|
|
menu3.addSeparator();
|
|
FlatMenuItem menuitem7 = new FlatMenuItem();
|
{
|
menuitem7.setText(Shared.getMessage("Clear impulses"));
|
menuitem7.setName("impulses");
|
menuitem7.setStayOpen(true);
|
menuitem7.addActionListener(myActionListener2);
|
menu3.add(menuitem7);
|
}
|
|
menu3.addSeparator();
|
|
FlatMenuItem menuitem8 = new FlatMenuItem();
|
{
|
menuitem8.setText(Shared.getMessage("Clear all"));
|
menuitem8.setName("all");
|
menuitem8.setStayOpen(true);
|
menuitem8.addActionListener(myActionListener2);
|
menu3.add(menuitem8);
|
}
|
|
menu3.setText("&Remove");
|
menu.add(menu3);
|
}
|
}
|
|
|
if (isEditable() == true) // TODO : Grants
|
{
|
FlatMenu menu4 = new FlatMenu();
|
{
|
for (int i=0; i<18; i++)
|
{
|
FlatMenuItem item = new FlatMenuItem();
|
item.setName("" + (i+1));
|
item.setText(Shared.getMessage("Program") + " " + (i+1));
|
item.setStayOpen(false);
|
item.addActionListener(new ActionListener()
|
{
|
public void actionPerformed(java.awt.event.ActionEvent evt)
|
{
|
try
|
{
|
FlatMenuItem item = (FlatMenuItem)evt.getSource();
|
Integer program = Integer.parseInt(item.getName());
|
copyTo(program);
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
});
|
|
menu4.add(item);
|
}
|
|
menu4.setText("&Copy to");
|
menu.add(menu4);
|
}
|
|
}
|
|
|
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
Point p = SwingUtilities.convertPoint(buttonOptions, 0, buttonOptions.getY(), window);
|
menu.addPopupMenuListener(new PopupMenuListener()
|
{
|
@Override
|
public void popupMenuWillBecomeVisible(PopupMenuEvent e)
|
{
|
}
|
|
@Override
|
public void popupMenuWillBecomeInvisible(PopupMenuEvent e)
|
{
|
window.repaint();
|
}
|
|
@Override
|
public void popupMenuCanceled(PopupMenuEvent e)
|
{
|
window.repaint();
|
}
|
});
|
|
menu.show(window, p.x, p.y + buttonOptions.getHeight() - 4);
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
|
|
|
|
private void loadsave()
|
{
|
RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber);
|
|
try
|
{
|
FlatPopupMenu menu = new FlatPopupMenu();
|
|
FlatMenuItem menuitem1 = new FlatMenuItem();
|
{
|
menuitem1.setText(Shared.getMessage("&Load"));
|
menuitem1.addActionListener(new ActionListener()
|
{
|
public void actionPerformed(ActionEvent e)
|
{
|
load();
|
}
|
});
|
|
menu.add(menuitem1);
|
}
|
|
|
|
if (isEditable() == true) // TODO:grants
|
{
|
FlatMenuItem menuitem2 = new FlatMenuItem();
|
{
|
menuitem2.setText(Shared.getMessage("&Save"));
|
menuitem2.addActionListener(new ActionListener()
|
{
|
public void actionPerformed(ActionEvent e)
|
{
|
save();
|
}
|
});
|
|
menu.add(menuitem2);
|
}
|
|
|
menu.addSeparator();
|
|
FlatMenuItem menuitem3 = new FlatMenuItem();
|
{
|
menuitem3.setText(Shared.getMessage("Validation ( &normal )"));
|
menuitem3.addActionListener(new ActionListener()
|
{
|
public void actionPerformed(ActionEvent e)
|
{
|
validationNormal();
|
}
|
});
|
|
menuitem3.setIcon(Resources.getResourceURL(ModelGUI.Icons.LOCK_ACTIVE_24x24));
|
menu.add(menuitem3);
|
}
|
|
FlatMenuItem menuitem4 = new FlatMenuItem();
|
{
|
menuitem4.setText(Shared.getMessage("Validation ( &EPROM )"));
|
menuitem4.addActionListener(new ActionListener()
|
{
|
public void actionPerformed(ActionEvent e)
|
{
|
validationEPROM();
|
}
|
});
|
|
menuitem4.setIcon(Resources.getResourceURL(ModelGUI.Icons.UPC_24x24));
|
menu.add(menuitem4);
|
}
|
}
|
|
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
Point p = SwingUtilities.convertPoint(buttonLoadSave, 0, buttonLoadSave.getY(), window);
|
menu.addPopupMenuListener(new PopupMenuListener()
|
{
|
@Override
|
public void popupMenuWillBecomeVisible(PopupMenuEvent e)
|
{
|
}
|
|
@Override
|
public void popupMenuWillBecomeInvisible(PopupMenuEvent e)
|
{
|
window.repaint();
|
}
|
|
@Override
|
public void popupMenuCanceled(PopupMenuEvent e)
|
{
|
window.repaint();
|
}
|
});
|
|
menu.show(window, p.x, p.y + buttonLoadSave.getHeight() - 4);
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
|
|
|
|
|
private void validationNormal()
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
|
try
|
{
|
InteropParameters parameters = new InteropParameters();
|
parameters.addParameter("language", "en-GB");
|
parameters.addParameter("device", "controller-zaragoza-90020");
|
parameters.addBodycontent(program_information);
|
|
ListenerImplementation listenerImplementation = (art.servers.rtzserver.controller.ListenerImplementation)art.servers.rtzserver.Shared.controllerListenerHttps.getListenerImplementation();
|
InteropResponse response = listenerImplementation.validateProgramNormal(parameters);
|
RTZ32_Validation_Result result = response.getResponse();
|
|
// TODO : ventana con mensajes
|
|
}
|
catch (Exception exception)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR);
|
}
|
}
|
|
|
|
|
|
private void validationEPROM()
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
|
try
|
{
|
InteropParameters parameters = new InteropParameters();
|
parameters.addParameter("language", "en-GB");
|
parameters.addParameter("device", "controller-zaragoza-90020");
|
parameters.addBodycontent(program_information);
|
|
ListenerImplementation listenerImplementation = (art.servers.rtzserver.controller.ListenerImplementation)art.servers.rtzserver.Shared.controllerListenerHttps.getListenerImplementation();
|
InteropResponse response = listenerImplementation.validateProgramEPROM(parameters);
|
RTZ32_Validation_Result result = response.getResponse();
|
|
// TODO : ventana con mensajes
|
|
}
|
catch (Exception exception)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR);
|
}
|
}
|
|
|
|
|
private void load()
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
|
try
|
{
|
String message = Shared.getMessage("Current changes will be lost. Do you want to continue ?");
|
int answer = FlatDialog.showDialog(window, Shared.getMessage("Load"), message, true, FlatDialog.DIALOG_QUESTION);
|
if (answer != JOptionPane.YES_OPTION) return;
|
// INVOKE LOAD
|
}
|
catch (Exception exception)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR);
|
}
|
}
|
|
|
|
private void save()
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this);
|
|
try
|
{
|
String message = Shared.getMessage("Do you want to save ?");
|
int answer = FlatDialog.showDialog(window, Shared.getMessage("Save"), message, true, FlatDialog.DIALOG_QUESTION);
|
if (answer != JOptionPane.YES_OPTION) return;
|
// INVOKE LOAD
|
}
|
catch (Exception exception)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR);
|
}
|
}
|
|
|
|
|
private void undo()
|
{
|
try
|
{
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.undo();
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
|
|
private void redo()
|
{
|
try
|
{
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.redo();
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
|
|
|
|
|
private void copyTo (int programNumber)
|
{
|
// TODO : Cambiar por invokes (listenerImplementation.xxxxxx)
|
|
SimpleDateFormat formato1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
|
DeviceWindow window = (DeviceWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
RTZ32_Controller rtz32 = (RTZ32_Controller)window.getDevice();
|
|
try
|
{
|
|
// Comprobar si existe
|
|
ListenerImplementation listenerImplementation = (art.servers.rtzserver.controller.ListenerImplementation)art.servers.rtzserver.Shared.controllerListenerHttps.getListenerImplementation();
|
InteropParameters parameters = new InteropParameters();
|
parameters.addParameter("device", rtz32.getIdentifier());
|
parameters.addParameter("program", "" + programNumber);
|
InteropResponse response = listenerImplementation.getProgram(parameters);
|
if ((response.getValue() == null) || (response.getResponse() == null))
|
{
|
// Not exists
|
// No questions to user
|
}
|
else
|
{
|
// Exists
|
|
RTZ32_Information_Program program = (RTZ32_Information_Program)response.getValue()[0];
|
String message = Shared.getMessage("This program has already a working copy") + "\r\n\r\n";
|
message = message + Shared.getMessage("Date") + " : " + formato1.format(program.creation) + "\r\n";
|
|
if (program.description != null)
|
{
|
message = message + Shared.getMessage("Description") + " : " + program.description + "\r\n";
|
}
|
else
|
{
|
message = message + Shared.getMessage("Description") + " : " + "\r\n";
|
}
|
|
if (program.validated == true)
|
{
|
message = message + Shared.getMessage("Validated") + " : " + Shared.getMessage("Yes") + "\r\n";
|
}
|
else
|
{
|
message = message + Shared.getMessage("Validated") + " : " + Shared.getMessage("No") + "\r\n";
|
}
|
|
message = message + Shared.getMessage("Username") + " : " + program.username + "\r\n\r\n";
|
message = message + Shared.getMessage("Do you really want to overwrite?");
|
|
int answer = FlatDialog.showDialog(window, Shared.getMessage("Copying"), message, true, FlatDialog.DIALOG_QUESTION);
|
if (answer != JOptionPane.YES_OPTION)
|
{
|
return;
|
}
|
}
|
|
// Copiar y guardar
|
|
RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber);
|
RTZ32_Information_Program programInformation = new RTZ32_Information_Program();
|
programInformation.device = rtz32.getIdentifier();
|
programInformation.program = programNumber;
|
programInformation.username = "" ; // TODO: must be session username
|
programInformation.creation = new Date();
|
programInformation.configuration = Serialization.clone(configuration);
|
programInformation.configuration.rtz32.programs[programNumber-1] = programInformation.configuration.rtz32.programs[this.programNumber-1];
|
programInformation.configuration.rtz32.programs[programNumber-1].number = programNumber;
|
|
parameters = new InteropParameters();
|
parameters.addBodycontent(programInformation);
|
response = listenerImplementation.addProgram(parameters);
|
|
if ((Boolean)response.getResponse() == true)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Program copied succesfully"), true, FlatDialog.DIALOG_INFORMATION);
|
}
|
else
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), Shared.getMessage("Unespected error while copying"), true, FlatDialog.DIALOG_ERROR);
|
}
|
|
}
|
catch (SerializationException exception)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR);
|
}
|
catch (Exception exception)
|
{
|
FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR);
|
}
|
}
|
|
|
|
|
|
|
|
private class MyActionListener1 implements ActionListener
|
{
|
|
public void actionPerformed(ActionEvent e)
|
{
|
try
|
{
|
RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber);
|
|
FlatMenuItem menuitem = (FlatMenuItem)e.getSource();
|
|
switch (menuitem.getName())
|
{
|
case "retractable" :
|
{
|
RTZ32_Configuration_Program_Trolley_Retractable retractable = program.trolley.getRetractableEmpty();
|
|
if (retractable == null)
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of retractables phases reached"), true, FlatDialog.DIALOG_INFORMATION);
|
return;
|
}
|
|
retractable.startTime = 0;
|
retractable.endTime = 5;
|
reevaluate();
|
|
} break;
|
|
|
case "variable" :
|
{
|
RTZ32_Configuration_Program_VariablePhase variable = program.getVariablePhaseEmpty();
|
|
if (variable == null)
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of variables phases reached"), true, FlatDialog.DIALOG_INFORMATION);
|
return;
|
}
|
|
variable.startTime = 0;
|
variable.endTime = 5;
|
reevaluate();
|
|
} break;
|
|
|
case "cancellation" :
|
{
|
RTZ32_Configuration_Program_Trolley_Cancellation cancellation = program.trolley.getCancellationEmpty();
|
|
if (cancellation == null)
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of cancellations reached"), true, FlatDialog.DIALOG_INFORMATION);
|
return;
|
}
|
|
cancellation.time = 0;
|
cancellation.timeout = 1;
|
reevaluate();
|
|
} break;
|
|
|
case "master" :
|
{
|
RTZ32_Configuration_Program_Trolley_Correlation_Master correlation = program.trolley.getCorrelationMasterEmpty();
|
|
if (correlation == null)
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of correlations master reached"), true, FlatDialog.DIALOG_INFORMATION);
|
return;
|
}
|
|
correlation.time = 5;
|
reevaluate();
|
|
} break;
|
|
|
case "slave" :
|
{
|
RTZ32_Configuration_Program_Trolley_Correlation_Slave correlation = program.trolley.getCorrelationSlaveEmpty();
|
|
if (correlation == null)
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of correlations slave reached"), true, FlatDialog.DIALOG_INFORMATION);
|
return;
|
}
|
|
correlation.time = 5;
|
reevaluate();
|
|
} break;
|
|
|
case "saturation" :
|
{
|
RTZ32_Configuration_Program_Trolley_Saturation saturation = program.trolley.getSaturationEmpty();
|
|
if (saturation == null)
|
{
|
FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this);
|
FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of correlations slave reached"), true, FlatDialog.DIALOG_INFORMATION);
|
return;
|
}
|
|
saturation.startTime = 0;
|
saturation.endTime = 5;
|
reevaluate();
|
|
} break;
|
}
|
|
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.changeMade();
|
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
}
|
|
|
|
|
private class MyActionListener2 implements ActionListener
|
{
|
|
public void actionPerformed(ActionEvent e)
|
{
|
RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber);
|
|
|
try
|
{
|
FlatMenuItem menuitem = (FlatMenuItem)e.getSource();
|
|
switch (menuitem.getName())
|
{
|
case "retractables" : program.trolley.clearRetractables(); break;
|
case "variables" : program.clearVariables(); break;
|
case "cancellations" : program.trolley.clearCancellations(); break;
|
case "masters" : program.trolley.clearCorrelationsMaster(); break;
|
case "slaves" : program.trolley.clearCorrelationsSlave(); break;
|
case "saturations" : program.trolley.clearSaturations(); break;
|
|
case "impulses" :
|
{
|
configuration.rtz32.clearImpulses();
|
reevaluate();
|
|
} break;
|
|
|
case "all" :
|
{
|
program.trolley.clearRetractables();
|
program.clearVariables();
|
program.trolley.clearCancellations();
|
program.trolley.clearCorrelationsMaster();
|
program.trolley.clearCorrelationsSlave();
|
configuration.rtz32.clearImpulses();
|
}
|
break;
|
}
|
|
reevaluate();
|
panelConfiguration_Programs_Program_Distribution.diagram_Distribution.changeMade();
|
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
}
|
|
|
|
private class MyChangeListener extends Diagram_Distribution_ChangeListener
|
{
|
public void changeMade()
|
{
|
try
|
{
|
program_information.validated = false;
|
table1.setValue(Shared.getMessage("Validated"), program_information.validated);
|
}
|
catch (Exception exception)
|
{
|
}
|
}
|
|
}
|
|
}
|