// License: GPL. For details, see LICENSE file.
package panels;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.EnumMap;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import messages.Messages;
import seamarks.SeaMark.Cat;
import seamarks.SeaMark.Fnc;
import seamarks.SeaMark.Obj;
import seamarks.SeaMark.Shp;
import smed.SmedAction;
public class PanelLights extends JPanel {
private SmedAction dlg;
public JLabel categoryLabel;
public JComboBox<String> landCatBox;
public EnumMap<Cat, Integer> landCats = new EnumMap<>(Cat.class);
private ActionListener alLandCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : landCats.keySet()) {
int idx = landCats.get(cat);
if (dlg.node != null && (idx == landCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> trafficCatBox;
public EnumMap<Cat, Integer> trafficCats = new EnumMap<>(Cat.class);
private ActionListener alTrafficCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : trafficCats.keySet()) {
int idx = trafficCats.get(cat);
if (dlg.node != null && (idx == trafficCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> warningCatBox;
public EnumMap<Cat, Integer> warningCats = new EnumMap<>(Cat.class);
private ActionListener alWarningCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : warningCats.keySet()) {
int idx = warningCats.get(cat);
if (dlg.node != null && (idx == warningCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> platformCatBox;
public EnumMap<Cat, Integer> platformCats = new EnumMap<>(Cat.class);
private ActionListener alPlatformCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : platformCats.keySet()) {
int idx = platformCats.get(cat);
if (dlg.node != null && (idx == platformCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> pilotCatBox;
public EnumMap<Cat, Integer> pilotCats = new EnumMap<>(Cat.class);
private ActionListener alPilotCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : pilotCats.keySet()) {
int idx = pilotCats.get(cat);
if (dlg.node != null && (idx == pilotCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> rescueCatBox;
public EnumMap<Cat, Integer> rescueCats = new EnumMap<>(Cat.class);
private ActionListener alRescueCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : rescueCats.keySet()) {
int idx = rescueCats.get(cat);
if (dlg.node != null && (idx == rescueCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> radioCatBox;
public EnumMap<Cat, Integer> radioCats = new EnumMap<>(Cat.class);
private ActionListener alRadioCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : radioCats.keySet()) {
int idx = radioCats.get(cat);
if (dlg.node != null && (idx == radioCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JComboBox<String> radarCatBox;
public EnumMap<Cat, Integer> radarCats = new EnumMap<>(Cat.class);
private ActionListener alRadarCatBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Cat cat : radarCats.keySet()) {
int idx = radarCats.get(cat);
if (dlg.node != null && (idx == radarCatBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setCategory(cat);
SmedAction.panelMain.mark.testValid();
}
}
}
};
public JLabel functionLabel;
public JComboBox<String> functionBox;
public EnumMap<Fnc, Integer> functions = new EnumMap<>(Fnc.class);
private ActionListener alfunctionBox = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Fnc fnc : functions.keySet()) {
int idx = functions.get(fnc);
if (dlg.node != null && (idx == functionBox.getSelectedIndex())) {
SmedAction.panelMain.mark.setFunc(fnc);
SmedAction.panelMain.mark.testValid();
}
}
}
};
private ButtonGroup objButtons = new ButtonGroup();
public JRadioButton houseButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LighthouseButton.png")));
public JRadioButton majorButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LightMajorButton.png")));
public JRadioButton minorButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LightMinorButton.png")));
public JRadioButton vesselButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LightVesselButton.png")));
public JRadioButton floatButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LightFloatButton.png")));
public JRadioButton landButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/LandmarkButton.png")));
public JRadioButton trafficButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/TrafficButton.png")));
public JRadioButton warningButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/WarningButton.png")));
public JRadioButton platformButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/PlatformButton.png")));
public JRadioButton coastguardButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/CoastguardButton.png")));
public JRadioButton pilotButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/PilotButton.png")));
public JRadioButton rescueButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/RescueButton.png")));
public JRadioButton radioButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/RadioStationButton.png")));
public JRadioButton radarButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/RadarStationButton.png")));
public EnumMap<Obj, JRadioButton> objects = new EnumMap<>(Obj.class);
private ActionListener alObj = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (Obj obj : objects.keySet()) {
JRadioButton button = objects.get(obj);
if (button.isSelected()) {
SmedAction.panelMain.mark.setObject(obj);
button.setBorderPainted(true);
} else {
button.setBorderPainted(false);
}
}
if (SmedAction.panelMain.mark.getObject() == Obj.LITVES) {
SmedAction.panelMain.mark.setShape(Shp.SUPER);
} else if (SmedAction.panelMain.mark.getObject() == Obj.LITFLT) {
SmedAction.panelMain.mark.setShape(Shp.FLOAT);
} else {
SmedAction.panelMain.mark.setShape(Shp.UNKSHP);
}
functionLabel.setVisible(false);
categoryLabel.setVisible(false);
functionLabel.setVisible(false);
functionBox.setVisible(false);
landCatBox.setVisible(false);
trafficCatBox.setVisible(false);
warningCatBox.setVisible(false);
platformCatBox.setVisible(false);
pilotCatBox.setVisible(false);
rescueCatBox.setVisible(false);
radioCatBox.setVisible(false);
radarCatBox.setVisible(false);
chLabel.setVisible(false);
chBox.setVisible(false);
SmedAction.panelMain.mark.setCategory(Cat.NOCAT);
if (landButton.isSelected()) {
functionLabel.setVisible(true);
categoryLabel.setVisible(true);
functionBox.setVisible(true);
landCatBox.setVisible(true);
alLandCatBox.actionPerformed(null);
} else if (trafficButton.isSelected()) {
categoryLabel.setVisible(true);
trafficCatBox.setVisible(true);
chLabel.setVisible(true);
chBox.setVisible(true);
alTrafficCatBox.actionPerformed(null);
} else if (warningButton.isSelected()) {
categoryLabel.setVisible(true);
warningCatBox.setVisible(true);
chLabel.setVisible(true);
chBox.setVisible(true);
alWarningCatBox.actionPerformed(null);
} else if (platformButton.isSelected()) {
categoryLabel.setVisible(true);
platformCatBox.setVisible(true);
alPlatformCatBox.actionPerformed(null);
} else if (pilotButton.isSelected()) {
categoryLabel.setVisible(true);
pilotCatBox.setVisible(true);
chLabel.setVisible(true);
chBox.setVisible(true);
alPilotCatBox.actionPerformed(null);
} else if (rescueButton.isSelected()) {
categoryLabel.setVisible(true);
rescueCatBox.setVisible(true);
alRescueCatBox.actionPerformed(null);
} else if (radioButton.isSelected()) {
categoryLabel.setVisible(true);
radioCatBox.setVisible(true);
chLabel.setVisible(true);
chBox.setVisible(true);
alRadioCatBox.actionPerformed(null);
} else if (radarButton.isSelected()) {
categoryLabel.setVisible(true);
radarCatBox.setVisible(true);
chLabel.setVisible(true);
chBox.setVisible(true);
alRadarCatBox.actionPerformed(null);
}
SmedAction.panelMain.mark.testValid();
}
};
public JLabel chLabel;
public JTextField chBox;
private FocusListener flCh = new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
SmedAction.panelMain.mark.setChannel(chBox.getText());
}
};
public PanelLights(SmedAction dia) {
dlg = dia;
setLayout(null);
add(getObjButton(houseButton, 0, 0, 34, 32, "Lighthouse", Obj.LITHSE));
add(getObjButton(majorButton, 34, 0, 34, 32, "MajorLight", Obj.LITMAJ));
add(getObjButton(minorButton, 68, 0, 34, 32, "MinorLight", Obj.LITMIN));
add(getObjButton(landButton, 102, 0, 34, 32, "Landmark", Obj.LNDMRK));
add(getObjButton(platformButton, 136, 0, 34, 32, "Platform", Obj.OFSPLF));
add(getObjButton(vesselButton, 0, 32, 34, 32, "LightVessel", Obj.LITVES));
add(getObjButton(floatButton, 34, 32, 34, 32, "LightFloat", Obj.LITFLT));
add(getObjButton(trafficButton, 68, 32, 34, 32, "SSTraffic", Obj.SISTAT));
add(getObjButton(warningButton, 102, 32, 34, 32, "SSWarning", Obj.SISTAW));
add(getObjButton(coastguardButton, 0, 64, 34, 32, "CoastguardStation", Obj.CGUSTA));
add(getObjButton(pilotButton, 34, 64, 34, 32, "PilotBoarding", Obj.PILBOP));
add(getObjButton(rescueButton, 68, 64, 34, 32, "RescueStation", Obj.RSCSTA));
add(getObjButton(radioButton, 102, 64, 34, 32, "RadioStation", Obj.RDOSTA));
add(getObjButton(radarButton, 136, 64, 34, 32, "RadarStation", Obj.RADSTA));
functionLabel = new JLabel(Messages.getString("Function"), SwingConstants.CENTER);
functionLabel.setBounds(new Rectangle(5, 94, 160, 18));
add(functionLabel);
functionLabel.setVisible(false);
functionBox = new JComboBox<>();
functionBox.setBounds(new Rectangle(5, 110, 160, 18));
add(functionBox);
functionBox.addActionListener(alfunctionBox);
addLFItem("", Fnc.UNKFNC);
addLFItem(Messages.getString("Church"), Fnc.CHCH);
addLFItem(Messages.getString("Chapel"), Fnc.CHPL);
addLFItem(Messages.getString("Temple"), Fnc.TMPL);
addLFItem(Messages.getString("Pagoda"), Fnc.PGDA);
addLFItem(Messages.getString("ShintoShrine"), Fnc.SHSH);
addLFItem(Messages.getString("BuddhistTemple"), Fnc.BTMP);
addLFItem(Messages.getString("Mosque"), Fnc.MOSQ);
addLFItem(Messages.getString("Marabout"), Fnc.MRBT);
functionBox.setVisible(false);
categoryLabel = new JLabel(Messages.getString("Category"), SwingConstants.CENTER);
categoryLabel.setBounds(new Rectangle(5, 125, 160, 18));
add(categoryLabel);
categoryLabel.setVisible(false);
landCatBox = new JComboBox<>();
landCatBox.setBounds(new Rectangle(5, 142, 160, 18));
add(landCatBox);
landCatBox.addActionListener(alLandCatBox);
addLCItem("", Cat.NOCAT);
addLCItem(Messages.getString("Tower"), Cat.LMK_TOWR);
addLCItem(Messages.getString("WaterTower"), Cat.LMK_WTRT);
addLCItem(Messages.getString("Chimney"), Cat.LMK_CHMY);
addLCItem(Messages.getString("Mast"), Cat.LMK_MAST);
addLCItem(Messages.getString("Column"), Cat.LMK_CLMN);
addLCItem(Messages.getString("DishAerial"), Cat.LMK_DSHA);
addLCItem(Messages.getString("Flagstaff"), Cat.LMK_FLGS);
addLCItem(Messages.getString("FlareStack"), Cat.LMK_FLRS);
addLCItem(Messages.getString("Monument"), Cat.LMK_MNMT);
addLCItem(Messages.getString("WindMotor"), Cat.LMK_WNDM);
addLCItem(Messages.getString("WindSock"), Cat.LMK_WNDS);
addLCItem(Messages.getString("Obelisk"), Cat.LMK_OBLK);
addLCItem(Messages.getString("Statue"), Cat.LMK_STAT);
addLCItem(Messages.getString("Cross"), Cat.LMK_CROS);
addLCItem(Messages.getString("Dome"), Cat.LMK_DOME);
addLCItem(Messages.getString("RadarScanner"), Cat.LMK_SCNR);
addLCItem(Messages.getString("Windmill"), Cat.LMK_WNDL);
addLCItem(Messages.getString("Spire"), Cat.LMK_SPIR);
addLCItem(Messages.getString("Minaret"), Cat.LMK_MNRT);
addLCItem(Messages.getString("Cairn"), Cat.LMK_CARN);
landCatBox.setVisible(false);
trafficCatBox = new JComboBox<>();
trafficCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(trafficCatBox);
trafficCatBox.addActionListener(alTrafficCatBox);
addTCItem("", Cat.NOCAT);
addTCItem(Messages.getString("Traffic"), Cat.SIS_TRFC);
addTCItem(Messages.getString("PortControl"), Cat.SIS_PTCL);
addTCItem(Messages.getString("PortEntry"), Cat.SIS_PTED);
addTCItem(Messages.getString("IPT"), Cat.SIS_IPT);
addTCItem(Messages.getString("Berthing"), Cat.SIS_BRTH);
addTCItem(Messages.getString("Dock"), Cat.SIS_DOCK);
addTCItem(Messages.getString("Lock"), Cat.SIS_LOCK);
addTCItem(Messages.getString("Barrage"), Cat.SIS_FBAR);
addTCItem(Messages.getString("Bridge"), Cat.SIS_BRDG);
addTCItem(Messages.getString("Dredging"), Cat.SIS_DRDG);
trafficCatBox.setVisible(false);
warningCatBox = new JComboBox<>();
warningCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(warningCatBox);
warningCatBox.addActionListener(alWarningCatBox);
addWCItem("", Cat.NOCAT);
addWCItem(Messages.getString("Danger"), Cat.SIS_DNGR);
addWCItem(Messages.getString("Storm"), Cat.SIS_STRM);
addWCItem(Messages.getString("Weather"), Cat.SIS_WTHR);
addWCItem(Messages.getString("Obstruction"), Cat.SIS_OBST);
addWCItem(Messages.getString("Cable"), Cat.SIS_CABL);
addWCItem(Messages.getString("Distress"), Cat.SIS_DSTR);
addWCItem(Messages.getString("Time"), Cat.SIS_TIME);
addWCItem(Messages.getString("Tide"), Cat.SIS_TIDE);
addWCItem(Messages.getString("TidalStream"), Cat.SIS_TSTM);
addWCItem(Messages.getString("TideGauge"), Cat.SIS_TGAG);
addWCItem(Messages.getString("TideScale"), Cat.SIS_TSCL);
addWCItem(Messages.getString("Diving"), Cat.SIS_DIVE);
addWCItem(Messages.getString("Ice"), Cat.SIS_ICE);
addWCItem(Messages.getString("LevelGauge"), Cat.SIS_LGAG);
addWCItem(Messages.getString("Military"), Cat.SIS_MILY);
warningCatBox.setVisible(false);
platformCatBox = new JComboBox<>();
platformCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(platformCatBox);
platformCatBox.addActionListener(alPlatformCatBox);
addPLItem("", Cat.NOCAT);
addPLItem(Messages.getString("Oil"), Cat.OFP_OIL);
addPLItem(Messages.getString("Production"), Cat.OFP_PRD);
addPLItem(Messages.getString("Observation"), Cat.OFP_OBS);
addPLItem(Messages.getString("ALP"), Cat.OFP_ALP);
addPLItem(Messages.getString("SALM"), Cat.OFP_SALM);
addPLItem(Messages.getString("MooringTower"), Cat.OFP_MOR);
addPLItem(Messages.getString("ArtificialIsland"), Cat.OFP_ISL);
addPLItem(Messages.getString("FPSO"), Cat.OFP_FPSO);
addPLItem(Messages.getString("Accommodation"), Cat.OFP_ACC);
addPLItem(Messages.getString("NCCB"), Cat.OFP_NCCB);
platformCatBox.setVisible(false);
pilotCatBox = new JComboBox<>();
pilotCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(pilotCatBox);
pilotCatBox.addActionListener(alPilotCatBox);
addPTItem("", Cat.NOCAT);
addPTItem(Messages.getString("CruisingVessel"), Cat.PIL_VESS);
addPTItem(Messages.getString("Helicopter"), Cat.PIL_HELI);
addPTItem(Messages.getString("FromShore"), Cat.PIL_SHORE);
pilotCatBox.setVisible(false);
rescueCatBox = new JComboBox<>();
rescueCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(rescueCatBox);
rescueCatBox.addActionListener(alRescueCatBox);
addRSItem("", Cat.NOCAT);
addRSItem(Messages.getString("Lifeboat"), Cat.RSC_LFB);
addRSItem(Messages.getString("Rocket"), Cat.RSC_RKT);
addRSItem(Messages.getString("ShipwreckedRefuge"), Cat.RSC_RSW);
addRSItem(Messages.getString("IntertidalRefuge"), Cat.RSC_RIT);
addRSItem(Messages.getString("MooredLifeboat"), Cat.RSC_MLB);
addRSItem(Messages.getString("Radio"), Cat.RSC_RAD);
addRSItem(Messages.getString("FirstAid"), Cat.RSC_FAE);
addRSItem(Messages.getString("Seaplane"), Cat.RSC_SPL);
addRSItem(Messages.getString("Aircraft"), Cat.RSC_AIR);
addRSItem(Messages.getString("Tug"), Cat.RSC_TUG);
rescueCatBox.setVisible(false);
radioCatBox = new JComboBox<>();
radioCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(radioCatBox);
radioCatBox.addActionListener(alRadioCatBox);
addROItem("", Cat.NOCAT);
addROItem(Messages.getString("CircularBeacon"), Cat.ROS_OMNI);
addROItem(Messages.getString("DirectionalBeacon"), Cat.ROS_DIRL);
addROItem(Messages.getString("RotatingBeacon"), Cat.ROS_ROTP);
addROItem(Messages.getString("ConsolBeacon"), Cat.ROS_CNSL);
addROItem(Messages.getString("DirectionFinding"), Cat.ROS_RDF);
addROItem(Messages.getString("QTGService"), Cat.ROS_QTG);
addROItem(Messages.getString("AeronaticalBeacon"), Cat.ROS_AERO);
addROItem(Messages.getString("Decca"), Cat.ROS_DECA);
addROItem(Messages.getString("LoranC"), Cat.ROS_LORN);
addROItem(Messages.getString("DGPS"), Cat.ROS_DGPS);
addROItem(Messages.getString("Toran"), Cat.ROS_TORN);
addROItem(Messages.getString("Omega"), Cat.ROS_OMGA);
addROItem(Messages.getString("Syledis"), Cat.ROS_SYLD);
addROItem(Messages.getString("Chiaka"), Cat.ROS_CHKA);
addROItem(Messages.getString("PublicCommunication"), Cat.ROS_PCOM);
addROItem(Messages.getString("CommercialBroadcast"), Cat.ROS_COMB);
addROItem(Messages.getString("Facsimile"), Cat.ROS_FACS);
addROItem(Messages.getString("TimeSignal"), Cat.ROS_TIME);
addROItem(Messages.getString("AIS"), Cat.ROS_PAIS);
addROItem(Messages.getString("S-AIS"), Cat.ROS_SAIS);
addROItem(Messages.getString("V-AIS"), Cat.ROS_VAIS);
addROItem(Messages.getString("V-AISNC"), Cat.ROS_VANC);
addROItem(Messages.getString("V-AISSC"), Cat.ROS_VASC);
addROItem(Messages.getString("V-AISEC"), Cat.ROS_VAEC);
addROItem(Messages.getString("V-AISWC"), Cat.ROS_VAWC);
addROItem(Messages.getString("V-AISPL"), Cat.ROS_VAPL);
addROItem(Messages.getString("V-AISSL"), Cat.ROS_VASL);
addROItem(Messages.getString("V-AISID"), Cat.ROS_VAID);
addROItem(Messages.getString("V-AISSW"), Cat.ROS_VASW);
addROItem(Messages.getString("V-AISSP"), Cat.ROS_VASP);
addROItem(Messages.getString("V-AISWK"), Cat.ROS_VAWK);
radioCatBox.setVisible(false);
radarCatBox = new JComboBox<>();
radarCatBox.setBounds(new Rectangle(5, 140, 160, 20));
add(radarCatBox);
radarCatBox.addActionListener(alRadarCatBox);
addRAItem("", Cat.NOCAT);
addRAItem(Messages.getString("Surveillance"), Cat.RAS_SRV);
addRAItem(Messages.getString("CoastRadar"), Cat.RAS_CST);
radarCatBox.setVisible(false);
chLabel = new JLabel("Ch:", SwingConstants.CENTER);
chLabel.setBounds(new Rectangle(140, 32, 30, 15));
add(chLabel);
chBox = new JTextField();
chBox.setBounds(new Rectangle(140, 45, 30, 20));
chBox.setHorizontalAlignment(SwingConstants.CENTER);
add(chBox);
chBox.addFocusListener(flCh);
}
public void syncPanel() {
functionLabel.setVisible(false);
functionBox.setVisible(false);
categoryLabel.setVisible(false);
landCatBox.setVisible(false);
trafficCatBox.setVisible(false);
warningCatBox.setVisible(false);
platformCatBox.setVisible(false);
pilotCatBox.setVisible(false);
rescueCatBox.setVisible(false);
radioCatBox.setVisible(false);
radarCatBox.setVisible(false);
chLabel.setVisible(false);
chBox.setVisible(false);
chBox.setText(SmedAction.panelMain.mark.getChannel());
if ((SmedAction.panelMain.mark.getObject() == Obj.LNDMRK)
&& ((SmedAction.panelMain.mark.getCategory() != Cat.NOCAT) || (SmedAction.panelMain.mark.getFunc() != Fnc.UNKFNC))) {
functionLabel.setVisible(true);
categoryLabel.setVisible(true);
functionBox.setVisible(true);
landCatBox.setVisible(true);
for (Fnc fnc : functions.keySet()) {
int item = functions.get(fnc);
if (SmedAction.panelMain.mark.getFunc() == fnc) {
functionBox.setSelectedIndex(item);
}
}
for (Cat cat : landCats.keySet()) {
int item = landCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
landCatBox.setSelectedIndex(item);
}
}
} else if (SmedAction.panelMain.mark.getObject() == Obj.SISTAT) {
categoryLabel.setVisible(true);
trafficCatBox.setVisible(true);
for (Cat cat : trafficCats.keySet()) {
int item = trafficCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
trafficCatBox.setSelectedIndex(item);
}
}
chLabel.setVisible(true);
chBox.setVisible(true);
} else if (SmedAction.panelMain.mark.getObject() == Obj.SISTAW) {
categoryLabel.setVisible(true);
warningCatBox.setVisible(true);
for (Cat cat : warningCats.keySet()) {
int item = warningCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
warningCatBox.setSelectedIndex(item);
}
}
chLabel.setVisible(true);
chBox.setVisible(true);
} else if (SmedAction.panelMain.mark.getObject() == Obj.OFSPLF) {
categoryLabel.setVisible(true);
platformCatBox.setVisible(true);
for (Cat cat : platformCats.keySet()) {
int item = platformCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
platformCatBox.setSelectedIndex(item);
}
}
} else if (SmedAction.panelMain.mark.getObject() == Obj.PILBOP) {
categoryLabel.setVisible(true);
pilotCatBox.setVisible(true);
for (Cat cat : pilotCats.keySet()) {
int item = pilotCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
pilotCatBox.setSelectedIndex(item);
}
}
chLabel.setVisible(true);
chBox.setVisible(true);
} else if (SmedAction.panelMain.mark.getObject() == Obj.RSCSTA) {
categoryLabel.setVisible(true);
rescueCatBox.setVisible(true);
for (Cat cat : rescueCats.keySet()) {
int item = rescueCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
rescueCatBox.setSelectedIndex(item);
}
}
} else if (SmedAction.panelMain.mark.getObject() == Obj.RDOSTA) {
categoryLabel.setVisible(true);
radioCatBox.setVisible(true);
for (Cat cat : radioCats.keySet()) {
int item = radioCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
radioCatBox.setSelectedIndex(item);
}
}
chLabel.setVisible(true);
chBox.setVisible(true);
} else if (SmedAction.panelMain.mark.getObject() == Obj.RADSTA) {
categoryLabel.setVisible(true);
radarCatBox.setVisible(true);
for (Cat cat : radarCats.keySet()) {
int item = radarCats.get(cat);
if (SmedAction.panelMain.mark.getCategory() == cat) {
radarCatBox.setSelectedIndex(item);
}
}
chLabel.setVisible(true);
chBox.setVisible(true);
}
for (Obj obj : objects.keySet()) {
JRadioButton button = objects.get(obj);
button.setBorderPainted(SmedAction.panelMain.mark.getObject() == obj);
}
SmedAction.panelMain.mark.testValid();
}
private void addLCItem(String str, Cat cat) {
landCats.put(cat, landCatBox.getItemCount());
landCatBox.addItem(str);
}
private void addTCItem(String str, Cat cat) {
trafficCats.put(cat, trafficCatBox.getItemCount());
trafficCatBox.addItem(str);
}
private void addWCItem(String str, Cat cat) {
warningCats.put(cat, warningCatBox.getItemCount());
warningCatBox.addItem(str);
}
private void addPLItem(String str, Cat cat) {
platformCats.put(cat, platformCatBox.getItemCount());
platformCatBox.addItem(str);
}
private void addPTItem(String str, Cat cat) {
pilotCats.put(cat, pilotCatBox.getItemCount());
pilotCatBox.addItem(str);
}
private void addRSItem(String str, Cat cat) {
rescueCats.put(cat, rescueCatBox.getItemCount());
rescueCatBox.addItem(str);
}
private void addROItem(String str, Cat cat) {
radioCats.put(cat, radioCatBox.getItemCount());
radioCatBox.addItem(str);
}
private void addRAItem(String str, Cat cat) {
radarCats.put(cat, radarCatBox.getItemCount());
radarCatBox.addItem(str);
}
private void addLFItem(String str, Fnc fnc) {
functions.put(fnc, functionBox.getItemCount());
functionBox.addItem(str);
}
private JRadioButton getObjButton(JRadioButton button, int x, int y, int w, int h, String tip, Obj obj) {
button.setBounds(new Rectangle(x, y, w, h));
button.setBorder(BorderFactory.createLoweredBevelBorder());
button.setToolTipText(Messages.getString(tip));
button.addActionListener(alObj);
objButtons.add(button);
objects.put(obj, button);
return button;
}
}