def wx_dropped_on ( self, x, y, data, drag_result ):
        # Determine what, if any, feature the object was dropped on:
        feature = self._can_drop_on_feature( x, y, data )

        # Indicate use of the feature bar is complete:
        self.completed = True

        # Reset any drag state information:
        self.dock_control.post_drag( FEATURE_EXTERNAL_DRAG )

        # Check to see if the data was dropped on a feature or not:
        if feature is not None:
            if isinstance( data, IFeatureTool ):
                # Handle an object implementing IFeatureTool being dropped:
                dock_control = feature.dock_control
                data.feature_dropped_on_dock_control( dock_control )
                data.feature_dropped_on( dock_control.object )
            else:
                # Handle a normal object being dropped:
                wx, wy = self.control.GetScreenPosition()
                feature.set( x = wx + x, y = wy + y )
                feature.drop( data )

            return drag_result

        return wx.DragNone

    #---------------------------------------------------------------------------
    #  Handles a Python object being dragged over the control:
    #---------------------------------------------------------------------------
Handles a Python object being dropped on the window.
dataset/ETHPy150Open enthought/pyface/pyface/dock/feature_bar.py/FeatureBar.wx_dropped_on