Ignore:
Timestamp:
2010-09-03T20:24:13+02:00 (14 years ago)
Author:
malcolmh
Message:

new mask code

Location:
applications/editors/josm/plugins/toms/src
Files:
24 added
25 deleted
143 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/toms/src/toms/dialogs/SmpDialogAction.java

    r22946 r22979  
    6262         * lokale Variable, private
    6363         */
    64         private SmpDialogAction dia = null; // Variable für den Handle von
     64        private SmpDialogAction dia = null; // Variable für den Handle von
    6565                                                                                                                                                        // SmpDialogAction
    66         private Buoy buoy = null; // Variable für Objekte des Typs "Tonne" //
     66        private Buoy buoy = null; // Variable für Objekte des Typs "Tonne" //
    6767                                                                                                                // @jve:decl-index=0:
    6868        private boolean isOpen = false; // zeigt den Status des Dialogs an
    6969        private Node onode = null; // gemerkter Knoten
    7070        private Buoy obuoy = null; // gemerkte Tonne // @jve:decl-index=0:
    71         private JMenuItem SmpItem = null; // Info über item in der Werkzeugleiste
     71        private JMenuItem SmpItem = null; // Info über item in der Werkzeugleiste
    7272        private String smt = ""; // value vom key "seamark:type" // @jve:decl-index=0:
    7373        private String smb = ""; // value vom key "seamark" // @jve:decl-index=0:
     
    7777        private String UserHome = ""; // @jve:decl-index=0:
    7878
    79         // SelectionChangedListner der in die Eventqueue von josm eingehängt wird
     79        // SelectionChangedListner der in die Eventqueue von josm eingehängt wird
    8080        private SelectionChangedListener SmpListener = new SelectionChangedListener() {
    8181                public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
     
    116116        public JLabel lM01Icon02 = null;
    117117        public JLabel lM01FireMark = null;
     118        private JLabel lM01TypeOfMark = null;
     119        public JComboBox cbM01TypeOfMark = null;
     120        private JLabel lM01CatOfMark = null;
     121        public JComboBox cbM01CatOfMark = null;
     122        private JLabel lM01StyleOfMark = null;
     123        public JComboBox cbM01StyleOfMark = null;
    118124        private JLabel lM01Name = null;
    119125        public JTextField tfM01Name = null;
    120         private JLabel lM01StyleOfMark = null;
    121         private JLabel lM01CatOfMark = null;
    122         private JLabel lM01TypeOfMark = null;
    123126        private JLabel lM01Props02 = null;
    124         public JComboBox cbM01TypeOfMark = null;
    125         public JComboBox cbM01CatOfMark = null;
    126         public JComboBox cbM01StyleOfMark = null;
    127127        public JCheckBox cM01TopMark = null;
    128128        public JComboBox cbM01TopMark = null;
    129         private JCheckBox cM01Radar = null;
    130         private JCheckBox cM01Racon = null;
    131         private JComboBox cbM01Racon = null;
    132         private JTextField tfM01Racon = null;
     129        public JCheckBox cM01Radar = null;
     130        public JCheckBox cM01Racon = null;
     131        public JComboBox cbM01Racon = null;
     132        public JTextField tfM01Racon = null;
    133133        private JLabel lM01Racon = null;
    134         private JCheckBox cM01Fog = null;
    135         private JComboBox cbM01Fog = null;
     134        public JCheckBox cM01Fog = null;
     135        public JComboBox cbM01Fog = null;
    136136        private JLabel lM01FogGroup = null;
    137         private JTextField tfM01FogGroup = null;
     137        public JTextField tfM01FogGroup = null;
    138138        private JLabel lM01FogPeriod = null;
    139         private JTextField tfM01FogPeriod = null;
     139        public JTextField tfM01FogPeriod = null;
    140140        public JCheckBox cM01Fired = null;
    141141        public ButtonGroup bgM01Fired = null;
    142142        public JRadioButton rbM01Fired1 = null;
    143143        public JRadioButton rbM01FiredN = null;
     144        private JLabel lM01Kennung = null;
     145        public JComboBox cbM01Kennung = null;
     146        private JLabel lM01Sector = null;
    144147        public JComboBox cbM01Sector = null;
    145148        private JLabel lM01Group = null;
     
    147150        private JLabel lM01RepeatTime = null;
    148151        public JTextField tfM01RepeatTime = null;
    149         private JLabel lM01Kennung = null;
    150         public JComboBox cbM01Kennung = null;
    151152        private JLabel lM01Height = null;
     153        private JLabel lM01Bearing = null;
     154        public JTextField tfM01Bearing = null;
     155        public JTextField tfM02Bearing = null;
     156        public JTextField tfM01Radius = null;
    152157        public JTextField tfM01Height = null;
    153158        private JLabel lM01Range = null;
    154159        public JTextField tfM01Range = null;
    155160        public JButton bM01Save = null;
    156         private JButton bM01Close = null;
    157         private JCheckBox cM01IconVisible = null;
     161        public JButton bM01Close = null;
     162        public JCheckBox cM01IconVisible = null;
    158163        public JTextField sM01StatusBar = null;
    159164
     
    253258                SmpItem.setEnabled(false);
    254259
    255                 // Ausprobe: Möglichkeit der Benachrichtigung, wenn etwas neu
     260                // Ausprobe: Möglichkeit der Benachrichtigung, wenn etwas neu
    256261                // selektiert wird (ueber SelectionChangedListener)
    257262                // private Collection<? extends OsmPrimitive> sel;
    258263                // siehe org.openstreetmap.josm.plugins.osb -> OsbLayer.java
    259                 // Einhängen des Listeners in die Eventqueue von josm
     264                // Einhängen des Listeners in die Eventqueue von josm
    260265                DataSet.selListeners.add(SmpListener);
    261266                // DataSet.addSelectionListener(SmpListener);
     
    348353
    349354                cbM01TypeOfMark.setEnabled(true);
    350                 cbM01StyleOfMark.setEnabled(true);
    351355
    352356                // Soweit das Vorspiel. Ab hier beginnt das Parsen
     
    481485                                        SmpItem.setEnabled(true);
    482486                                }
     487
    483488                                public void windowActivated(WindowEvent arg0) {
    484489                                        parseSeaMark();
     
    494499
    495500                        lM01Icon01 = new JLabel();
    496                         lM01Icon01.setBounds(new Rectangle(200, 20, 160, 200));
     501                        lM01Icon01.setBounds(new Rectangle(210, 30, 160, 200));
    497502                        lM01Icon01.setIcon(null);
    498503                        lM01Icon01.setText("");
    499504
    500505                        lM01Icon02 = new JLabel();
    501                         lM01Icon02.setBounds(new Rectangle(200, 20, 160, 200));
     506                        lM01Icon02.setBounds(new Rectangle(210, 30, 160, 200));
    502507                        lM01Icon02.setIcon(null);
    503508                        lM01Icon02.setText("");
    504509
    505510                        lM01FireMark = new JLabel();
    506                         lM01FireMark.setBounds(new Rectangle(310, 70, 80, 20));
     511                        lM01FireMark.setBounds(new Rectangle(305, 90, 90, 20));
    507512                        lM01FireMark.setFont(new Font("Dialog", Font.PLAIN, 12));
    508513                        lM01FireMark.setText("");
     
    563568
    564569                        lM01Kennung = new JLabel();
    565                         lM01Kennung.setBounds(new Rectangle(35, 270, 60, 20));
     570                        lM01Kennung.setBounds(new Rectangle(240, 245, 60, 20));
    566571                        lM01Kennung.setFont(new Font("Dialog", Font.PLAIN, 12));
    567572                        lM01Kennung.setText("Character:");
     573
     574                        lM01Sector = new JLabel();
     575                        lM01Sector.setBounds(new Rectangle(80, 270, 180, 20));
     576                        lM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12));
     577                        lM01Sector.setText("Sector:");
    568578
    569579                        lM01Group = new JLabel();
     
    576586                        lM01RepeatTime.setFont(new Font("Dialog", Font.PLAIN, 12));
    577587                        lM01RepeatTime.setText("Period:          s");
     588
     589                        lM01Bearing = new JLabel();
     590                        lM01Bearing.setBounds(new Rectangle(35, 295, 180, 20));
     591                        lM01Bearing.setFont(new Font("Dialog", Font.PLAIN, 12));
     592                        lM01Bearing.setText("         ¼-        ¼, r:");
    578593
    579594                        lM01Height = new JLabel();
     
    596611                        bgM01Region.add(rbM01RegionA);
    597612                        bgM01Region.add(rbM01RegionB);
    598                        
     613
    599614                        ActionListener alM01Region = new ActionListener() {
    600615                                public void actionPerformed(java.awt.event.ActionEvent e) {
     
    610625
    611626                        rbM01Fired1 = new JRadioButton("Single", true);
    612                         rbM01Fired1.setBounds(new Rectangle(100, 240, 80, 30));
     627                        rbM01Fired1.setBounds(new Rectangle(80, 240, 65, 30));
    613628                        rbM01FiredN = new JRadioButton("Sectored", false);
    614                         rbM01FiredN.setBounds(new Rectangle(190, 240, 100, 30));
     629                        rbM01FiredN.setBounds(new Rectangle(145, 240, 80, 30));
    615630                        bgM01Fired = new ButtonGroup();
    616631                        bgM01Fired.add(rbM01Fired1);
    617632                        bgM01Fired.add(rbM01FiredN);
    618                        
     633
    619634                        ActionListener alM01Fired = new ActionListener() {
    620635                                public void actionPerformed(java.awt.event.ActionEvent e) {
    621                                                 buoy.paintSign();
     636                                        buoy.paintSign();
    622637                                }
    623638                        };
     
    659674                        pM01SeaMap.add(rbM01Fired1, null);
    660675                        pM01SeaMap.add(rbM01FiredN, null);
    661                         pM01SeaMap.add(getCbM01Sector(), null);
    662676                        pM01SeaMap.add(getTfM01RepeatTime(), null);
    663677                        pM01SeaMap.add(lM01RepeatTime, null);
    664678                        pM01SeaMap.add(getCbM01Kennung(), null);
    665679                        pM01SeaMap.add(lM01Kennung, null);
     680                        pM01SeaMap.add(getCbM01Sector(), null);
    666681                        pM01SeaMap.add(lM01Group, null);
    667682                        pM01SeaMap.add(getTfM01Group(), null);
     683                        pM01SeaMap.add(lM01Sector, null);
     684                        pM01SeaMap.add(lM01Bearing, null);
     685                        pM01SeaMap.add(getTfM01Bearing(), null);
     686                        pM01SeaMap.add(getTfM02Bearing(), null);
     687                        pM01SeaMap.add(getTfM01Radius(), null);
    668688                        pM01SeaMap.add(lM01Height, null);
    669689                        pM01SeaMap.add(getTfM01Height(), null);
     
    686706
    687707                        // Inhalt der ComboBox
    688                         cbM01TypeOfMark.addItem("Not set");
    689                         cbM01TypeOfMark.addItem("Port");
    690                         cbM01TypeOfMark.addItem("Starboard");
    691                         cbM01TypeOfMark.addItem("Preferred Port");
    692                         cbM01TypeOfMark.addItem("Preferred Starboard");
    693                         cbM01TypeOfMark.addItem("Safe Water");
    694                         cbM01TypeOfMark.addItem("Cardinal North");
    695                         cbM01TypeOfMark.addItem("Cardinal East");
    696                         cbM01TypeOfMark.addItem("Cardinal South");
    697                         cbM01TypeOfMark.addItem("Cardinal West");
     708                        cbM01TypeOfMark.addItem("* Select Seamark *");
     709                        cbM01TypeOfMark.addItem("Lateral Mark");
     710                        cbM01TypeOfMark.addItem("Cardinal Mark");
     711                        cbM01TypeOfMark.addItem("Safe Water Mark");
    698712                        cbM01TypeOfMark.addItem("Isolated Danger");
    699713                        cbM01TypeOfMark.addItem("Special Purpose");
    700                         // cbM01TypeOfMark.addItem("Light");
     714                        cbM01TypeOfMark.addItem("Light");
    701715
    702716                        cbM01TypeOfMark.setBounds(new Rectangle(50, 25, 150, 25));
     
    707721                        cbM01TypeOfMark.addActionListener(new ActionListener() {
    708722                                public void actionPerformed(java.awt.event.ActionEvent e) {
    709                                         Node n;
    710723                                        int type = cbM01TypeOfMark.getSelectedIndex();
    711724
     
    714727                                                return;
    715728                                        }
    716                                         if ((type == 0) || (type == buoy.getBuoyIndex()))
    717                                                 return;
    718 
    719                                         n = buoy.getNode();
     729
     730                                        Node n = buoy.getNode();
    720731                                        if (n == null)
    721732                                                return;
     733
    722734                                        switch (type) {
    723735
    724                                         case SeaMark.UNKNOWN_CAT:
     736                                        case SeaMark.UNKNOWN_TYPE:
    725737                                                if (!(buoy instanceof BuoyUkn))
    726738                                                        buoy = new BuoyUkn(dia, "Seamark not set");
     
    728740                                                break;
    729741
    730                                         case SeaMark.PORT_HAND:
    731                                         case SeaMark.STARBOARD_HAND:
    732                                         case SeaMark.PREF_PORT_HAND:
    733                                         case SeaMark.PREF_STARBOARD_HAND:
    734                                                 if (!(buoy instanceof BuoyLat))
    735                                                         buoy = new BuoyLat(dia, n);
     742                                        case SeaMark.LATERAL:
     743                                                if (!(buoy instanceof BuoyLat)) {
     744                                                        buoy.setBuoyIndex(0);
     745                                                        cbM01CatOfMark.removeAllItems();
     746                                                        cbM01CatOfMark.addItem("*Select Category*");
     747                                                        cbM01CatOfMark.addItem("Port");
     748                                                        cbM01CatOfMark.addItem("Starboard");
     749                                                        cbM01CatOfMark.addItem("Preferred Port");
     750                                                        cbM01CatOfMark.addItem("Preferred Starboard");
     751                                                        cbM01CatOfMark.setEnabled(true);
     752                                                }
     753                                                break;
     754
     755                                        case SeaMark.CARDINAL:
     756                                                if (!(buoy instanceof BuoyCard)) {
     757                                                        buoy.setBuoyIndex(0);
     758                                                        cbM01CatOfMark.removeAllItems();
     759                                                        cbM01CatOfMark.addItem("*Select Category*");
     760                                                        cbM01CatOfMark.addItem("North");
     761                                                        cbM01CatOfMark.addItem("East");
     762                                                        cbM01CatOfMark.addItem("South");
     763                                                        cbM01CatOfMark.addItem("West");
     764                                                        cbM01CatOfMark.setEnabled(true);
     765                                                }
    736766                                                break;
    737767
     
    739769                                                if (!(buoy instanceof BuoySaw))
    740770                                                        buoy = new BuoySaw(dia, n);
    741                                                 break;
    742 
    743                                         case SeaMark.CARD_NORTH:
    744                                         case SeaMark.CARD_EAST:
    745                                         case SeaMark.CARD_SOUTH:
    746                                         case SeaMark.CARD_WEST:
    747                                                 if (!(buoy instanceof BuoyCard))
    748                                                         buoy = new BuoyCard(dia, n);
     771                                                buoy.setBuoyIndex(type);
    749772                                                break;
    750773
     
    752775                                                if (!(buoy instanceof BuoyIsol))
    753776                                                        buoy = new BuoyIsol(dia, n);
     777                                                buoy.setBuoyIndex(type);
    754778                                                break;
    755779
     
    757781                                                if (!(buoy instanceof BuoySpec))
    758782                                                        buoy = new BuoySpec(dia, n);
     783                                                buoy.setBuoyIndex(type);
    759784                                                break;
    760                                         default:
    761                                                 if (!(buoy instanceof BuoyUkn))
    762                                                         buoy = new BuoyUkn(dia, "Not Implemented");
    763785                                        }
    764786
    765                                         buoy.setBuoyIndex(type);
    766787                                        buoy.refreshStyles();
    767788                                        buoy.refreshLights();
     789                                        buoy.setLightColour();
    768790                                        buoy.paintSign();
    769791                                }
    770792                        });
    771 
    772                 }
    773 
     793                }
    774794                return cbM01TypeOfMark;
    775795        }
     
    778798                if (cbM01CatOfMark == null) {
    779799                        cbM01CatOfMark = new JComboBox();
    780                         cbM01CatOfMark.setBounds(new Rectangle(80, 55, 120, 25));
     800                        cbM01CatOfMark.setBounds(new Rectangle(75, 55, 125, 25));
    781801                        cbM01CatOfMark.setFont(new Font("Dialog", Font.PLAIN, 12));
    782                         cbM01CatOfMark.setEnabled(true);
    783802                        cbM01CatOfMark.addActionListener(new ActionListener() {
    784803                                public void actionPerformed(ActionEvent e) {
    785804                                        int cat = cbM01CatOfMark.getSelectedIndex();
     805
     806                                        if (buoy == null) {
     807                                                buoy = new BuoyUkn(dia, "Seamark not set");
     808                                                return;
     809                                        }
     810                                        if (cat == 0)
     811                                                return;
     812
     813                                        Node n = buoy.getNode();
     814                                        if (n == null)
     815                                                return;
     816
     817                                        if (cbM01TypeOfMark.getSelectedIndex() == SeaMark.LATERAL) {
     818                                                if (!(buoy instanceof BuoyLat))
     819                                                        buoy = new BuoyLat(dia, n);
     820                                                buoy.setBuoyIndex(cat);
     821                                        }
     822                                        if (cbM01TypeOfMark.getSelectedIndex() == SeaMark.CARDINAL) {
     823                                                if (!(buoy instanceof BuoyCard))
     824                                                        buoy = new BuoyCard(dia, n);
     825                                                buoy.setBuoyIndex(cat);
     826                                        }
     827
     828                                        buoy.refreshStyles();
     829                                        buoy.refreshLights();
     830                                        buoy.setLightColour();
     831                                        buoy.paintSign();
    786832                                }
    787833                        });
     
    795841                        cbM01StyleOfMark.setBounds(new Rectangle(50, 85, 150, 25));
    796842                        cbM01StyleOfMark.setFont(new Font("Dialog", Font.PLAIN, 12));
    797                         cbM01StyleOfMark.setEnabled(true);
    798843                        cbM01StyleOfMark.addActionListener(new ActionListener() {
    799844                                public void actionPerformed(ActionEvent e) {
     
    847892                        cbM01TopMark.setBounds(new Rectangle(100, 170, 70, 20));
    848893                        cbM01TopMark.setFont(new Font("Dialog", Font.PLAIN, 12));
    849                         cbM01TopMark.setEnabled(true);
    850894                        cbM01TopMark.addActionListener(new ActionListener() {
    851895                                public void actionPerformed(ActionEvent e) {
     
    862906                        cM01Radar.setBounds(new Rectangle(10, 195, 120, 20));
    863907                        cM01Radar.setFont(new Font("Dialog", Font.PLAIN, 12));
    864                         cM01Radar.setEnabled(false);
    865908                        cM01Radar.setText("Radar Reflector");
    866909                }
     
    873916                        cM01Racon.setBounds(new Rectangle(130, 195, 110, 20));
    874917                        cM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12));
    875                         cM01Racon.setEnabled(false);
    876918                        cM01Racon.setText("Radar Beacon");
    877919                }
     
    884926                        cbM01Racon.setBounds(new Rectangle(240, 195, 80, 20));
    885927                        cbM01Racon.setFont(new Font("Dialog", Font.PLAIN, 12));
    886                         cbM01Racon.setEnabled(true);
    887928                        cbM01Racon.addActionListener(new ActionListener() {
    888929                                public void actionPerformed(ActionEvent e) {
     
    912953                        cM01Fog.setBounds(new Rectangle(10, 220, 90, 20));
    913954                        cM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12));
    914                         cM01Fog.setEnabled(false);
    915955                        cM01Fog.setText("Fog Signal");
    916956                }
     
    923963                        cbM01Fog.setBounds(new Rectangle(100, 220, 70, 20));
    924964                        cbM01Fog.setFont(new Font("Dialog", Font.PLAIN, 12));
    925                         cbM01Fog.setEnabled(true);
    926965                        cbM01Fog.addActionListener(new ActionListener() {
    927966                                public void actionPerformed(ActionEvent e) {
     
    9651004                        cM01Fired.setFont(new Font("Dialog", Font.PLAIN, 12));
    9661005                        cM01Fired.setText("Lighted");
    967                         cM01Fired.setEnabled(false);
    9681006                        cM01Fired.addItemListener(new ItemListener() {
    9691007                                public void itemStateChanged(ItemEvent e) {
     
    9711009                                                return;
    9721010                                        }
    973 
    9741011                                        buoy.setFired(cM01Fired.isSelected());
    975 
     1012                                        buoy.setLightColour();
    9761013                                        buoy.paintSign();
    9771014                                }
     
    9851022                if (cbM01Kennung == null) {
    9861023                        cbM01Kennung = new JComboBox();
    987                         cbM01Kennung.setBounds(new Rectangle(100, 270, 70, 20));
     1024                        cbM01Kennung.setBounds(new Rectangle(305, 245, 70, 20));
    9881025                        cbM01Kennung.addActionListener(new ActionListener() {
    9891026                                public void actionPerformed(ActionEvent e) {
     
    10011038                                        i1 = it.indexOf("(");
    10021039                                        i2 = it.indexOf(")", i1);
     1040                                        tfM01Group.setText("");
     1041                                        tfM01Group.setEnabled(false);
    10031042                                        if (i1 >= 0) {
    10041043                                                c = it.substring(0, i1);
    1005                                                 if (i1 >= 0)
     1044                                                if (i1 >= 0) {
    10061045                                                        g = it.substring(i1 + 1, i2);
     1046                                                        if (g.equals(""))
     1047                                                                tfM01Group.setEnabled(true);
     1048                                                }
    10071049                                        }
    10081050                                        if (it.contains("+")) {
     
    10181060                                        buoy.setLightChar(c);
    10191061                                        buoy.setLightGroup(g);
    1020                                         // buoy.setLightColour();
    10211062                                        buoy.paintSign();
    10221063                                }
     
    10291070                if (cbM01Sector == null) {
    10301071                        cbM01Sector = new JComboBox();
    1031                         cbM01Sector.setBounds(new Rectangle(300, 245, 50, 20));
     1072                        cbM01Sector.setBounds(new Rectangle(120, 270, 50, 20));
    10321073                        cbM01Sector.setFont(new Font("Dialog", Font.PLAIN, 12));
    1033                         cbM01Sector.setEnabled(true);
     1074                        cbM01Sector.addItem("0");
     1075                        cbM01Sector.addItem("1");
     1076                        cbM01Sector.addItem("2");
     1077                        cbM01Sector.addItem("3");
     1078                        cbM01Sector.addItem("4");
     1079                        cbM01Sector.addItem("5");
     1080                        cbM01Sector.addItem("6");
     1081                        cbM01Sector.addItem("7");
     1082                        cbM01Sector.addItem("8");
     1083                        cbM01Sector.addItem("9");
    10341084                        cbM01Sector.addActionListener(new ActionListener() {
    10351085                                public void actionPerformed(ActionEvent e) {
     
    10731123                        tfM01Group.addFocusListener(new FocusAdapter() {
    10741124                                public void focusLost(FocusEvent e) {
    1075                                         buoy.setName(tfM01Group.getText());
     1125                                        buoy.setLightGroup(tfM01Group.getText());
    10761126                                }
    10771127                        });
    10781128                }
    10791129                return tfM01Group;
     1130        }
     1131
     1132        private JTextField getTfM01Bearing() {
     1133                if (tfM01Bearing == null) {
     1134                        tfM01Bearing = new JTextField();
     1135                        tfM01Bearing.setBounds(new Rectangle(40, 295, 30, 20));
     1136                        tfM01Bearing.addFocusListener(new FocusAdapter() {
     1137                                public void focusLost(FocusEvent e) {
     1138                                        buoy.setName(tfM01Bearing.getText());
     1139                                }
     1140                        });
     1141                }
     1142                return tfM01Bearing;
     1143        }
     1144
     1145        private JTextField getTfM02Bearing() {
     1146                if (tfM02Bearing == null) {
     1147                        tfM02Bearing = new JTextField();
     1148                        tfM02Bearing.setBounds(new Rectangle(85, 295, 30, 20));
     1149                        tfM02Bearing.addFocusListener(new FocusAdapter() {
     1150                                public void focusLost(FocusEvent e) {
     1151                                        buoy.setName(tfM02Bearing.getText());
     1152                                }
     1153                        });
     1154                }
     1155                return tfM02Bearing;
     1156        }
     1157
     1158        private JTextField getTfM01Radius() {
     1159                if (tfM01Radius == null) {
     1160                        tfM01Radius = new JTextField();
     1161                        tfM01Radius.setBounds(new Rectangle(140, 295, 30, 20));
     1162                        tfM01Radius.addFocusListener(new FocusAdapter() {
     1163                                public void focusLost(FocusEvent e) {
     1164                                        buoy.setName(tfM01Radius.getText());
     1165                                }
     1166                        });
     1167                }
     1168                return tfM01Radius;
    10801169        }
    10811170
     
    11361225                        bM01Save.setBounds(new Rectangle(120, 325, 80, 20));
    11371226                        bM01Save.setText("Save");
     1227                        bM01Save.setEnabled(false);
    11381228
    11391229                        bM01Save.addActionListener(new ActionListener() {
     
    12041294                return cM01IconVisible;
    12051295        }
    1206        
     1296
    12071297        private JTextField getSM01StatusBar() {
    12081298                if (sM01StatusBar == null) {
  • applications/editors/josm/plugins/toms/src/toms/seamarks/SeaMark.java

    r22816 r22979  
    3939         * Types - correspond to TypeIndex
    4040         */
     41        public final static int UNKNOWN_TYPE = 0;
     42        public final static int LATERAL = 1;
     43        public final static int CARDINAL = 2;
     44        public final static int SAFE_WATER = 3;
     45        public final static int ISOLATED_DANGER = 4;
     46        public final static int SPECIAL_PURPOSE = 5;
     47        public final static int LIGHT = 6;
     48
     49        /**
     50         * Categories - correspond to CatIndex
     51         */
    4152        public final static int UNKNOWN_CAT = 0;
    4253        public final static int PORT_HAND = 1;
     
    4455        public final static int PREF_PORT_HAND = 3;
    4556        public final static int PREF_STARBOARD_HAND = 4;
    46         public final static int SAFE_WATER = 5;
    47         public final static int CARD_NORTH = 6;
    48         public final static int CARD_EAST = 7;
    49         public final static int CARD_SOUTH = 8;
    50         public final static int CARD_WEST = 9;
    51         public final static int ISOLATED_DANGER = 10;
    52         public final static int SPECIAL_PURPOSE = 11;
    53         public final static int LIGHT = 12;
     57        public final static int CARD_NORTH = 1;
     58        public final static int CARD_EAST = 2;
     59        public final static int CARD_SOUTH = 3;
     60        public final static int CARD_WEST = 4;
    5461
    5562        /**
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java

    r22946 r22979  
    216216        public void paintSign() {
    217217               
    218                 dlg.cbM01TypeOfMark.setEnabled(true);
    219                 dlg.cbM01StyleOfMark.setEnabled(true);
    220 
    221                 dlg.cbM01TypeOfMark.setSelectedIndex(getBuoyIndex());
    222                 dlg.cbM01StyleOfMark.setSelectedIndex(getStyleIndex());
    223 
    224218                dlg.cM01TopMark.setSelected(hasTopMark());
    225219                dlg.cM01Fired.setSelected(isFired());
     
    264258                }
    265259
    266                 dlg.bM01Save.setEnabled(true);
    267 
    268260                dlg.lM01Icon01.setIcon(null);
    269261                dlg.lM01Icon02.setIcon(null);
     
    331323        }
    332324
     325        public void resetMask() {
     326                setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
     327
     328                dlg.lM01Icon01.setIcon(null);
     329                dlg.lM01Icon02.setIcon(null);
     330
     331                dlg.rbM01RegionA.setEnabled(false);
     332                dlg.rbM01RegionB.setEnabled(false);
     333                dlg.cbM01StyleOfMark.removeAllItems();
     334                dlg.cbM01StyleOfMark.setEnabled(false);
     335                dlg.tfM01Name.setText("");
     336                dlg.tfM01Name.setEnabled(false);
     337                setName("");
     338                dlg.cM01TopMark.setSelected(false);
     339                dlg.cM01TopMark.setEnabled(false);
     340                dlg.cbM01TopMark.removeAllItems();
     341                dlg.cbM01TopMark.setEnabled(false);
     342                setTopMark(false);
     343                dlg.cM01Radar.setSelected(false);
     344                dlg.cM01Radar.setEnabled(false);
     345                dlg.cM01Racon.setSelected(false);
     346                dlg.cM01Racon.setEnabled(false);
     347                dlg.cbM01Racon.removeAllItems();
     348                dlg.cbM01Racon.setEnabled(false);
     349                dlg.tfM01Racon.setText("");
     350                dlg.tfM01Racon.setEnabled(false);
     351                dlg.cM01Fog.setSelected(false);
     352                dlg.cM01Fog.setEnabled(false);
     353                dlg.cbM01Fog.removeAllItems();
     354                dlg.cbM01Fog.setEnabled(false);
     355                dlg.tfM01FogGroup.setText("");
     356                dlg.tfM01FogGroup.setEnabled(false);
     357                dlg.tfM01FogPeriod.setText("");
     358                dlg.tfM01FogPeriod.setEnabled(false);
     359                dlg.cM01Fired.setSelected(false);
     360                dlg.cM01Fired.setEnabled(false);
     361                setFired(false);
     362                dlg.rbM01Fired1.setEnabled(false);
     363                dlg.rbM01FiredN.setEnabled(false);
     364                dlg.cbM01Kennung.removeAllItems();
     365                dlg.cbM01Kennung.setEnabled(false);
     366                dlg.cbM01Sector.setEnabled(false);
     367                dlg.tfM01Group.setText("");
     368                dlg.tfM01Group.setEnabled(false);
     369                dlg.tfM01RepeatTime.setText("");
     370                dlg.tfM01RepeatTime.setEnabled(false);
     371                dlg.tfM01Bearing.setText("");
     372                dlg.tfM01Bearing.setEnabled(false);
     373                dlg.tfM02Bearing.setText("");
     374                dlg.tfM02Bearing.setEnabled(false);
     375                dlg.tfM01Radius.setText("");
     376                dlg.tfM01Radius.setEnabled(false);
     377                dlg.tfM01Height.setText("");
     378                dlg.tfM01Height.setEnabled(false);
     379                dlg.tfM01Range.setText("");
     380                dlg.tfM01Range.setEnabled(false);
     381
     382                dlg.bM01Save.setEnabled(false);
     383        }
     384
    333385}
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyCard.java

    r22923 r22979  
    2424                keys = node.getKeys();
    2525                setNode(node);
     26               
     27                resetMask();
    2628
    2729                dlg.cbM01StyleOfMark.removeAllItems();
     
    3234                dlg.cbM01StyleOfMark.addItem("Tower");
    3335                dlg.cbM01StyleOfMark.addItem("Float");
    34 
    35                 dlg.cM01Fired.setSelected(false);
    36                 dlg.cM01TopMark.setSelected(false);
     36                dlg.cbM01StyleOfMark.setEnabled(true);
    3737
    3838                setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
     
    245245                       
    246246                        if (isFired()) {
    247                                 dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_240.png")));
     247                                dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_120.png")));
    248248
    249249                                if (getLightChar() != "") {
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyIsol.java

    r22923 r22979  
    2323                keys = node.getKeys();
    2424                setNode(node);
     25               
     26                resetMask();
    2527
    2628                dlg.cbM01StyleOfMark.removeAllItems();
     
    3133                dlg.cbM01StyleOfMark.addItem("Tower");
    3234                dlg.cbM01StyleOfMark.addItem("Float");
     35                dlg.cbM01StyleOfMark.setEnabled(true);
    3336
    3437                dlg.cbM01Kennung.removeAllItems();
     
    3639                dlg.cbM01Kennung.addItem("Fl(2)");
    3740
    38                 dlg.cM01Fired.setSelected(false);
    3941                dlg.cM01TopMark.setSelected(true);
    40                 dlg.cM01TopMark.setEnabled(false);
    4142
    4243                setColour(SeaMark.BLACK_RED_BLACK);
     
    139140                        dlg.lM01Icon01.setIcon(new ImageIcon(getClass().getResource(image)));
    140141                        if (isFired()) {
    141                                 dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_240.png")));
     142                                dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_120.png")));
    142143                                if (getLightChar() != "") {
    143144                                        String c;
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyLat.java

    r22923 r22979  
    1313
    1414import toms.dialogs.SmpDialogAction;
    15 import toms.seamarks.SeaMark;
    1615
    1716public class BuoyLat extends Buoy {
     
    2322                keys = node.getKeys();
    2423                setNode(node);
     24               
     25                resetMask();
     26
     27                dlg.rbM01RegionA.setEnabled(true);
     28                dlg.rbM01RegionB.setEnabled(true);
     29
     30                dlg.cbM01StyleOfMark.removeAllItems();
     31                dlg.cbM01StyleOfMark.addItem("Not set");
     32                dlg.cbM01StyleOfMark.addItem("Pillar Buoy");
     33                dlg.cbM01StyleOfMark.addItem("Spar Buoy");
     34                dlg.cbM01StyleOfMark.addItem("Beacon");
     35                dlg.cbM01StyleOfMark.addItem("Tower");
     36                dlg.cbM01StyleOfMark.addItem("Float");
     37                dlg.cbM01StyleOfMark.setEnabled(true);
    2538
    2639                dlg.cbM01Kennung.removeAllItems();
    2740                dlg.cbM01Kennung.addItem("Not set");
    2841                dlg.cbM01Kennung.addItem("Fl");
    29                 dlg.cbM01Kennung.addItem("Fl(2)");
    30                 dlg.cbM01Kennung.addItem("Fl(3)");
    31                 dlg.cbM01Kennung.addItem("Fl(4)");
    32                 dlg.cbM01Kennung.addItem("Fl(5)");
    33                 dlg.cbM01Kennung.addItem("Oc(2)");
    34                 dlg.cbM01Kennung.addItem("Oc(3)");
     42                dlg.cbM01Kennung.addItem("Fl()");
     43                dlg.cbM01Kennung.addItem("Oc");
     44                dlg.cbM01Kennung.addItem("Oc()");
    3545                dlg.cbM01Kennung.addItem("Q");
    3646                dlg.cbM01Kennung.addItem("IQ");
     47                dlg.cbM01Kennung.addItem("Mo()");
    3748                dlg.cbM01Kennung.setSelectedIndex(0);
    38 
    39                 setStyleIndex(0);
    40                 setLightColour();
    41                 setFired(false);
    42                 setTopMark(false);
    43                 setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
    44 
    45                 dlg.cM01Fired.setSelected(false);
    46                 dlg.cM01TopMark.setSelected(false);
    4749
    4850                if (keys.containsKey("name"))
     
    287289
    288290                dlg.cbM01StyleOfMark.removeAllItems();
    289                 dlg.cbM01StyleOfMark.addItem("Not set");
     291                dlg.cbM01StyleOfMark.addItem("*Select Shape*");
    290292
    291293                switch (type) {
     
    582584                                if (getLightColour().equals("R"))
    583585                                        dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource(
    584                                                         "/images/Light_Red_240.png")));
     586                                                        "/images/Light_Red_120.png")));
    585587                                else
    586588                                        dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource(
    587                                                         "/images/Light_Green_240.png")));
     589                                                        "/images/Light_Green_120.png")));
    588590                        if (getLightChar() != "") {
    589591                                String c;
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyNota.java

    r22923 r22979  
    1818        public BuoyNota(SmpDialogAction dia, int type) {
    1919                super(dia);
     20               
     21                resetMask();
    2022
    2123                dlg.cbM01Kennung.removeAllItems();
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySaw.java

    r22923 r22979  
    2323                keys = node.getKeys();
    2424                setNode(node);
     25               
     26                resetMask();
    2527
    2628                dlg.cbM01StyleOfMark.removeAllItems();
     
    3840                dlg.cbM01Kennung.addItem("LFl");
    3941                dlg.cbM01Kennung.addItem("Mo()");
    40 
    41                 dlg.cM01Fired.setSelected(false);
    42                 dlg.cM01TopMark.setSelected(false);
    4342
    4443                setColour(SeaMark.RED_WHITE);
     
    141140
    142141                        if (isFired()) {
    143                                 dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_240.png")));
     142                                dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_120.png")));
    144143                                if (getLightChar() != "") {
    145144                                        String c;
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoySpec.java

    r22923 r22979  
    2323                keys = node.getKeys();
    2424                setNode(node);
     25               
     26                resetMask();
    2527
    2628                dlg.cbM01StyleOfMark.removeAllItems();
     
    4749                dlg.cbM01Kennung.setSelectedIndex(0);
    4850
    49                 dlg.cM01Fired.setSelected(false);
    50                 dlg.cM01TopMark.setSelected(false);
    51                 dlg.cM01Fired.setEnabled(false);
    5251                dlg.cM01TopMark.setEnabled(true);
    5352
     
    181180
    182181                        if (isFired()) {
    183                                 dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_240.png")));
     182                                dlg.lM01Icon02.setIcon(new ImageIcon(getClass().getResource("/images/Light_White_120.png")));
    184183                                if (getLightChar() != "") {
    185184                                        String c;
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/BuoyUkn.java

    r22923 r22979  
    33
    44package toms.seamarks.buoys;
     5
     6import javax.swing.ImageIcon;
    57
    68import org.openstreetmap.josm.Main;
     
    1113        public BuoyUkn(SmpDialogAction dia, String Msg) {
    1214                super(dia);
    13 
    14                 dlg.cbM01StyleOfMark.removeAllItems();
    15                 dlg.cbM01StyleOfMark.addItem("Not set");
    16 
    17                 if (dlg.cbM01Kennung != null) {
    18                         dlg.cbM01Kennung.removeAllItems();
    19                         dlg.cbM01Kennung.addItem("Not set");
    20                 }
    21 
    22                 dlg.cM01Fired.setSelected(false);
    23                 dlg.cM01TopMark.setSelected(false);
    24 
     15                resetMask();
     16                dlg.cbM01CatOfMark.removeAllItems();
     17                dlg.cbM01CatOfMark.setEnabled(false);
     18                dlg.tfM01Name.setText(getName());
    2519                setErrMsg(Msg);
    26                 setName("");
    27                 setTopMark(false);
    28                 setFired(false);
    29                 setValid(false);
    30                 setBuoyIndex(0);
    31                 setRegion(Main.pref.get("tomsplugin.IALA").equals("B"));
    3220        }
    3321
     
    3523                super.paintSign();
    3624
    37                 dlg.lM01Icon01.setIcon(null);
    38                 dlg.lM01Icon02.setIcon(null);
    3925                if (getErrMsg() != null)
    4026                        dlg.sM01StatusBar.setText(getErrMsg());
    4127
    4228                setErrMsg(null);
    43 
    44                 dlg.tfM01Name.setText(getName());
    45                 dlg.tfM01Name.setEnabled(false);
    46 
    47                 dlg.cM01Fired.setEnabled(false);
    48                 dlg.cM01TopMark.setEnabled(false);
    49 
    50                 dlg.bM01Save.setEnabled(false);
    51 
    5229        }
    5330
Note: See TracChangeset for help on using the changeset viewer.