Changeset 26972 in osm for applications/editors


Ignore:
Timestamp:
2011-10-27T22:12:18+02: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/PanelCol.java

    r26970 r26972  
    4242                                                if (ent == Ent.LIGHT) {
    4343                                                        dlg.mark.setColour(ent, col);
     44                                                        button.setBorderPainted(true);
    4445                                                } else {
    4546                                                        if (button == delButton) {
    46                                                                 if (stackCol.size() > 1) {
    47                                                                         JRadioButton btnI = stackCol.get(stackIdx);
    48                                                                         dlg.mark.subColour(ent, stackIdx);
    49                                                                         btnI.removeActionListener(alStack);
    50                                                                         stackColours.remove(btnI);
    51                                                                         stack.remove(btnI);
    52                                                                         stackCol.remove(stackIdx);
    53                                                                         if (stackCol.size() == stackIdx)
    54                                                                                 stackIdx--;
    55                                                                 } else {
    56                                                                         dlg.mark.setColour(ent, Col.UNKNOWN);
    57                                                                 }
     47                                                                dlg.mark.subColour(ent, stackIdx);
    5848                                                        } else if (button == addButton) {
    5949                                                                if (stackCol.size() != 0)
    6050                                                                        stackIdx++;
    61                                                                 if (stackIdx == 0)
     51                                                                if (stackCol.size() == 0)
    6252                                                                        dlg.mark.setColour(ent, col);
    6353                                                                else
    6454                                                                        dlg.mark.addColour(ent, stackIdx, col);
    65                                                                 stackCol.add(stackIdx, new JRadioButton(new ImageIcon(getClass().getResource("/images/ColourButton.png"))));
    66                                                                 JRadioButton btnI = stackCol.get(stackIdx);
    67                                                                 btnI.setBorder(BorderFactory.createLoweredBevelBorder());
    68                                                                 stack.add(btnI);
    69                                                                 stackColours.add(btnI);
    70                                                                 btnI.addActionListener(alStack);
    7155                                                        } else {
    7256                                                                dlg.mark.setColour(ent, stackIdx, col);
    7357                                                        }
    74                                                         int height = stackCol.size() == 0 ? 60 : 60 / stackCol.size();
    75                                                         for (int i = 0; stackCol.size() > i; i++) {
    76                                                                 JRadioButton btnI = stackCol.get(i);
    77                                                                 btnI.setBounds(2, (2 + (i * height)), 30, height);
    78                                                                 btnI.setBackground(oseam.seamarks.SeaMark.ColMAP.get(dlg.mark.getColour(ent, i)));
    79                                                                 if (stackIdx == i) {
    80                                                                         btnI.setBorderPainted(true);
    81                                                                 } else {
    82                                                                         btnI.setBorderPainted(false);
    83                                                                 }
    84                                                         }
     58                                                        syncStack();
    8559                                                }
    8660                                        }
    87                                         button.setBorderPainted(true);
    88                                 } else
     61                                } else {
    8962                                        button.setBorderPainted(false);
     63                                }
    9064                        }
    9165                }
     
    145119        }
    146120
    147         public void syncButtons() {
    148                 if (ent != Ent.LIGHT) {
    149                         for (stackIdx = 0; dlg.mark.getColour(ent, stackIdx) != Col.UNKNOWN; stackIdx++) {
    150 
     121        public void syncStack() {
     122                if (ent == Ent.LIGHT) {
     123                } else {
     124                        int idx;
     125                        for (idx = 0; dlg.mark.getColour(ent, idx) != Col.UNKNOWN; idx++) {
     126                                if (stackCol.size() <= idx) {
     127                                        stackCol.add(idx, new JRadioButton(new ImageIcon(getClass().getResource("/images/ColourButton.png"))));
     128                                        JRadioButton btnI = stackCol.get(idx);
     129                                        btnI.setBorder(BorderFactory.createLoweredBevelBorder());
     130                                        stack.add(btnI);
     131                                        stackColours.add(btnI);
     132                                        btnI.addActionListener(alStack);
     133                                }
     134                        }
     135                        while (idx < stackCol.size()) {
     136                                JRadioButton btnI = stackCol.get(idx);
     137                                btnI.removeActionListener(alStack);
     138                                stackColours.remove(btnI);
     139                                stack.remove(btnI);
     140                                stackCol.remove(idx);
     141                        }
     142                        if ((stackIdx >= stackCol.size()) && (stackIdx != 0))
     143                                stackIdx = stackCol.size() - 1;
     144                        if (stackCol.size() == 0) {
     145                                stack.repaint();
     146                        } else {
     147                                int height = 60 / stackCol.size();
     148                                for (idx = 0; stackCol.size() > idx; idx++) {
     149                                        JRadioButton btnI = stackCol.get(idx);
     150                                        btnI.setBounds(2, (2 + (idx * height)), 30, height);
     151                                        btnI.setBackground(oseam.seamarks.SeaMark.ColMAP.get(dlg.mark.getColour(ent, idx)));
     152                                        if (stackIdx == idx) {
     153                                                btnI.setBorderPainted(true);
     154                                        } else {
     155                                                btnI.setBorderPainted(false);
     156                                        }
     157                                }
    151158                        }
    152159                }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelHaz.java

    r26970 r26972  
    2929                                if (northButton.isSelected()) {
    3030                                        dlg.mark.setCategory(Cat.CAM_NORTH);
    31                                         dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
    32                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    33                                         dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
     31                                        dlg.mark.setColour(Ent.BODY, Col.BLACK);
     32                                        dlg.mark.addColour(Ent.BODY, Col.YELLOW);
    3433                                        if (shapes.containsKey(shp))
    3534                                                shapes.get(shp).doClick();
     
    4039                                if (southButton.isSelected()) {
    4140                                        dlg.mark.setCategory(Cat.CAM_SOUTH);
    42                                         dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
    43                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    44                                         dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
     41                                        dlg.mark.setColour(Ent.BODY, Col.YELLOW);
     42                                        dlg.mark.addColour(Ent.BODY, Col.BLACK);
    4543                                        if (shapes.containsKey(shp))
    4644                                                shapes.get(shp).doClick();
     
    5149                                if (eastButton.isSelected()) {
    5250                                        dlg.mark.setCategory(Cat.CAM_EAST);
    53                                         dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
    54                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    55                                         dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
    56                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    57                                         dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
     51                                        dlg.mark.setColour(Ent.BODY, Col.BLACK);
     52                                        dlg.mark.addColour(Ent.BODY, Col.YELLOW);
     53                                        dlg.mark.addColour(Ent.BODY, Col.BLACK);
    5854                                        if (shapes.containsKey(shp))
    5955                                                shapes.get(shp).doClick();
     
    6460                                if (westButton.isSelected()) {
    6561                                        dlg.mark.setCategory(Cat.CAM_WEST);
    66                                         dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
    67                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    68                                         dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
    69                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    70                                         dlg.panelMain.panelMore.panelPat.panelCol.yellowButton.doClick();
     62                                        dlg.mark.setColour(Ent.BODY, Col.YELLOW);
     63                                        dlg.mark.addColour(Ent.BODY, Col.BLACK);
     64                                        dlg.mark.addColour(Ent.BODY, Col.YELLOW);
    7165                                        if (shapes.containsKey(shp))
    7266                                                shapes.get(shp).doClick();
     
    7872                                        dlg.mark.setCategory(Cat.UNKNOWN);
    7973                                        dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
    80                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    81                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    82                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    83                                         dlg.panelMain.panelMore.panelPat.panelCol.blackButton.doClick();
     74                                        dlg.mark.setColour(Ent.BODY, Col.BLACK);
     75                                        dlg.mark.addColour(Ent.BODY, Col.RED);
     76                                        dlg.mark.addColour(Ent.BODY, Col.BLACK);
    8477                                        if (shapes.containsKey(shp))
    8578                                                shapes.get(shp).doClick();
     
    8881                                        isolButton.setBorderPainted(false);
    8982                                }
     83                                dlg.panelMain.panelMore.panelPat.panelCol.syncStack();
    9084                        }
    9185                }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelPort.java

    r26970 r26972  
    4848                                                case A:
    4949                                                        dlg.panelMain.panelMore.panelPat.noneButton.doClick();
    50                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
     50                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
    5151                                                        break;
    5252                                                case B:
    5353                                                        dlg.panelMain.panelMore.panelPat.noneButton.doClick();
    54                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
     54                                                        dlg.mark.setColour(Ent.BODY, Col.GREEN);
    5555                                                        break;
    5656                                                case C:
    5757                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    58                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    59                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    60                                                         dlg.panelMain.panelMore.panelPat.panelCol.whiteButton.doClick();
    61                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    62                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    63                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    64                                                         dlg.panelMain.panelMore.panelPat.panelCol.whiteButton.doClick();
     58                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
     59                                                        dlg.mark.addColour(Ent.BODY, Col.WHITE);
     60                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
     61                                                        dlg.mark.addColour(Ent.BODY, Col.WHITE);
    6562                                                        break;
    6663                                                }
     
    6966                                                case A:
    7067                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    71                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    72                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    73                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    74                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    75                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
     68                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
     69                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
     70                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
    7671                                                        break;
    7772                                                case B:
    7873                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    79                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    80                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    81                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    82                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    83                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
     74                                                        dlg.mark.setColour(Ent.BODY, Col.GREEN);
     75                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
     76                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
    8477                                                        break;
    8578                                                case C:
    8679                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    87                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    88                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    89                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    90                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    91                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    92                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    93                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
     80                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
     81                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
     82                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
     83                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
    9484                                                        break;
    9585                                                }
    9686                                        }
     87                                        dlg.panelMain.panelMore.panelPat.panelCol.syncStack();
    9788                                } else {
    9889                                        dlg.panelMain.moreButton.setVisible(false);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelSaw.java

    r26970 r26972  
    4141                                        dlg.panelMain.litButton.setEnabled(true);
    4242                                        dlg.panelMain.panelMore.panelPat.vertButton.doClick();
    43                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    44                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    45                                         dlg.panelMain.panelMore.panelPat.panelCol.whiteButton.doClick();
     43                                        dlg.mark.setColour(Ent.BODY, Col.RED);
     44                                        dlg.mark.addColour(Ent.BODY, Col.WHITE);
    4645                                } else {
    4746                                        dlg.panelMain.moreButton.setVisible(false);
     
    5150                                        dlg.panelMain.litButton.setEnabled(false);
    5251                                }
     52                                dlg.panelMain.panelMore.panelPat.panelCol.syncStack();
    5353                        }
    5454                }
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/panels/PanelStbd.java

    r26970 r26972  
    4848                                                case A:
    4949                                                        dlg.panelMain.panelMore.panelPat.noneButton.doClick();
    50                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
     50                                                        dlg.mark.setColour(Ent.BODY, Col.GREEN);
    5151                                                        break;
    5252                                                case B:
    5353                                                        dlg.panelMain.panelMore.panelPat.noneButton.doClick();
    54                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
     54                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
    5555                                                        break;
    5656                                                case C:
    5757                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    58                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    59                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    60                                                         dlg.panelMain.panelMore.panelPat.panelCol.whiteButton.doClick();
    61                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    62                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    63                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    64                                                         dlg.panelMain.panelMore.panelPat.panelCol.whiteButton.doClick();
     58                                                        dlg.mark.setColour(Ent.BODY, Col.GREEN);
     59                                                        dlg.mark.addColour(Ent.BODY, Col.WHITE);
     60                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
     61                                                        dlg.mark.addColour(Ent.BODY, Col.WHITE);
    6562                                                        break;
    6663                                                }
     
    6966                                                case A:
    7067                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    71                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    72                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    73                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    74                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    75                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
     68                                                        dlg.mark.setColour(Ent.BODY, Col.GREEN);
     69                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
     70                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
    7671                                                        break;
    7772                                                case B:
    7873                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    79                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    80                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    81                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    82                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    83                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
     74                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
     75                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
     76                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
    8477                                                        break;
    8578                                                case C:
    8679                                                        dlg.panelMain.panelMore.panelPat.horizButton.doClick();
    87                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    88                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    89                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
    90                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    91                                                         dlg.panelMain.panelMore.panelPat.panelCol.redButton.doClick();
    92                                                         dlg.panelMain.panelMore.panelPat.panelCol.addButton.doClick();
    93                                                         dlg.panelMain.panelMore.panelPat.panelCol.greenButton.doClick();
     80                                                        dlg.mark.setColour(Ent.BODY, Col.RED);
     81                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
     82                                                        dlg.mark.addColour(Ent.BODY, Col.RED);
     83                                                        dlg.mark.addColour(Ent.BODY, Col.GREEN);
    9484                                                        break;
    9585                                                }
    9686                                        }
     87                                        dlg.panelMain.panelMore.panelPat.panelCol.syncStack();
    9788                                } else {
    9889                                        dlg.panelMain.moreButton.setVisible(false);
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java

    r26970 r26972  
    353353                case BEACON:
    354354                case FLOAT:
    355                         bodyColour.set(i, col);
     355                        if (bodyColour.size() > i)
     356                                bodyColour.set(i, col);
    356357                        break;
    357358                case TOPMARK:
    358                         topColour.set(i, col);
     359                        if (topColour.size() > i)
     360                                topColour.set(i, col);
    359361                        break;
    360362                case LIGHT:
    361                         lightColour.set(i, col);
     363                        if (lightColour.size() > i)
     364                                lightColour.set(i, col);
    362365                        break;
    363366                }
     
    370373                case BEACON:
    371374                case FLOAT:
    372                         bodyColour.add(i, col);
     375                        if (bodyColour.size() >= i)
     376                                bodyColour.add(i, col);
    373377                        break;
    374378                case TOPMARK:
    375                         topColour.add(i, col);
     379                        if (topColour.size() >= i)
     380                                topColour.add(i, col);
    376381                        break;
    377382                case LIGHT:
    378                         lightColour.add(i, col);
     383                        if (lightColour.size() >= i)
     384                                lightColour.add(i, col);
    379385                        break;
    380386                }
     
    10611067                dlg.panelMain.panelChan.syncButtons();
    10621068                dlg.panelMain.panelHaz.syncButtons();
     1069                dlg.panelMain.panelMore.panelPat.panelCol.syncStack();
    10631070
    10641071                paintlock = false;
Note: See TracChangeset for help on using the changeset viewer.