def _quick_drag_menu ( self, object ):
        """ Displays the quick drag menu for a specified drag object.
        """

        # Get all the features it could be dropped on:
        feature_lists = []
        if isinstance( object, IFeatureTool ):
            msg = 'Apply to'
            for dc in self.dock_control.dock_controls:
                if (dc.visible and
                    (object.feature_can_drop_on( dc.object ) or
                     object.feature_can_drop_on_dock_control( dc ))):
                    from feature_tool import FeatureTool

                    feature_lists.append( [ FeatureTool( dock_control = dc ) ] )
        else:
            msg = 'Send to'
            for dc in self.dock_control.dock_controls:
                if dc.visible:
                    allowed = [ f for f in dc.features
                                if (f.feature_name != '') and
                                    f.can_drop( object ) ]
                    if len( allowed ) > 0:
                        feature_lists.append( allowed )

        # If there are any compatible features:
        if len( feature_lists ) > 0:
            # Create the pop-up menu:
            features = []
            actions  = []
            for list in feature_lists:
                if len( list ) > 1:
                    sub_actions = []
                    for feature in list:
                        sub_actions.append( Action(
                            name   = '%s Feature' % feature.feature_name,
                            action = "self._drop_on(%d)" % len( features ) )
                        )
                        features.append( feature )
                    actions.append( Menu(
                        name = '%s the %s' % ( msg, feature.dock_control.name ),
                        *sub_actions )
                    )
                else:
                    actions.append( Action(
                        name   = '%s %s' % ( msg, list[0].dock_control.name ),
                        action = "self._drop_on(%d)" % len( features ) )
                    )
                    features.append( list[0] )

            # Display the pop-up menu:
            self._object   = object
            self._features = features
            self.popup_menu( Menu( name = 'popup', *actions ) )
            self._object = self._features = None

    #---------------------------------------------------------------------------
    #  Drops the current object on the feature selected by the user (used by
    #  the 'quick_drag' method:
    #---------------------------------------------------------------------------
dataset/ETHPy150Open enthought/pyface/pyface/dock/dock_window_feature.py/DockWindowFeature._quick_drag_menu/original