Ignore:
Timestamp:
2012-07-12T14:42:28+02:00 (12 years ago)
Author:
boman
Message:

bugfix for #7844 and also #7334

Location:
applications/editors/josm/plugins/OpeningHoursEditor/src/org/openstreetmap/josm/plugins/ohe
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/OpeningHoursEditor/src/org/openstreetmap/josm/plugins/ohe/OhePlugin.java

    r27852 r28477  
    4040import org.openstreetmap.josm.command.SequenceCommand;
    4141import org.openstreetmap.josm.data.osm.OsmPrimitive;
     42import org.openstreetmap.josm.gui.MainMenu;
    4243import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    4344import org.openstreetmap.josm.plugins.Plugin;
     
    7273    public OhePlugin(PluginInformation info) {
    7374        super(info);
    74         Main.main.menu.toolsMenu.add(new OheMenuAction());
     75        MainMenu.add(Main.main.menu.toolsMenu, new OheMenuAction());
    7576    }
    7677
     
    8889                    tr("Edit time-tag of selected element in a graphical interface"), Shortcut.registerShortcut(
    8990                            "tools:opening_hourseditor", tr("Tool: {0}", tr("Edit opening hours")), KeyEvent.VK_O,
    90                             Shortcut.ALT_CTRL_SHIFT), false);
     91                            Shortcut.ALT_CTRL_SHIFT), true);
    9192        }
    9293
  • applications/editors/josm/plugins/OpeningHoursEditor/src/org/openstreetmap/josm/plugins/ohe/gui/OheEditor.java

    r26215 r28477  
    4747                    g.setColor(Color.WHITE);
    4848                    g.fillRect(0, 0, getWidth(), getHeight());
     49                   
     50                    // draw the time from 12PM to 00AM in a different color
    4951                    if (dialog.getHourMode() == ClockSystem.TWELVE_HOURS) {
    5052                        g.setColor(new Color(255, 255, 218));
     
    5355
    5456                    // horizontal Lines
    55                     for (int i = 1; i < 24; ++i) {
     57                    for (int i = 0; i <= 24; ++i) {
    5658                        if (i % 3 == 0) {
    5759                            g.setColor(Color.BLACK);
     
    6567                    // vertical Lines
    6668                    g.setColor(Color.BLACK);
    67                     for (int i = 1; i < 7; ++i) {
     69                    for (int i = 0; i <= 7; ++i) {
    6870                        g.drawLine(getDayPosition(i), 0, getDayPosition(i), getHeight());
    6971                    }
     
    113115                for (int i = 0; i < 7; ++i) {
    114116                    if (i > 0) {
    115                         g.drawLine(getDayPosition(i) + 1, 0, getDayPosition(i) + 1, getHeight());
     117                        g.drawLine(getDayPosition(i), 0, getDayPosition(i), getHeight());
    116118                    }
    117119
     
    134136                g.setColor(Color.WHITE);
    135137                g.fillRect(0, 0, getWidth(), getHeight());
     138               
     139                // draw the time from 12PM to 00AM in a different color
    136140                if (dialog.getHourMode() == ClockSystem.TWELVE_HOURS) {
    137141                    g.setColor(new Color(255, 255, 218));
     
    139143                }
    140144
    141                 for (int i = 1; i < 24; ++i) {
     145                for (int i = 0; i <= 24; ++i) {
    142146                    if (i % 3 == 0) {
    143147                        g.setColor(Color.BLACK);
    144                         String text = OpeningTimeUtils.timeString(i * 60, dialog.getHourMode(), false);
    145                         g.drawString(text, (timeAxisWidth - g.getFontMetrics().stringWidth(text)) / 2,
    146                                 getMinutePosition(i * 60) + (int) (g.getFontMetrics().getHeight() * 0.35));
     148                        if (i % 24 != 0) {
     149                            String text = OpeningTimeUtils.timeString(i * 60, dialog.getHourMode(), false);
     150                            g.drawString(text, (timeAxisWidth - g.getFontMetrics().stringWidth(text)) / 2,
     151                                    getMinutePosition(i * 60) + (int) (g.getFontMetrics().getHeight() * 0.35));
     152                        }
    147153                    } else {
    148154                        g.setColor(Color.LIGHT_GRAY);
     
    216222        int height = getMinutePosition(minutesEnd) - getMinutePosition(minutesStart);
    217223
    218         // work around openjdk bug
    219         if (Main.isOpenjdk) {
    220             x++;
    221             y++;
    222         }
    223 
    224224        if (minutesStart == minutesEnd)
    225225            return new Rectangle(x, y - 2 - TimeRect.verticalNonDrawedPixels, width, height + 5 + 2
     
    267267    @Override
    268268    public void mouseEntered(MouseEvent evt) {
     269        if (!isEnabled()) {
     270            return; // allow no mouse actions when the editor is not enabled
     271        }
    269272        mousePositionChanged(0, 0, true);
    270273    }
     
    272275    @Override
    273276    public void mouseExited(MouseEvent evt) {
     277        if (!isEnabled()) {
     278            return; // allow no mouse actions when the editor is not enabled
     279        }
    274280        mousePositionChanged(0, 0, false);
    275281    }
     
    277283    @Override
    278284    public void mousePressed(MouseEvent evt) {
     285        if (!isEnabled()) {
     286            return; // allow no mouse actions when the editor is not enabled
     287        }
    279288        day0 = (int) Math.floor(evt.getX() / getDayWidth());
    280289        minute0 = (int) Math.floor(evt.getY() / (getMinuteHeight() * TimeRect.minuteResterize))
     
    288297    @Override
    289298    public void mouseReleased(MouseEvent evt) {
     299        if (!isEnabled()) {
     300            return; // allow no mouse actions when the editor is not enabled
     301        }
    290302        // mouse must be moved 5px before creating a rect
    291303        if (xDragStart == -1 || Math.abs(evt.getX() - xDragStart) + Math.abs(evt.getY() - yDragStart) > 5) {
     
    308320    @Override
    309321    public void mouseDragged(MouseEvent evt) {
     322        if (!isEnabled()) {
     323            return; // allow no mouse actions when the editor is not enabled
     324        }
    310325        // mouse must be moved 5px before drawing a rect
    311326        if (xDragStart == -1 || Math.abs(evt.getX() - xDragStart) + Math.abs(evt.getY() - yDragStart) > 5) {
     
    313328            day1 = (int) Math.floor(evt.getX() / getDayWidth());
    314329            minute1 = (int) Math.floor(evt.getY() / (getMinuteHeight() * TimeRect.minuteResterize))
    315             * TimeRect.minuteResterize;
     330                    * TimeRect.minuteResterize;
    316331
    317332            // ensure that the new time is in a valid range
     
    328343    @Override
    329344    public void mouseMoved(MouseEvent evt) {
     345        if (!isEnabled()) {
     346            return; // allow no mouse actions when the editor is not enabled
     347        }
    330348        mousePositionChanged(evt.getX(), evt.getY(), true);
    331349    }
     
    335353            int actualDay = (int) Math.floor(x / getDayWidth());
    336354            int minutes = (int) Math.floor(y / (getMinuteHeight() * TimeRect.minuteResterize))
    337             * TimeRect.minuteResterize;
     355                    * TimeRect.minuteResterize;
    338356            actualDay = Math.max(0, Math.min(6, actualDay));
    339357            minutes = Math.max(0, Math.min(24 * 60, minutes));
  • applications/editors/josm/plugins/OpeningHoursEditor/src/org/openstreetmap/josm/plugins/ohe/gui/TimeRect.java

    r26838 r28477  
    214214    @Override
    215215    public void mouseExited(MouseEvent evt) {
    216         if (transformType < 0)
     216        if (transformType < 0) {
    217217            setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
     218        }
     219        editor.mousePositionChanged(0, 0, false);
    218220    }
    219221
     
    293295    @Override
    294296    public void mouseMoved(MouseEvent evt) {
    295         if (transformType < 0)
     297        if (transformType < 0) {
    296298            setCursor(new Cursor(transformCursorTypes[getTransformType(evt)]));
     299        }
    297300        editor.mousePositionChanged(evt.getX() + getX(), evt.getY() + getY(), true);
    298301    }
Note: See TracChangeset for help on using the changeset viewer.