Ignore:
Timestamp:
2011-08-05T08:34:59+02:00 (13 years ago)
Author:
malcolmh
Message:

'Bug fix release'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/toms/src/toms/seamarks/buoys/Buoy.java

    r26307 r26450  
    237237        public void setSectored(boolean sectored) {
    238238                Sectored = sectored;
    239                 if (sectored) {
    240                         LightColour[0] = "";
    241                 } else {
     239                if (!sectored) {
    242240                        setSectorIndex(0);
    243241                        setLightChar("");
     
    272270
    273271        public void setLightChar(String lightChar) {
    274                 if (SectorIndex == 0) {
    275                         LightChar = new String[10];
    276                         LightChar[0] = lightChar;
    277                 } else if (LightChar[0].isEmpty())
    278                         LightChar[SectorIndex] = lightChar;
     272                LightChar[SectorIndex] = lightChar;
    279273        }
    280274
     
    300294
    301295        public void setLightGroup(String lightGroup) {
    302                 if (SectorIndex == 0)
    303                         LightGroup = new String[10];
    304296                LightGroup[SectorIndex] = lightGroup;
    305297        }
     
    322314
    323315        public void setHeight(String height) {
    324                 if (SectorIndex == 0)
    325                         Height = new String[10];
    326316                Height[SectorIndex] = height;
    327317        }
     
    336326
    337327        public void setRange(String range) {
    338                 if (SectorIndex == 0)
    339                         Range = new String[10];
    340328                Range[SectorIndex] = range;
    341329        }
     
    350338
    351339        public void setSeq(String seq) {
    352                 if (SectorIndex == 0)
    353                         Sequence = new String[10];
    354340                Sequence[SectorIndex] = seq;
    355341        }
     
    364350
    365351        public void setBearing1(String bearing) {
    366                 if (SectorIndex == 0)
    367                         Bearing1 = new String[10];
    368352                Bearing1[SectorIndex] = bearing;
    369353        }
     
    378362
    379363        public void setBearing2(String bearing) {
    380                 if (SectorIndex == 0)
    381                         Bearing2 = new String[10];
    382364                Bearing2[SectorIndex] = bearing;
    383365        }
     
    392374
    393375        public void setRadius(String radius) {
    394                 if (SectorIndex == 0)
    395                         Radius = new String[10];
    396376                Radius[SectorIndex] = radius;
    397377        }
     
    421401                        }
    422402                }
    423                 if (SectorIndex == 0)
    424                         LightPeriod = new String[10];
    425403                LightPeriod[SectorIndex] = lightPeriod;
    426404        }
     
    502480                                        else if (values[0].equals("white"))
    503481                                                LightColour[index] = "W";
     482                                        else if (values[0].equals("yellow"))
     483                                                LightColour[index] = "Y";
    504484                                        if (values.length > 1)
    505485                                                Bearing1[index] = values[1];
     
    507487                                                Bearing2[index] = values[2];
    508488                                        if (values.length > 3)
    509                                                 Radius[index] = values[3];
     489                                                Radius[index] = String.valueOf((((Integer.parseInt(values[3])*100)+50)/278)/100.0);
    510490                                } else {
    511491                                        index = 0;
     
    528508                                        else if (value.equals("white"))
    529509                                                LightColour[index] = "W";
     510                                        else if (value.equals("yellow"))
     511                                                LightColour[index] = "Y";
    530512                                } else if (key.equals("character")) {
    531513                                        LightChar[index] = value;
     
    544526                                } else if (key.equals("sector_end")) {
    545527                                        Bearing2[index] = value;
     528                                } else if (key.equals("radius")) {
     529                                        Radius[index] = value;
    546530                                }
    547531                        }
     
    925909                String colour;
    926910                if (dlg.cM01Fired.isSelected()) {
    927                         if (!(colour = LightColour[0]).isEmpty() && !Sectored)
     911                        if (!(colour = LightColour[0]).isEmpty()) {
    928912                                if (colour.equals("R")) {
    929913                                        Main.main.undoRedo.add(new ChangePropertyCommand(Node,
     
    935919                                        Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    936920                                                        "seamark:light:colour", "white"));
     921                                } else if (colour.equals("Y")) {
     922                                        Main.main.undoRedo.add(new ChangePropertyCommand(Node,
     923                                                        "seamark:light:colour", "yellow"));
    937924                                }
     925                        }
    938926
    939927                        if (!LitRef.isEmpty())
     
    977965                                                "seamark:light:sequence", Sequence[0]));
    978966
     967                        if (!Radius[0].isEmpty())
     968                                Main.main.undoRedo.add(new ChangePropertyCommand(Node,
     969                                                "seamark:light:radius", Radius[0]));
     970
    979971                        for (int i = 1; i < 10; i++) {
    980                                 if ((colour = LightColour[i]) != null)
    981                                         if (colour.equals("R")) {
     972
     973                                if (LightColour[i] != null) {
     974                                        if (LightColour[i].equals("R")) {
    982975                                                Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    983976                                                                "seamark:light:" + i + ":colour", "red"));
    984                                                 if ((Bearing1[i] != null) && (Bearing2[i] != null)
    985                                                                 && (Radius[i] != null))
    986                                                         Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    987                                                                         "seamark:light:" + i, "red:" + Bearing1[i] + ":"
    988                                                                                         + Bearing2[i] + ":" + Radius[i]));
    989                                         } else if (colour.equals("G")) {
     977                                                }
     978                                        else if (LightColour[i].equals("G")) {
    990979                                                Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    991980                                                                "seamark:light:" + i + ":colour", "green"));
    992                                                 if ((Bearing1[i] != null) && (Bearing2[i] != null)
    993                                                                 && (Radius[i] != null))
    994                                                         Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    995                                                                         "seamark:light:" + i, "green:" + Bearing1[i] + ":"
    996                                                                                         + Bearing2[i] + ":" + Radius[i]));
    997                                         } else if (colour.equals("W")) {
     981                                                }
     982                                        else if (LightColour[i].equals("W")) {
    998983                                                Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    999984                                                                "seamark:light:" + i + ":colour", "white"));
    1000                                                 if ((Bearing1[i] != null) && (Bearing2[i] != null)
    1001                                                                 && (Radius[i] != null))
    1002                                                         Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    1003                                                                         "seamark:light:" + i, "white:" + Bearing1[i] + ":"
    1004                                                                                         + Bearing2[i] + ":" + Radius[i]));
    1005                                         }
     985                                                }
     986                                        else if (LightColour[i].equals("Y")) {
     987                                                Main.main.undoRedo.add(new ChangePropertyCommand(Node,
     988                                                                "seamark:light:" + i + ":colour", "yellow"));
     989                                                }
     990                                }
    1006991
    1007992                                if (LightPeriod[i] != null)
     
    10361021                                        Main.main.undoRedo.add(new ChangePropertyCommand(Node,
    10371022                                                        "seamark:light:" + i + ":sector_end", Bearing2[i]));
     1023                               
     1024                                if (Radius[i] != null)
     1025                                        Main.main.undoRedo.add(new ChangePropertyCommand(Node,
     1026                                                        "seamark:light:" + i + ":radius", Radius[i]));
    10381027                        }
    10391028                }
Note: See TracChangeset for help on using the changeset viewer.