package ol.interaction;

import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;
import ol.GenericFunction;
import ol.Options;
import ol.layer.Layer;

/**
 * Options for interaction {@link Select}.
 *
 * @author Tino Desjardins
 *
 */
@JsType(isNative = true)
public interface SelectOptions extends Options{

    @JsProperty
    void setStyle(GenericFunction styleFunction);

    @JsProperty
    void setLayers(Layer[] layers);

    @JsProperty
    void setRemoveCondition(GenericFunction function);

    @JsProperty
    void setMulti(boolean multi);

    @JsProperty
    void setToogleCondition(GenericFunction function);

}

@@ -328,250 +328,1779 @@
 s%7B%0A%0A
-    @JsProperty%0A    void setStyle(GenericFunction styleFunction);%0A%0A    @JsProperty%0A    void setLayers(Layer%5B%5D layers);%0A%0A    @JsProperty%0A    void setRemoveCondition(GenericFunction function);%0A%0A    @JsProperty%0A    void setMulti(boolean multi);%0A
+%09/**%0A%09 * %0A%09 * Style for the selected features. By default the default edit style is used%0A%09 * (see ol.style).%0A%09 *%0A%09 * @param styleFunction%0A%09 */%0A    @JsProperty%0A    void setStyle(GenericFunction styleFunction);%0A%0A%09/**%0A%09 * %0A%09 * A list of layers from which features should be selected. Alternatively, a%0A%09 * filter function can be provided. The function will be called for each layer%0A%09 * in the map and should return true for layers that you want to be%0A%09 * selectable. If the option is absent, all visible layers will be considered%0A%09 * selectable.%0A%09 *%0A%09 * @param layers%0A%09 */%0A    @JsProperty%0A    void setLayers(Layer%5B%5D layers);%0A%0A%09/**%0A%09 * %0A%09 * A function that takes an ol.MapBrowserEvent and returns a boolean to%0A%09 * indicate whether that event should be handled. By default, this is%0A%09 * ol.events.condition.never. Use this if you want to use different events for%0A%09 * add and remove instead of toggle.%0A%09 *%0A%09 * @param function%0A%09 */%0A    @JsProperty%0A    void setRemoveCondition(GenericFunction function);%0A%0A%09/**%0A%09 * %0A%09 * A boolean that determines if the default behaviour should select only%0A%09 * single features or all (overlapping) features at the clicked map position.%0A%09 * Default is false i.e single select%0A%09 *%0A%09 * @param multi%0A%09 */%0A    @JsProperty%0A    void setMulti(boolean multi);%0A%0A%09/**%0A%09 * %0A%09 * A function that takes an ol.MapBrowserEvent and returns a boolean to%0A%09 * indicate whether that event should be handled. This is in addition to the%0A%09 * condition event. By default, ol.events.condition.shiftKeyOnly, i.e.%0A%09 * pressing shift as well as the condition event, adds that feature to the%0A%09 * current selection if it is not currently selected, and removes it if it is.%0A%09 * See add and remove if you want to use different events instead of a toggle.%0A%09 *%0A%09 * @param function%0A%09 */
 %0A   

Add comments to SelectOptions