Class AbstractControl

    • Constructor Detail

      • AbstractControl

        protected AbstractControl​(String name,
                                  boolean externalizable)
    • Method Detail

      • getJSadd

        protected String getJSadd​(IOpenLayersMap map,
                                  Map<String,​String> parameters)
        A convenience wrapper to getJSadd(IOpenLayersMap, String) that builds the parameter string from the parameter map and then invokes the method.
        Parameters:
        map -
        parameters -
        Returns:
        the initialization javascript that adds this control to the map using the parameters if given.
      • getJSadd

        protected String getJSadd​(IOpenLayersMap map,
                                  String parameterString)
        Calls map.addControl() for the generated initialization javascript using the parameterString if present.
        Parameters:
        map -
        parameterString - contains comma separated list of parameters
        Returns:
      • getJSadd

        protected String getJSadd​(IOpenLayersMap map,
                                  String javascriptClassName,
                                  String parameterString)
        Parameters:
        map - the openlayers map java binding.
        javascriptClassName - the name of the javascript class being invoked.
        parameterString - the constructor parameters if any.
        Returns:
        the javascript to invoke the map.addControl() method containing the initialized constructor for the control type.
      • getId

        public String getId()
        Description copied from interface: IJavascriptComponent
        Note: currently the naming of a component is related to the concrete class i.e. a WMS layer would be 'wms' + getId() like: 'wms123456'. The id returned here is the number part not the layer identifier part.
        Specified by:
        getId in interface IJavascriptComponent
        Returns:
        the unique id for this component. Used for naming purposes.
      • registerJavascriptEvent

        public void registerJavascriptEvent​(IOpenLayersMap map,
                                            String event,
                                            IModel<String> eventHandlingJavascriptModel)
        Allows javascript to be wired into events on this control. The name of the event object in scope for the model value is 'evt'.

        control.events.register("featureselected", this, function(evt) { modelValue <-- this is the content from the model. });

        Note: This is not the method to use if you want to use ajax and have wicket to the event processing.

        Parameters:
        map - the map object that the control is bound to (will be bound to).
        event - the name of the OpenLayersEvent
        eventHandlingJavascriptModel - an IModel that provides the javascript text to be registered on the event.
      • getJSinvoke

        protected String getJSinvoke​(IOpenLayersMap map,
                                     String invocation)
        A helper similiar to OpenLayersMap.getJSInvoke except instead of just getting the map context we get this control context from the root.
        Parameters:
        map -
        invocation -
        Returns:
      • setLayerList

        public void setLayerList​(List<Layer> layerList)
      • getLayerList

        public List<Layer> getLayerList()