Ignore:
Timestamp:
2011-08-22T09:22:57+02:00 (13 years ago)
Author:
malcolmh
Message:

save

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

Legend:

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

    r26554 r26555  
    1818import oseam.seamarks.SeaMark.Col;
    1919import oseam.seamarks.SeaMark.Ent;
     20import oseam.seamarks.SeaMark.Pat;
    2021import oseam.seamarks.SeaMark.Shp;
    2122import oseam.seamarks.SeaMark.Obj;
     
    3233        private ActionListener alCat = new ActionListener() {
    3334                public void actionPerformed(java.awt.event.ActionEvent e) {
     35                        Shp shp = Shp.UNKNOWN;
     36                        if (dlg.mark != null)
     37                                shp = dlg.mark.getShape();
    3438                        if (northButton.isSelected()) {
    3539                                dlg.mark.setCategory(Cat.CARD_NORTH);
    3640                                dlg.mark.setColour(Ent.BODY, Col.BLACK);
    3741                                dlg.mark.addColour(Ent.BODY, Col.YELLOW);
     42                                dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
     43                                if (shapes.containsKey(shp)) {
     44                                        shapes.get(shp).doClick();
     45                                } else {
     46                                        clearSelections();
     47                                        dlg.mark.setShape(Shp.UNKNOWN);
     48                                }
    3849                                northButton.setBorderPainted(true);
    3950                        } else {
     
    4455                                dlg.mark.setColour(Ent.BODY, Col.YELLOW);
    4556                                dlg.mark.addColour(Ent.BODY, Col.BLACK);
     57                                dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
     58                                if (shapes.containsKey(shp)) {
     59                                        shapes.get(shp).doClick();
     60                                } else {
     61                                        clearSelections();
     62                                        dlg.mark.setShape(Shp.UNKNOWN);
     63                                }
    4664                                southButton.setBorderPainted(true);
    4765                        } else {
     
    5371                                dlg.mark.addColour(Ent.BODY, Col.YELLOW);
    5472                                dlg.mark.addColour(Ent.BODY, Col.BLACK);
     73                                dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
     74                                if (shapes.containsKey(shp)) {
     75                                        shapes.get(shp).doClick();
     76                                } else {
     77                                        clearSelections();
     78                                        dlg.mark.setShape(Shp.UNKNOWN);
     79                                }
    5580                                eastButton.setBorderPainted(true);
    5681                        } else {
     
    6287                                dlg.mark.addColour(Ent.BODY, Col.BLACK);
    6388                                dlg.mark.addColour(Ent.BODY, Col.YELLOW);
     89                                dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
     90                                if (shapes.containsKey(shp)) {
     91                                        shapes.get(shp).doClick();
     92                                } else {
     93                                        clearSelections();
     94                                        dlg.mark.setShape(Shp.UNKNOWN);
     95                                }
    6496                                westButton.setBorderPainted(true);
    6597                        } else {
     
    70102                                dlg.mark.addColour(Ent.BODY, Col.RED);
    71103                                dlg.mark.addColour(Ent.BODY, Col.BLACK);
     104                                dlg.mark.setPattern(Ent.BODY, Pat.HORIZ);
     105                                if (shapes.containsKey(shp)) {
     106                                        shapes.get(shp).doClick();
     107                                } else {
     108                                        clearSelections();
     109                                        dlg.mark.setShape(Shp.UNKNOWN);
     110                                }
    72111                                isolButton.setBorderPainted(true);
    73112                        } else {
  • applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/seamarks/SeaMark.java

    r26553 r26555  
    5050        }
    5151
    52         public static final EnumMap<Obj, String> ObjMAP = new EnumMap<Obj, String>(Obj.class);
     52        public static final EnumMap<Obj, String> ObjSTR = new EnumMap<Obj, String>(Obj.class);
    5353        static {
    54                 ObjMAP.put(Obj.BCNCAR, "beacon_cardinal");
    55                 ObjMAP.put(Obj.BCNISD, "beacon_isolated_danger");
    56                 ObjMAP.put(Obj.BCNLAT, "beacon_lateral");
    57                 ObjMAP.put(Obj.BCNSAW, "beacon_safe_water");
    58                 ObjMAP.put(Obj.BCNSPP, "beacon_special_purpose");
    59                 ObjMAP.put(Obj.BOYCAR, "buoy_cardinal");
    60                 ObjMAP.put(Obj.BOYISD, "buoy_isolated_danger");
    61                 ObjMAP.put(Obj.BOYLAT, "buoy_lateral");
    62                 ObjMAP.put(Obj.BOYSAW, "buoy_safe_water");
    63                 ObjMAP.put(Obj.BOYSPP, "buoy_special_purpose");
    64                 ObjMAP.put(Obj.FLTCAR, "light_float");
    65                 ObjMAP.put(Obj.FLTLAT, "light_float");
    66                 ObjMAP.put(Obj.FLTSAW, "light_float");
    67                 ObjMAP.put(Obj.FLTSPP, "light_float");
    68                 ObjMAP.put(Obj.LITMAJ, "light_major");
    69                 ObjMAP.put(Obj.LITMIN, "light_minor");
    70                 ObjMAP.put(Obj.LITFLT, "light_float");
    71                 ObjMAP.put(Obj.LITVES, "light_vessel");
    72                 ObjMAP.put(Obj.LNDMRK, "landmark");
    73                 ObjMAP.put(Obj.MORFAC, "mooring");
    74                 ObjMAP.put(Obj.SIGSTA, "signal_station_warning");
    75                 ObjMAP.put(Obj.SIGSTA, "signal_station_traffic");
     54                ObjSTR.put(Obj.BCNCAR, "beacon_cardinal");
     55                ObjSTR.put(Obj.BCNISD, "beacon_isolated_danger");
     56                ObjSTR.put(Obj.BCNLAT, "beacon_lateral");
     57                ObjSTR.put(Obj.BCNSAW, "beacon_safe_water");
     58                ObjSTR.put(Obj.BCNSPP, "beacon_special_purpose");
     59                ObjSTR.put(Obj.BOYCAR, "buoy_cardinal");
     60                ObjSTR.put(Obj.BOYISD, "buoy_isolated_danger");
     61                ObjSTR.put(Obj.BOYLAT, "buoy_lateral");
     62                ObjSTR.put(Obj.BOYSAW, "buoy_safe_water");
     63                ObjSTR.put(Obj.BOYSPP, "buoy_special_purpose");
     64                ObjSTR.put(Obj.FLTCAR, "light_float");
     65                ObjSTR.put(Obj.FLTLAT, "light_float");
     66                ObjSTR.put(Obj.FLTSAW, "light_float");
     67                ObjSTR.put(Obj.FLTSPP, "light_float");
     68                ObjSTR.put(Obj.LITMAJ, "light_major");
     69                ObjSTR.put(Obj.LITMIN, "light_minor");
     70                ObjSTR.put(Obj.LITFLT, "light_float");
     71                ObjSTR.put(Obj.LITVES, "light_vessel");
     72                ObjSTR.put(Obj.LNDMRK, "landmark");
     73                ObjSTR.put(Obj.MORFAC, "mooring");
     74                ObjSTR.put(Obj.SIGSTA, "signal_station_warning");
     75                ObjSTR.put(Obj.SIGSTA, "signal_station_traffic");
    7676        }
    7777
     
    141141        }
    142142
    143         public static final EnumMap<Cat, String> CatMAP = new EnumMap<Cat, String>(Cat.class);
     143        public static final EnumMap<Cat, String> CatSTR = new EnumMap<Cat, String>(Cat.class);
    144144        static {
    145                 CatMAP.put(Cat.LAT_PORT, "port");
    146                 CatMAP.put(Cat.LAT_STBD, "starboard");
    147                 CatMAP.put(Cat.LAT_PREF_PORT, "preferred_channel_port");
    148                 CatMAP.put(Cat.LAT_PREF_STBD, "preferred_channel_starboard");
    149                 CatMAP.put(Cat.CARD_NORTH, "north");
    150                 CatMAP.put(Cat.CARD_EAST, "east");
    151                 CatMAP.put(Cat.CARD_SOUTH, "south");
    152                 CatMAP.put(Cat.CARD_WEST, "west");
    153                 CatMAP.put(Cat.MOORING_BUOY, "mooring_buoy");
     145                CatSTR.put(Cat.LAT_PORT, "port");
     146                CatSTR.put(Cat.LAT_STBD, "starboard");
     147                CatSTR.put(Cat.LAT_PREF_PORT, "preferred_channel_port");
     148                CatSTR.put(Cat.LAT_PREF_STBD, "preferred_channel_starboard");
     149                CatSTR.put(Cat.CARD_NORTH, "north");
     150                CatSTR.put(Cat.CARD_EAST, "east");
     151                CatSTR.put(Cat.CARD_SOUTH, "south");
     152                CatSTR.put(Cat.CARD_WEST, "west");
     153                CatSTR.put(Cat.MOORING_BUOY, "mooring_buoy");
    154154        }
    155155
     
    168168        }
    169169
    170         public static final EnumMap<Shp, String> ShpMAP = new EnumMap<Shp, String>(Shp.class);
     170        public static final EnumMap<Shp, String> ShpSTR = new EnumMap<Shp, String>(Shp.class);
    171171        static {
    172                 ShpMAP.put(Shp.PILLAR, "pillar");
    173                 ShpMAP.put(Shp.SPAR, "spar");
    174                 ShpMAP.put(Shp.CAN, "can");
    175                 ShpMAP.put(Shp.CONE, "conical");
    176                 ShpMAP.put(Shp.SPHERE, "spherical");
    177                 ShpMAP.put(Shp.BARREL, "barrel");
    178                 ShpMAP.put(Shp.FLOAT, "float");
    179                 ShpMAP.put(Shp.SUPER, "super-buoy");
    180                 ShpMAP.put(Shp.BUOYANT, "buoyant");
    181                 ShpMAP.put(Shp.CAIRN, "cairn");
    182                 ShpMAP.put(Shp.PILE, "pile");
    183                 ShpMAP.put(Shp.LATTICE, "lattice");
    184                 ShpMAP.put(Shp.TOWER, "tower");
    185                 ShpMAP.put(Shp.STAKE, "stake");
    186                 ShpMAP.put(Shp.PERCH, "perch");
     172                ShpSTR.put(Shp.PILLAR, "pillar");
     173                ShpSTR.put(Shp.SPAR, "spar");
     174                ShpSTR.put(Shp.CAN, "can");
     175                ShpSTR.put(Shp.CONE, "conical");
     176                ShpSTR.put(Shp.SPHERE, "spherical");
     177                ShpSTR.put(Shp.BARREL, "barrel");
     178                ShpSTR.put(Shp.FLOAT, "float");
     179                ShpSTR.put(Shp.SUPER, "super-buoy");
     180                ShpSTR.put(Shp.BUOYANT, "buoyant");
     181                ShpSTR.put(Shp.CAIRN, "cairn");
     182                ShpSTR.put(Shp.PILE, "pile");
     183                ShpSTR.put(Shp.LATTICE, "lattice");
     184                ShpSTR.put(Shp.TOWER, "tower");
     185                ShpSTR.put(Shp.STAKE, "stake");
     186                ShpSTR.put(Shp.PERCH, "perch");
    187187        }
    188188
     
    201201        }
    202202
    203         public static final EnumMap<Col, String> ColMAP = new EnumMap<Col, String>(Col.class);
     203        public static final EnumMap<Col, String> ColSTR = new EnumMap<Col, String>(Col.class);
    204204        static {
    205                 ColMAP.put(Col.WHITE, "white");
    206                 ColMAP.put(Col.RED, "red");
    207                 ColMAP.put(Col.ORANGE, "orange");
    208                 ColMAP.put(Col.AMBER, "amber");
    209                 ColMAP.put(Col.YELLOW, "yellow");
    210                 ColMAP.put(Col.GREEN, "green");
    211                 ColMAP.put(Col.BLUE, "blue");
    212                 ColMAP.put(Col.VIOLET, "violet");
    213                 ColMAP.put(Col.BLACK, "black");
     205                ColSTR.put(Col.WHITE, "white");
     206                ColSTR.put(Col.RED, "red");
     207                ColSTR.put(Col.ORANGE, "orange");
     208                ColSTR.put(Col.AMBER, "amber");
     209                ColSTR.put(Col.YELLOW, "yellow");
     210                ColSTR.put(Col.GREEN, "green");
     211                ColSTR.put(Col.BLUE, "blue");
     212                ColSTR.put(Col.VIOLET, "violet");
     213                ColSTR.put(Col.BLACK, "black");
    214214        }
    215215
     
    381381        }
    382382
    383         public static final EnumMap<Top, String> TopMAP = new EnumMap<Top, String>(Top.class);
     383        public static final EnumMap<Top, String> TopSTR = new EnumMap<Top, String>(Top.class);
    384384        static {
    385                 TopMAP.put(Top.CAN, "cylinder");
    386                 TopMAP.put(Top.CONE, "cylinder");
    387                 TopMAP.put(Top.SPHERE, "SPHERE");
    388                 TopMAP.put(Top.X_SHAPE, "X-SHAPE");
    389                 TopMAP.put(Top.NORTH, "2 cones up");
    390                 TopMAP.put(Top.SOUTH, "2 cones down");
    391                 TopMAP.put(Top.EAST, "2 cones base together");
    392                 TopMAP.put(Top.WEST, "2 cones points together");
    393                 TopMAP.put(Top.SPHERES2, "2 spheres");
     385                TopSTR.put(Top.CAN, "cylinder");
     386                TopSTR.put(Top.CONE, "cylinder");
     387                TopSTR.put(Top.SPHERE, "SPHERE");
     388                TopSTR.put(Top.X_SHAPE, "X-SHAPE");
     389                TopSTR.put(Top.NORTH, "2 cones up");
     390                TopSTR.put(Top.SOUTH, "2 cones down");
     391                TopSTR.put(Top.EAST, "2 cones base together");
     392                TopSTR.put(Top.WEST, "2 cones points together");
     393                TopSTR.put(Top.SPHERES2, "2 spheres");
    394394        }
    395395
     
    412412        }
    413413
    414         public static final EnumMap<Day, String> DayMAP = new EnumMap<Day, String>(Day.class);
     414        public static final EnumMap<Day, String> DaySTR = new EnumMap<Day, String>(Day.class);
    415415        static {
    416                 DayMAP.put(Day.BOARD, "board");
    417                 DayMAP.put(Day.DIAMOND, "diamond");
    418                 DayMAP.put(Day.CIRCLE, "circle");
    419                 DayMAP.put(Day.TRIANGLE, "triangle, point up");
    420                 DayMAP.put(Day.TRIANGLE_INV, "triangle, point down");
    421                 DayMAP.put(Day.SQUARE, "square");
     416                DaySTR.put(Day.BOARD, "board");
     417                DaySTR.put(Day.DIAMOND, "diamond");
     418                DaySTR.put(Day.CIRCLE, "circle");
     419                DaySTR.put(Day.TRIANGLE, "triangle, point up");
     420                DaySTR.put(Day.TRIANGLE_INV, "triangle, point down");
     421                DaySTR.put(Day.SQUARE, "square");
    422422        }
    423423
     
    540540
    541541                setObject(Obj.UNKNOWN);
    542                 for (Obj obj : ObjMAP.keySet()) {
    543                         if (ObjMAP.get(obj).equals(str)) {
     542                for (Obj obj : ObjSTR.keySet()) {
     543                        if (ObjSTR.get(obj).equals(str)) {
    544544                                setObject(obj);
    545545                        }
     
    554554
    555555                setName("");
    556                 for (Obj obj : ObjMAP.keySet()) {
    557                         if (keys.containsKey("seamark:" + ObjMAP.get(obj) + ":name")) {
    558                                 str = keys.get("seamark:" + ObjMAP.get(obj) + ":name");
     556                for (Obj obj : ObjSTR.keySet()) {
     557                        if (keys.containsKey("seamark:" + ObjSTR.get(obj) + ":name")) {
     558                                str = keys.get("seamark:" + ObjSTR.get(obj) + ":name");
    559559                                setName(str);
    560560                        }
     
    571571                }
    572572
    573                 for (Obj obj : ObjMAP.keySet()) {
    574                         if (keys.containsKey("seamark:" + ObjMAP.get(obj) + ":category")) {
    575                                 str = keys.get("seamark:" + ObjMAP.get(obj) + ":category");
     573                for (Obj obj : ObjSTR.keySet()) {
     574                        if (keys.containsKey("seamark:" + ObjSTR.get(obj) + ":category")) {
     575                                str = keys.get("seamark:" + ObjSTR.get(obj) + ":category");
    576576                                setCategory(Cat.UNKNOWN);
    577                                 for (Cat cat : CatMAP.keySet()) {
    578                                         if (CatMAP.get(cat).equals(str)) {
     577                                for (Cat cat : CatSTR.keySet()) {
     578                                        if (CatSTR.get(cat).equals(str)) {
    579579                                                setCategory(cat);
    580580                                        }
     
    583583                }
    584584
    585                 for (Obj obj : ObjMAP.keySet()) {
    586                         if (keys.containsKey("seamark:" + ObjMAP.get(obj) + ":shape")) {
    587                                 str = keys.get("seamark:" + ObjMAP.get(obj) + ":shape");
     585                for (Obj obj : ObjSTR.keySet()) {
     586                        if (keys.containsKey("seamark:" + ObjSTR.get(obj) + ":shape")) {
     587                                str = keys.get("seamark:" + ObjSTR.get(obj) + ":shape");
    588588                                setShape(Shp.UNKNOWN);
    589                                 for (Shp shp : ShpMAP.keySet()) {
    590                                         if (ShpMAP.get(shp).equals(str)) {
     589                                for (Shp shp : ShpSTR.keySet()) {
     590                                        if (ShpSTR.get(shp).equals(str)) {
    591591                                                setShape(shp);
    592592                                        }
     
    603603                }
    604604
    605                 for (Obj obj : ObjMAP.keySet()) {
    606                         if (keys.containsKey("seamark:" + ObjMAP.get(obj) + ":colour")) {
    607                                 str = keys.get("seamark:" + ObjMAP.get(obj) + ":colour");
     605                for (Obj obj : ObjSTR.keySet()) {
     606                        if (keys.containsKey("seamark:" + ObjSTR.get(obj) + ":colour")) {
     607                                str = keys.get("seamark:" + ObjSTR.get(obj) + ":colour");
    608608                                bodyColour.clear();
    609609                                for (String item : str.split(";")) {
    610                                         for (Col col : ColMAP.keySet()) {
    611                                                 if (ColMAP.get(col).equals(item)) {
     610                                        for (Col col : ColSTR.keySet()) {
     611                                                if (ColSTR.get(col).equals(item)) {
    612612                                                        bodyColour.add(col);
    613613                                                }
     
    617617                }
    618618
    619                 for (Obj obj : ObjMAP.keySet()) {
    620                         if (keys.containsKey("seamark:" + ObjMAP.get(obj) + ":colour_pattern")) {
    621                                 str = keys.get("seamark:" + ObjMAP.get(obj) + ":colour_pattern");
     619                for (Obj obj : ObjSTR.keySet()) {
     620                        if (keys.containsKey("seamark:" + ObjSTR.get(obj) + ":colour_pattern")) {
     621                                str = keys.get("seamark:" + ObjSTR.get(obj) + ":colour_pattern");
    622622                                setPattern(Ent.BODY, Pat.NONE);
    623623                                for (Pat pat : PatMAP.keySet()) {
     
    629629                }
    630630
    631                 for (Obj obj : ObjMAP.keySet()) {
    632                         if (keys.containsKey("seamark:" + ObjMAP.get(obj) + ":system")) {
    633                                 str = keys.get("seamark:" + ObjMAP.get(obj) + ":system");
     631                for (Obj obj : ObjSTR.keySet()) {
     632                        if (keys.containsKey("seamark:" + ObjSTR.get(obj) + ":system")) {
     633                                str = keys.get("seamark:" + ObjSTR.get(obj) + ":system");
    634634                                if (str.equals("iala-a"))
    635635                                        setRegion(Reg.A);
     
    710710                        break;
    711711                case CAR:
     712                        dlg.panelMain.hazButton.doClick();
     713                        switch (getCategory()) {
     714                        case CARD_NORTH:
     715                                dlg.panelMain.panelHaz.northButton.doClick();
     716                                break;
     717                        case CARD_SOUTH:
     718                                dlg.panelMain.panelHaz.southButton.doClick();
     719                                break;
     720                        case CARD_EAST:
     721                                dlg.panelMain.panelHaz.eastButton.doClick();
     722                                break;
     723                        case CARD_WEST:
     724                                dlg.panelMain.panelHaz.westButton.doClick();
     725                                break;
     726                        }
     727                        break;
    712728                case ISD:
    713729                        dlg.panelMain.hazButton.doClick();
     730                        dlg.panelMain.panelHaz.isolButton.doClick();
    714731                        break;
    715732                case SPP:
     
    767784                        case BLACK:
    768785                                dlg.panelMain.hazButton.doClick();
     786                                switch (getColour(Ent.FLOAT, 1)) {
     787                                case YELLOW:
     788                                        if (getColour(Ent.FLOAT, 2) == Col.BLACK)
     789                                                dlg.panelMain.panelHaz.eastButton.doClick();
     790                                        else
     791                                                dlg.panelMain.panelHaz.northButton.doClick();
     792                                        break;
     793                                case RED:
     794                                        dlg.panelMain.panelHaz.isolButton.doClick();
     795                                        break;
     796                                }
    769797                                break;
    770798                        case YELLOW:
    771                                 if (getColour(Ent.FLOAT, 1) == Col.BLACK)
     799                                if (getColour(Ent.FLOAT, 1) == Col.BLACK) {
    772800                                        dlg.panelMain.hazButton.doClick();
    773                                 else
     801                                        if (getColour(Ent.FLOAT, 2) == Col.YELLOW)
     802                                                dlg.panelMain.panelHaz.westButton.doClick();
     803                                        else
     804                                                dlg.panelMain.panelHaz.southButton.doClick();
     805                                } else {
    774806                                        dlg.panelMain.specButton.doClick();
     807                                }
    775808                                break;
    776809                        }
     
    896929                                Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:name", getName()));
    897930
    898                         String objStr = ObjMAP.get(object);
     931                        String objStr = ObjSTR.get(object);
    899932                        if (objStr != null) {
    900933                                Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:type", objStr));
    901934
    902935                                if (getShape() != Shp.FLOAT) {
    903                                         String str = CatMAP.get(category);
     936                                        String str = CatSTR.get(category);
    904937                                        if (str != null)
    905938                                                Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:" + objStr + ":category", str));
    906939                                        if ((getShape() != Shp.BUOY) && (getShape() != Shp.BEACON))
    907                                                 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:" + objStr + ":shape", ShpMAP.get(getShape())));
     940                                                Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:" + objStr + ":shape", ShpSTR.get(getShape())));
    908941                                }
    909942
    910943                                if ((getColour(Ent.BODY, 0) != Col.UNKNOWN) && getShape() != Shp.PERCH) {
    911                                         String str = ColMAP.get(getColour(Ent.BODY, 0));
     944                                        String str = ColSTR.get(getColour(Ent.BODY, 0));
    912945                                        for (int i = 1; bodyColour.size() > i; i++) {
    913                                                 str += (";" + ColMAP.get(getColour(Ent.BODY, i)));
     946                                                str += (";" + ColSTR.get(getColour(Ent.BODY, i)));
    914947                                        }
    915948                                        Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:" + objStr + ":colour", str));
Note: See TracChangeset for help on using the changeset viewer.