Changeset 26579 in osm for applications/editors


Ignore:
Timestamp:
2011-08-26T20:08:50+02:00 (13 years ago)
Author:
malcolmh
Message:

save

Location:
applications/editors/josm/plugins/smed/plugs/oseam/src/oseam
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/msg/messages.properties

    r26573 r26579  
    118118Pink=Pink
    119119
     120UKCategory=Unknown Category
     121Traffic=Traffic Control
     122PortControl=Port Control
     123PortEntry=Port Entry/Departure
     124IPT=International Port Traffic
     125Berthing=Berthing
     126Dock=Dock
    120127Lock=Lock
     128Barrage=Flood Barrage
     129Bridge=Bridge Passage
     130Dredging=Dredging
     131Danger=Danger
    121132Storm=Storm
     133Weather=Weather
     134Obstruction=Obstruction
     135Cable=Cable
     136Distress=Distress
     137Time=time
     138Tide=Tide
     139TidalStream=Tidal Stream
     140TideGauge=Tide Gauge
     141TideScale=Tide Scale
     142Diving=Diving
     143Ice=Ice
     144LevelGauge=Water Level Gauge
     145Military=Military Practice
    122146
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java

    r26573 r26579  
    112112                        }
    113113                        if (dlg.mark != null) {
    114                                 dlg.panelMain.moreButton.setVisible(true);
     114                                if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN))
     115                                        dlg.panelMain.moreButton.setVisible(true);
     116                                else
     117                                        dlg.panelMain.moreButton.setVisible(false);
    115118                                dlg.mark.paintSign();
    116119                        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelLights.java

    r26573 r26579  
    1515
    1616        private OSeaMAction dlg;
    17        
     17
    1818        public JLabel categoryLabel;
    1919
    2020        public JComboBox trafficCatBox;
     21        public EnumMap<Cat, Integer> trafficCats = new EnumMap<Cat, Integer>(Cat.class);
    2122        private ActionListener alTrafficCatBox = new ActionListener() {
    2223                public void actionPerformed(java.awt.event.ActionEvent e) {
     24                        for (Cat cat : trafficCats.keySet()) {
     25                                int idx = trafficCats.get(cat);
     26                                if (dlg.mark != null && (idx == trafficCatBox.getSelectedIndex()))
     27                                        dlg.mark.setCategory(cat);
     28                        }
     29                        checkValidity();
    2330                }
    2431        };
    2532
    2633        public JComboBox warningCatBox;
     34        public EnumMap<Cat, Integer> warningCats = new EnumMap<Cat, Integer>(Cat.class);
    2735        private ActionListener alWarningCatBox = new ActionListener() {
    2836                public void actionPerformed(java.awt.event.ActionEvent e) {
     37                        for (Cat cat : warningCats.keySet()) {
     38                                int idx = warningCats.get(cat);
     39                                if (dlg.mark != null && (idx == warningCatBox.getSelectedIndex()))
     40                                        dlg.mark.setCategory(cat);
     41                        }
     42                        checkValidity();
    2943                }
    3044        };
     
    6276                                warningCatBox.setVisible(false);
    6377                        }
    64                         if (dlg.mark != null) {
    65                                 dlg.panelMain.moreButton.setVisible(true);
    66                                 dlg.mark.paintSign();
    67                         }
     78                        checkValidity();
    6879                }
    6980        };
     
    8192
    8293                categoryLabel = new JLabel(Messages.getString("SSCategory"), SwingConstants.CENTER);
    83                 categoryLabel.setBounds(new Rectangle(20, 80, 140, 20));
     94                categoryLabel.setBounds(new Rectangle(10, 80, 160, 20));
    8495                this.add(categoryLabel, null);
    8596                categoryLabel.setVisible(false);
    86                
     97
    8798                trafficCatBox = new JComboBox();
    88                 trafficCatBox.setBounds(new Rectangle(20, 100, 140, 20));
     99                trafficCatBox.setBounds(new Rectangle(10, 100, 160, 20));
    89100                this.add(trafficCatBox, null);
    90101                trafficCatBox.addActionListener(alTrafficCatBox);
    91                 trafficCatBox.addItem(Messages.getString("UKCategory"));
    92                 trafficCatBox.addItem(Messages.getString("Lock"));
     102                addTCItem(Messages.getString("UKCategory"), Cat.UNKNOWN);
     103                addTCItem(Messages.getString("Traffic"), Cat.SIS_TRFC);
     104                addTCItem(Messages.getString("PortControl"), Cat.SIS_PTCL);
     105                addTCItem(Messages.getString("PortEntry"), Cat.SIS_PTED);
     106                addTCItem(Messages.getString("IPT"), Cat.SIS_IPT);
     107                addTCItem(Messages.getString("Berthing"), Cat.SIS_BRTH);
     108                addTCItem(Messages.getString("Dock"), Cat.SIS_DOCK);
     109                addTCItem(Messages.getString("Lock"), Cat.SIS_LOCK);
     110                addTCItem(Messages.getString("Barrage"), Cat.SIS_FBAR);
     111                addTCItem(Messages.getString("Bridge"), Cat.SIS_BRDG);
     112                addTCItem(Messages.getString("Dredging"), Cat.SIS_DRDG);
    93113                trafficCatBox.setVisible(false);
    94114
    95115                warningCatBox = new JComboBox();
    96                 warningCatBox.setBounds(new Rectangle(20, 100, 140, 20));
     116                warningCatBox.setBounds(new Rectangle(10, 100, 160, 20));
    97117                this.add(warningCatBox, null);
    98118                warningCatBox.addActionListener(alWarningCatBox);
    99                 warningCatBox.addItem(Messages.getString("UKCategory"));
    100                 warningCatBox.addItem(Messages.getString("Storm"));
     119                addWCItem(Messages.getString("UKCategory"), Cat.UNKNOWN);
     120                addWCItem(Messages.getString("Danger"), Cat.SIS_DNGR);
     121                addWCItem(Messages.getString("Storm"), Cat.SIS_STRM);
     122                addWCItem(Messages.getString("Weather"), Cat.SIS_WTHR);
     123                addWCItem(Messages.getString("Obstruction"), Cat.SIS_OBST);
     124                addWCItem(Messages.getString("Cable"), Cat.SIS_CABL);
     125                addWCItem(Messages.getString("Distress"), Cat.SIS_DSTR);
     126                addWCItem(Messages.getString("Time"), Cat.SIS_TIME);
     127                addWCItem(Messages.getString("Tide"), Cat.SIS_TIDE);
     128                addWCItem(Messages.getString("TidalStream"), Cat.SIS_TSTM);
     129                addWCItem(Messages.getString("TideGauge"), Cat.SIS_TGAG);
     130                addWCItem(Messages.getString("TideScale"), Cat.SIS_TSCL);
     131                addWCItem(Messages.getString("Diving"), Cat.SIS_DIVE);
     132                addWCItem(Messages.getString("Ice"), Cat.SIS_ICE);
     133                addWCItem(Messages.getString("LevelGauge"), Cat.SIS_LGAG);
     134                addWCItem(Messages.getString("Military"), Cat.SIS_MILY);
    101135                warningCatBox.setVisible(false);
    102136
    103137        }
    104138
     139        private void checkValidity() {
     140                if (dlg.mark != null) {
     141                        if (dlg.mark.getObject() != Obj.UNKNOWN) {
     142                                dlg.panelMain.fogButton.setEnabled(true);
     143                                dlg.panelMain.radButton.setEnabled(true);
     144                                dlg.panelMain.litButton.setEnabled(true);
     145                                dlg.panelMain.moreButton.setVisible(true);
     146                        } else {
     147                                dlg.panelMain.fogButton.setEnabled(false);
     148                                dlg.panelMain.radButton.setEnabled(false);
     149                                dlg.panelMain.litButton.setEnabled(false);
     150                                dlg.panelMain.moreButton.setVisible(false);
     151                        }
     152                        dlg.mark.paintSign();
     153                }
     154        }
     155       
     156        public void updateSelections() {
     157                if (dlg.mark != null) {
     158                        if (dlg.mark.getObject() == Obj.UNKNOWN) {
     159                                clearSelections();
     160                        } else {
     161                                objects.get(dlg.mark.getObject()).doClick();
     162                                if (dlg.mark.getObject() == Obj.SISTAT) {
     163                                        trafficCatBox.setSelectedIndex(trafficCats.get(dlg.mark.getCategory()));
     164                                }
     165                                if (dlg.mark.getObject() == Obj.SISTAW) {
     166                                        warningCatBox.setSelectedIndex(warningCats.get(dlg.mark.getCategory()));
     167                                }
     168                        }
     169                }
     170        }
     171
    105172        public void clearSelections() {
     173                warningCatBox.setSelectedIndex(0);
     174                trafficCatBox.setSelectedIndex(0);
    106175                objButtons.clearSelection();
    107176                alObj.actionPerformed(null);
    108177        }
    109178
    110         private JRadioButton getObjButton(JRadioButton button, int x, int y, int w, int h, String tip,Obj obj) {
     179        private void addTCItem(String str, Cat cat) {
     180                trafficCats.put(cat, trafficCatBox.getItemCount());
     181                trafficCatBox.addItem(str);
     182        }
     183
     184        private void addWCItem(String str, Cat cat) {
     185                warningCats.put(cat, warningCatBox.getItemCount());
     186                warningCatBox.addItem(str);
     187        }
     188
     189        private JRadioButton getObjButton(JRadioButton button, int x, int y, int w, int h, String tip, Obj obj) {
    111190                button.setBounds(new Rectangle(x, y, w, h));
    112191                button.setBorder(BorderFactory.createLineBorder(Color.magenta, 2));
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java

    r26573 r26579  
    135135                                }
    136136                                if (specButton.isSelected()) {
    137                                         if (dlg.mark != null) {
    138                                                 if (dlg.mark.getObject() == Obj.UNKNOWN) {
    139                                                         panelSpec.clearSelections();
    140                                                         panelSpec.panelCol.yellowButton.doClick();
    141                                                 } else {
    142                                                         panelSpec.panelCol.colours.get(dlg.mark.getColour(Ent.BODY, 0)).doClick();
    143                                                 }
    144                                                 if (panelSpec.shapes.containsKey(dlg.mark.getShape())) {
    145                                                         panelSpec.shapes.get(dlg.mark.getShape()).doClick();
    146                                                 } else {
    147                                                         panelSpec.shapeButtons.clearSelection();
    148                                                         panelSpec.alShape.actionPerformed(null);
    149                                                 }
    150                                         }
    151137                                        specButton.setBorderPainted(true);
    152138                                        panelSpec.setVisible(true);
     139                                        panelSpec.updateSelections();
    153140                                } else {
    154141                                        specButton.setBorderPainted(false);
     
    157144                                }
    158145                                if (lightsButton.isSelected()) {
    159                                         if (dlg.mark != null) {
    160                                                 if (dlg.mark.getObject() == Obj.UNKNOWN) {
    161                                                         panelLights.clearSelections();
    162                                                 } else {
    163                                                         panelLights.objects.get(dlg.mark.getObject()).doClick();
    164                                                 }
    165                                         }
    166146                                        lightsButton.setBorderPainted(true);
    167147                                        panelLights.setVisible(true);
     148                                        panelLights.updateSelections();
    168149                                } else {
    169150                                        lightsButton.setBorderPainted(false);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java

    r26573 r26579  
    9090                        }
    9191                        if (dlg.mark != null) {
    92                                 dlg.panelMain.moreButton.setVisible(true);
     92                                if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN))
     93                                        dlg.panelMain.moreButton.setVisible(true);
     94                                else
     95                                        dlg.panelMain.moreButton.setVisible(false);
    9396                                dlg.mark.paintSign();
    9497                        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java

    r26561 r26579  
    3232                                        button.setBorderPainted(false);
    3333                        }
    34                         if (dlg.mark != null)
     34                        if (dlg.mark != null) {
     35                                if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN))
     36                                        dlg.panelMain.moreButton.setVisible(true);
     37                                else
     38                                        dlg.panelMain.moreButton.setVisible(false);
    3539                                dlg.mark.paintSign();
     40                        }
    3641                }
    3742        };
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSpec.java

    r26573 r26579  
    5252                        }
    5353                        if (dlg.mark != null) {
    54                                 dlg.panelMain.moreButton.setVisible(true);
     54                                if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN))
     55                                        dlg.panelMain.moreButton.setVisible(true);
     56                                else
     57                                        dlg.panelMain.moreButton.setVisible(false);
    5558                                dlg.mark.paintSign();
    5659                        }
     
    99102        }
    100103
     104        public void updateSelections() {
     105                if (dlg.mark != null) {
     106                        if (dlg.mark.getObject() == Obj.UNKNOWN) {
     107                                clearSelections();
     108                                panelCol.yellowButton.doClick();
     109                        } else {
     110                                panelCol.colours.get(dlg.mark.getColour(Ent.BODY, 0)).doClick();
     111                        }
     112                        if (shapes.containsKey(dlg.mark.getShape())) {
     113                                shapes.get(dlg.mark.getShape()).doClick();
     114                        } else {
     115                                shapeButtons.clearSelection();
     116                                alShape.actionPerformed(null);
     117                        }
     118                } else
     119                        clearSelections();
     120        }
     121
    101122        public void clearSelections() {
    102123                shapeButtons.clearSelection();
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java

    r26573 r26579  
    9090                        }
    9191                        if (dlg.mark != null) {
    92                                 dlg.panelMain.moreButton.setVisible(true);
     92                                if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN))
     93                                        dlg.panelMain.moreButton.setVisible(true);
     94                                else
     95                                        dlg.panelMain.moreButton.setVisible(false);
    9396                                dlg.mark.paintSign();
    9497                        }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java

    r26572 r26579  
    140140
    141141        public enum Cat {
    142                 UNKNOWN, LAM_PORT, LAM_STBD, LAM_PPORT, LAM_PSTBD, CAM_NORTH, CAM_EAST, CAM_SOUTH, CAM_WEST, ACH_URST, ACH_DEEP, ACH_TANK, ACH_EXPL, ACH_QUAR, ACH_SPLN, ACH_SCAN, ACH_SCMO, ACH_T24H, ACH_TLIM, SPM_CHBF, SPM_YCHT, MOR_DLPN, MOR_DDPN, MOR_BLRD, MOR_WALL, MOR_POST, MOR_CHWR, MOR_BUOY, SIS_DOCK, SIS_LOCK, SIS_STRM, SIS_TIDE, LIT_DIRF, LIT_LEDG
     142                UNKNOWN, LAM_PORT, LAM_STBD, LAM_PPORT, LAM_PSTBD,
     143                CAM_NORTH, CAM_EAST, CAM_SOUTH, CAM_WEST,
     144                ACH_URST, ACH_DEEP, ACH_TANK, ACH_EXPL, ACH_QUAR, ACH_SPLN, ACH_SCAN, ACH_SCMO, ACH_T24H, ACH_TLIM,
     145                SPM_CHBF, SPM_YCHT,
     146                MOR_DLPN, MOR_DDPN, MOR_BLRD, MOR_WALL, MOR_POST, MOR_CHWR, MOR_BUOY,
     147                SIS_PTCL, SIS_PTED, SIS_IPT, SIS_BRTH, SIS_DOCK, SIS_LOCK, SIS_FBAR, SIS_BRDG, SIS_DRDG, SIS_TRFC,
     148                SIS_DNGR, SIS_OBST, SIS_CABL, SIS_MILY, SIS_DSTR, SIS_WTHR, SIS_STRM, SIS_ICE, SIS_TIME, SIS_TIDE, SIS_TSTM, SIS_TGAG, SIS_TSCL, SIS_DIVE, SIS_LGAG,
     149                LIT_DIRF, LIT_LEDG
    143150        }
    144151
     
    153160                CatSTR.put(Cat.CAM_SOUTH, "south");
    154161                CatSTR.put(Cat.CAM_WEST, "west");
     162                CatSTR.put(Cat.MOR_DLPN, "dolphin");
     163                CatSTR.put(Cat.MOR_DDPN, "deviation_dolphon");
     164                CatSTR.put(Cat.MOR_BLRD, "bollard");
     165                CatSTR.put(Cat.MOR_WALL, "wall");
     166                CatSTR.put(Cat.MOR_POST, "post");
     167                CatSTR.put(Cat.MOR_CHWR, "chain");
    155168                CatSTR.put(Cat.MOR_BUOY, "buoy");
     169                CatSTR.put(Cat.SIS_PTCL, "control");
     170                CatSTR.put(Cat.SIS_PTED, "entry");
     171                CatSTR.put(Cat.SIS_IPT, "ipt");
     172                CatSTR.put(Cat.SIS_BRTH, "berthing");
     173                CatSTR.put(Cat.SIS_DOCK, "dock");
     174                CatSTR.put(Cat.SIS_LOCK, "lock");
     175                CatSTR.put(Cat.SIS_FBAR, "barrage");
     176                CatSTR.put(Cat.SIS_BRDG, "bridge");
     177                CatSTR.put(Cat.SIS_DRDG, "dredging");
     178                CatSTR.put(Cat.SIS_TRFC, "traffic");
     179                CatSTR.put(Cat.SIS_DNGR, "danger");
     180                CatSTR.put(Cat.SIS_OBST, "obstruction");
     181                CatSTR.put(Cat.SIS_CABL, "cable");
     182                CatSTR.put(Cat.SIS_MILY, "military");
     183                CatSTR.put(Cat.SIS_DSTR, "distress");
     184                CatSTR.put(Cat.SIS_WTHR, "weather");
     185                CatSTR.put(Cat.SIS_STRM, "storm");
     186                CatSTR.put(Cat.SIS_ICE, "ice");
     187                CatSTR.put(Cat.SIS_TIME, "time");
     188                CatSTR.put(Cat.SIS_TIDE, "tide");
     189                CatSTR.put(Cat.SIS_TSTM, "stream");
     190                CatSTR.put(Cat.SIS_TGAG, "gauge");
     191                CatSTR.put(Cat.SIS_TSCL, "scale");
     192                CatSTR.put(Cat.SIS_DIVE, "diving");
     193                CatSTR.put(Cat.SIS_LGAG, "level");
    156194        }
    157195
Note: See TracChangeset for help on using the changeset viewer.