# Path: birdy/dependencies.py

# 
# Path: birdy/dependencies.py



import json
from owslib.wfs import WebFeatureService
from birdy.dependencies import ipyleaflet as ipyl
from birdy.dependencies import ipywidgets as ipyw
    def layer(self):  # noqa: D102
        return self._layer

    # # # # # # # # # #
    # Widget creation #
    # # # # # # # # # #

    def _set_widget(
        self, widget_name, feature_property, src_map, textbox, widget_position
    ):
        if widget_name in self._property_widgets:
            src_map.remove_control(self._property_widgets[widget_name]["widget"])

        self._property_widgets[widget_name] = {}
        self._property_widgets[widget_name]["property_key"] = feature_property
        self._property_widgets[widget_name]["position"] = widget_position
        self._property_widgets[widget_name]["widget"] = ipyl.WidgetControl(
            widget=textbox, position=widget_position, min_width=120, max_width=120
        )

        src_map.add_control(self._property_widgets[widget_name]["widget"])

    def _create_refresh_widget(self):
        if ipyw is None:
            print(ipyw_not_installed)
            return

        if self._refresh_widget is None:
            button = ipyw.Button(description="Refresh WFS layer")
            button.on_click(self._refresh_layer)

# Path: birdy/dependencies.py

# 
# Path: birdy/dependencies.py



# Path: birdy/ipyleafletwfs/base.py
import json
from owslib.wfs import WebFeatureService
from birdy.dependencies import ipyleaflet as ipyl
from birdy.dependencies import ipywidgets as ipyw

    def layer(self):  # noqa: D102
        return self._layer

    # # # # # # # # # #
    # Widget creation #
    # # # # # # # # # #

    def _set_widget(
        self, widget_name, feature_property, src_map, textbox, widget_position
    ):
        if widget_name in self._property_widgets:
            src_map.remove_control(self._property_widgets[widget_name]["widget"])

        self._property_widgets[widget_name] = {}
        self._property_widgets[widget_name]["property_key"] = feature_property
        self._property_widgets[widget_name]["position"] = widget_position
        self._property_widgets[widget_name]["widget"] = ipyl.WidgetControl(
            widget=textbox, position=widget_position, min_width=120, max_width=120
        )

        src_map.add_control(self._property_widgets[widget_name]["widget"])

    def _create_refresh_widget(self):
        if ipyw is None:
            print(ipyw_not_installed)
            return

        if self._refresh_widget is None:
            button = ipyw.Button(description="Refresh WFS layer")
            button.on_click(self._refresh_layer)

            self._refresh_widget = ipyl.WidgetControl(