001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.plugins.eventbus.gui.dialogs; 003 004import java.util.EventObject; 005import java.util.Objects; 006 007import org.openstreetmap.josm.gui.layer.Layer; 008 009/** 010 * Event fired when a layer becomes visible. 011 */ 012public class LayerVisibleEvent extends EventObject { 013 014 private static final long serialVersionUID = 1L; 015 016 private final int index; 017 private final Layer layer; 018 019 /** 020 * Constructs a new {@code LayerVisibleEvent}. 021 * @param source object on which the Event initially occurred 022 * @param index layer index 023 * @param layer layer 024 */ 025 public LayerVisibleEvent(Object source, int index, Layer layer) { 026 super(source); 027 this.index = index; 028 this.layer = Objects.requireNonNull(layer); 029 } 030 031 /** 032 * Returns the layer index. 033 * @return the layer index 034 */ 035 public final int getIndex() { 036 return index; 037 } 038 039 /** 040 * Returns the layer. 041 * @return the layer 042 */ 043 public final Layer getLayer() { 044 return layer; 045 } 046}