Changeset 27040 in osm


Ignore:
Timestamp:
2011-11-11T20:56:25+01:00 (13 years ago)
Author:
malcolmh
Message:

save

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

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelChan.java

    r27035 r27040  
    2525        private ActionListener alCat = new ActionListener() {
    2626                public void actionPerformed(java.awt.event.ActionEvent e) {
     27                        panelPort.setVisible(false);
     28                        panelStbd.setVisible(false);
     29                        panelSaw.setVisible(false);
     30                        dlg.panelMain.moreButton.setVisible(false);
     31                        dlg.panelMain.saveButton.setEnabled(false);
     32                        topmarkButton.setVisible(false);
    2733                        Shp shp = dlg.mark.getShape();
    2834                        if (portButton.isSelected()) {
    2935                                dlg.mark.setCategory(Cat.LAM_PORT);
    30                                 if (!panelPort.shapes.containsKey(shp)) {
    31                                         dlg.mark.setShape(Shp.UNKNOWN);
    32                                 }
     36                                if (panelPort.shapes.containsKey(shp)) {
     37                                        panelPort.shapes.get(shp).setSelected(true);
     38                                } else {
     39                                        panelPort.shapeButtons.clearSelection();
     40                                        dlg.mark.setShape(Shp.UNKNOWN);
     41                                }
     42                                panelPort.alShape.actionPerformed(null);
     43                                panelPort.setVisible(true);
     44                                portButton.setBorderPainted(true);
     45                        } else {
     46                                portButton.setBorderPainted(false);
    3347                        }
    3448                        if (prefPortButton.isSelected()) {
    3549                                dlg.mark.setCategory(Cat.LAM_PPORT);
    36                                 if (!panelPort.shapes.containsKey(shp)) {
    37                                         dlg.mark.setShape(Shp.UNKNOWN);
    38                                 }
     50                                if (panelPort.shapes.containsKey(shp)) {
     51                                        panelPort.shapes.get(shp).setSelected(true);
     52                                } else {
     53                                        panelPort.shapeButtons.clearSelection();
     54                                        dlg.mark.setShape(Shp.UNKNOWN);
     55                                }
     56                                panelPort.alShape.actionPerformed(null);
     57                                panelPort.setVisible(true);
     58                                prefPortButton.setBorderPainted(true);
     59                        } else {
     60                                prefPortButton.setBorderPainted(false);
    3961                        }
    4062                        if (stbdButton.isSelected()) {
    4163                                dlg.mark.setCategory(Cat.LAM_STBD);
    42                                 if (!panelStbd.shapes.containsKey(shp)) {
    43                                         dlg.mark.setShape(Shp.UNKNOWN);
    44                                 }
     64                                if (panelStbd.shapes.containsKey(shp)) {
     65                                        panelStbd.shapes.get(shp).setSelected(true);
     66                                } else {
     67                                        panelStbd.shapeButtons.clearSelection();
     68                                        dlg.mark.setShape(Shp.UNKNOWN);
     69                                }
     70                                panelStbd.alShape.actionPerformed(null);
     71                                panelStbd.setVisible(true);
     72                                stbdButton.setBorderPainted(true);
     73                        } else {
     74                                stbdButton.setBorderPainted(false);
    4575                        }
    4676                        if (prefStbdButton.isSelected()) {
    4777                                dlg.mark.setCategory(Cat.LAM_PSTBD);
    48                                 if (!panelStbd.shapes.containsKey(shp)) {
    49                                         dlg.mark.setShape(Shp.UNKNOWN);
    50                                 }
     78                                if (panelStbd.shapes.containsKey(shp)) {
     79                                        panelStbd.shapes.get(shp).setSelected(true);
     80                                } else {
     81                                        panelStbd.shapeButtons.clearSelection();
     82                                        dlg.mark.setShape(Shp.UNKNOWN);
     83                                }
     84                                panelStbd.alShape.actionPerformed(null);
     85                                panelStbd.setVisible(true);
     86                                prefStbdButton.setBorderPainted(true);
     87                        } else {
     88                                prefStbdButton.setBorderPainted(false);
    5189                        }
    5290                        if (safeWaterButton.isSelected()) {
    5391                                dlg.mark.setCategory(Cat.NONE);
    54                                 if (!panelSaw.shapes.containsKey(shp)) {
    55                                         dlg.mark.setShape(Shp.UNKNOWN);
    56                                 }
    57                         }
    58                         syncPanel();
     92                                panelSaw.setVisible(true);
     93                                if (panelSaw.shapes.containsKey(shp)) {
     94                                        panelSaw.shapes.get(shp).setSelected(true);
     95                                } else {
     96                                        panelSaw.shapeButtons.clearSelection();
     97                                        dlg.mark.setShape(Shp.UNKNOWN);
     98                                }
     99                                panelSaw.alShape.actionPerformed(null);
     100                                panelSaw.setVisible(true);
     101                                safeWaterButton.setBorderPainted(true);
     102                        } else {
     103                                safeWaterButton.setBorderPainted(false);
     104                        }
     105                        if (dlg.mark.isValid()) {
     106                                dlg.panelMain.moreButton.setVisible(true);
     107                                dlg.panelMain.saveButton.setEnabled(true);
     108                                topmarkButton.setVisible(true);
     109                        }
     110                        alTop.actionPerformed(null);
    59111                        dlg.mark.paintSign();
    60112                }
     
    151203
    152204        public void syncPanel() {
    153                 if ((dlg.mark.getCategory() == Cat.LAM_PORT) || (dlg.mark.getCategory() == Cat.LAM_PPORT)) {
     205                panelPort.setVisible(false);
     206                panelStbd.setVisible(false);
     207                panelSaw.setVisible(false);
     208                if (dlg.mark.getCategory() == Cat.LAM_PORT) {
     209                        panelPort.setVisible(true);
    154210                        portButton.setBorderPainted(true);
     211                } else {
     212                        portButton.setBorderPainted(false);
     213                }
     214                if (dlg.mark.getCategory() == Cat.LAM_PPORT) {
    155215                        panelPort.setVisible(true);
    156                         panelPort.syncPanel();
    157                 } else {
    158                         portButton.setBorderPainted(false);
    159                         panelPort.setVisible(false);
    160                 }
    161                 if ((dlg.mark.getCategory() == Cat.LAM_STBD) || (dlg.mark.getCategory() == Cat.LAM_PSTBD)) {
     216                        prefPortButton.setBorderPainted(true);
     217                } else {
     218                        prefPortButton.setBorderPainted(false);
     219                }
     220                if (dlg.mark.getCategory() == Cat.LAM_STBD) {
     221                        panelStbd.setVisible(true);
    162222                        stbdButton.setBorderPainted(true);
     223                } else {
     224                        stbdButton.setBorderPainted(false);
     225                }
     226                if (dlg.mark.getCategory() == Cat.LAM_PSTBD) {
    163227                        panelStbd.setVisible(true);
    164                         panelStbd.syncPanel();
    165                 } else {
    166                         stbdButton.setBorderPainted(false);
    167                         panelStbd.setVisible(false);
     228                        prefStbdButton.setBorderPainted(true);
     229                } else {
     230                        prefStbdButton.setBorderPainted(false);
    168231                }
    169232                if (SeaMark.GrpMAP.get(dlg.mark.getObject()) == Grp.SAW) {
     233                        panelSaw.setVisible(true);
    170234                        safeWaterButton.setBorderPainted(true);
    171                         panelSaw.setVisible(true);
    172235                } else {
    173236                        safeWaterButton.setBorderPainted(false);
    174                         panelSaw.setVisible(false);
    175237                }
    176238                topmarkButton.setBorderPainted(dlg.mark.hasTopmark());
     
    178240                        topmarkButton.setVisible(true);
    179241                        dlg.panelMain.moreButton.setVisible(true);
    180                         panelSaw.syncPanel();
     242                        dlg.panelMain.saveButton.setEnabled(true);
    181243                } else {
    182244                        topmarkButton.setVisible(false);
    183245                        dlg.panelMain.moreButton.setVisible(false);
    184                 }
     246                        dlg.panelMain.saveButton.setEnabled(false);
     247                }
     248                panelPort.syncPanel();
     249                panelStbd.syncPanel();
     250                panelSaw.syncPanel();
    185251        }
    186252
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelMain.java

    r27031 r27040  
    284284                typeButtons.clearSelection();
    285285                chanButton.setBorderPainted(false);
     286                chanButton.setEnabled(false);
    286287                hazButton.setBorderPainted(false);
     288                hazButton.setEnabled(false);
    287289                specButton.setBorderPainted(false);
     290                specButton.setEnabled(false);
    288291                lightsButton.setBorderPainted(false);
     292                lightsButton.setEnabled(false);
     293                topButton.setEnabled(false);
     294                fogButton.setEnabled(false);
     295                radButton.setEnabled(false);
     296                litButton.setEnabled(false);
     297                saveButton.setEnabled(false);
     298                moreButton.setVisible(false);
    289299                panelChan.setVisible(false);
    290300                panelHaz.setVisible(false);
     
    300310                radarIcon.setIcon(null);
    301311                fogIcon.setIcon(null);
    302                 if (dlg.mark == null) {
    303                         topButton.setEnabled(false);
    304                         fogButton.setEnabled(false);
    305                         radButton.setEnabled(false);
    306                         litButton.setEnabled(false);
    307                         moreButton.setVisible(false);
    308                         saveButton.setEnabled(false);
    309                         nameBox.setEnabled(false);
    310                         chanButton.setEnabled(false);
    311                         hazButton.setEnabled(false);
    312                         specButton.setEnabled(false);
    313                         lightsButton.setEnabled(false);
    314                 } else {
     312                nameBox.setEnabled(false);
     313                if (dlg.mark != null) {
    315314                        nameBox.setEnabled(true);
    316315                        chanButton.setEnabled(true);
     
    319318                        lightsButton.setEnabled(true);
    320319                        nameBox.setText(dlg.mark.getName());
    321                         panelChan.setVisible(false);
    322                         panelHaz.setVisible(false);
    323                         panelSpec.setVisible(false);
    324                         panelLights.setVisible(false);
    325320                        if (dlg.mark.isValid()) {
     321                                moreButton.setVisible(true);
    326322                                moreButton.setEnabled(true);
    327323                                topButton.setEnabled(true);
     
    329325                                radButton.setEnabled(true);
    330326                                litButton.setEnabled(true);
     327                                saveButton.setEnabled(true);
    331328                        }
    332329                        switch (SeaMark.GrpMAP.get(dlg.mark.getObject())) {
     
    356353                                break;
    357354                        }
     355                        panelChan.syncPanel();
     356                        panelHaz.syncPanel();
     357                        panelSpec.syncPanel();
     358                        panelLights.syncPanel();
    358359                        panelMore.syncPanel();
    359360                        panelTop.syncPanel();
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java

    r27023 r27040  
    1414
    1515        private OSeaMAction dlg;
    16         private ButtonGroup shapeButtons = new ButtonGroup();
     16        public ButtonGroup shapeButtons = new ButtonGroup();
    1717        public JRadioButton pillarButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/PillarButton.png")));
    1818        public JRadioButton sparButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/SparButton.png")));
     
    2626        public EnumMap<Shp, JRadioButton> shapes = new EnumMap<Shp, JRadioButton>(Shp.class);
    2727        public EnumMap<Shp, Obj> objects = new EnumMap<Shp, Obj>(Shp.class);
    28         private ActionListener alShape = new ActionListener() {
     28        public ActionListener alShape = new ActionListener() {
    2929                public void actionPerformed(java.awt.event.ActionEvent e) {
    3030                        for (Shp shp : shapes.keySet()) {
     
    4040                                dlg.panelMain.moreButton.setVisible(true);
    4141                                dlg.panelMain.panelChan.topmarkButton.setVisible(true);
    42                                 dlg.panelMain.saveButton.setEnabled(true);
    4342                                dlg.panelMain.topButton.setEnabled(true);
    4443                                dlg.panelMain.fogButton.setEnabled(true);
     
    9392                                dlg.panelMain.radButton.setEnabled(false);
    9493                                dlg.panelMain.litButton.setEnabled(false);
     94                                dlg.panelMain.saveButton.setEnabled(false);
    9595                        }
    9696                        dlg.mark.paintSign();
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java

    r27023 r27040  
    1414
    1515        private OSeaMAction dlg;
    16         private ButtonGroup shapeButtons = new ButtonGroup();
     16        public ButtonGroup shapeButtons = new ButtonGroup();
    1717        public JRadioButton pillarButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/PillarButton.png")));
    1818        public JRadioButton sparButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/SparButton.png")));
     
    2222        public EnumMap<Shp, JRadioButton> shapes = new EnumMap<Shp, JRadioButton>(Shp.class);
    2323        public EnumMap<Shp, Obj> objects = new EnumMap<Shp, Obj>(Shp.class);
    24         private ActionListener alShape = new ActionListener() {
     24        public ActionListener alShape = new ActionListener() {
    2525                public void actionPerformed(java.awt.event.ActionEvent e) {
    2626                        for (Shp shp : shapes.keySet()) {
     
    3333                                        button.setBorderPainted(false);
    3434                        }
    35                         if (dlg.mark != null) {
    36                                 if ((dlg.mark.getObject() != Obj.UNKNOWN) && (dlg.mark.getShape() != Shp.UNKNOWN)) {
    37                                         dlg.panelMain.moreButton.setVisible(true);
    38                                         dlg.panelMain.panelChan.topmarkButton.setVisible(true);
    39                                         dlg.panelMain.topButton.setEnabled(true);
    40                                         dlg.panelMain.fogButton.setEnabled(true);
    41                                         dlg.panelMain.radButton.setEnabled(true);
    42                                         dlg.panelMain.litButton.setEnabled(true);
    43                                         dlg.mark.setObjPattern(Pat.VERT);
    44                                         dlg.mark.setObjColour(Col.RED);
    45                                         dlg.mark.addObjColour(Col.WHITE);
    46                                 } else {
    47                                         dlg.panelMain.moreButton.setVisible(false);
    48                                         dlg.panelMain.topButton.setEnabled(false);
    49                                         dlg.panelMain.fogButton.setEnabled(false);
    50                                         dlg.panelMain.radButton.setEnabled(false);
    51                                         dlg.panelMain.litButton.setEnabled(false);
    52                                 }
    53                                 dlg.panelMain.panelMore.syncPanel();
    54                                 dlg.mark.paintSign();
     35                        if (dlg.mark.isValid()) {
     36                                dlg.panelMain.moreButton.setVisible(true);
     37                                dlg.panelMain.panelChan.topmarkButton.setVisible(true);
     38                                dlg.panelMain.topButton.setEnabled(true);
     39                                dlg.panelMain.fogButton.setEnabled(true);
     40                                dlg.panelMain.radButton.setEnabled(true);
     41                                dlg.panelMain.litButton.setEnabled(true);
     42                                dlg.panelMain.saveButton.setEnabled(true);
     43                                dlg.mark.setObjPattern(Pat.VERT);
     44                                dlg.mark.setObjColour(Col.RED);
     45                                dlg.mark.addObjColour(Col.WHITE);
     46                        } else {
     47                                dlg.panelMain.moreButton.setVisible(false);
     48                                dlg.panelMain.topButton.setEnabled(false);
     49                                dlg.panelMain.fogButton.setEnabled(false);
     50                                dlg.panelMain.radButton.setEnabled(false);
     51                                dlg.panelMain.litButton.setEnabled(false);
     52                                dlg.panelMain.saveButton.setEnabled(false);
    5553                        }
     54                        dlg.panelMain.panelMore.syncPanel();
     55                        dlg.mark.paintSign();
    5656                }
    5757        };
     
    6464                this.add(getShapeButton(sphereButton, 0, 64, 34, 32, "Sphere", Shp.SPHERE, Obj.BOYSAW), null);
    6565                this.add(getShapeButton(floatButton, 0, 96, 34, 32, "Float", Shp.FLOAT, Obj.FLTSAW), null);
    66                 this.add(getShapeButton(beaconButton, 0, 128, 34, 32, "Beacon", Shp.BEACON, Obj.FLTSAW), null);
     66                this.add(getShapeButton(beaconButton, 0, 128, 34, 32, "Beacon", Shp.BEACON, Obj.BCNSAW), null);
    6767        }
    6868
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java

    r27023 r27040  
    1414
    1515        private OSeaMAction dlg;
    16         private ButtonGroup shapeButtons = new ButtonGroup();
     16        public ButtonGroup shapeButtons = new ButtonGroup();
    1717        public JRadioButton pillarButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/PillarButton.png")));
    1818        public JRadioButton sparButton = new JRadioButton(new ImageIcon(getClass().getResource("/images/SparButton.png")));
     
    2626        public EnumMap<Shp, JRadioButton> shapes = new EnumMap<Shp, JRadioButton>(Shp.class);
    2727        public EnumMap<Shp, Obj> objects = new EnumMap<Shp, Obj>(Shp.class);
    28         private ActionListener alShape = new ActionListener() {
     28        public ActionListener alShape = new ActionListener() {
    2929                public void actionPerformed(java.awt.event.ActionEvent e) {
    3030                        for (Shp shp : shapes.keySet()) {
     
    4040                                dlg.panelMain.moreButton.setVisible(true);
    4141                                dlg.panelMain.panelChan.topmarkButton.setVisible(true);
    42                                 dlg.panelMain.saveButton.setEnabled(true);
    4342                                dlg.panelMain.topButton.setEnabled(true);
    4443                                dlg.panelMain.fogButton.setEnabled(true);
     
    9392                                dlg.panelMain.radButton.setEnabled(false);
    9493                                dlg.panelMain.litButton.setEnabled(false);
     94                                dlg.panelMain.saveButton.setEnabled(false);
    9595                        }
    9696                        dlg.mark.paintSign();
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java

    r27035 r27040  
    14001400                if (paintlock)
    14011401                        return;
    1402                 paintlock = true;
    14031402
    14041403                dlg.panelMain.shapeIcon.setIcon(null);
Note: See TracChangeset for help on using the changeset viewer.