NSDraggingSource
NSDraggingSource
протокол объявляет методы, реализованные исходным объектом в сеансе перетаскивания.
В OS X v10.7 и позже NSDraggingSource
теперь формальный протокол и имеет обновленный интерфейс. OS X v10.6 поведение был сохранен, но будет отброшен в будущей версии операционной системы. Методы, которые должны быть осуждены, отмечены как таковые.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.7 и позже.
-
draggingSession (_: sourceOperationMaskForDraggingContext:) - draggingSession:sourceOperationMaskForDraggingContext:
ТребуемыйОбъявляет типы операций, источник позволяет выполняться. (требуемый)
Объявление
Swift
func draggingSession(_
session
: NSDraggingSession, sourceOperationMaskForDraggingContextcontext
: NSDraggingContext) -> NSDragOperationObjective C
- (NSDragOperation)draggingSession:(NSDraggingSession *)
session
sourceOperationMaskForDraggingContext:(NSDraggingContext)context
Параметры
session
Сеанс перетаскивания.
context
Контекст перетаскивания. Посмотрите
NSDraggingContext
для поддерживаемых значений.Возвращаемое значение
Надлежащая работа перетаскивания, как определено в
Обсуждение
В будущем Apple может обеспечить более определенный «в» значениях в будущем. Для учета это, для нераспознанных окрестностей, возвращает маску работы для самого определенного контекста, в котором Вы обеспокоены. Следующий код является примером того, как реализовать эту функциональность:
switch(context) {
case NSDraggingContextOutsideApplication:
return ...
break;
case NSDraggingContextWithinApplication:
default:
return ...
break;
}
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда завершился сеанс перетаскивания.
Объявление
Swift
optional func draggingSession(_
session
: NSDraggingSession, endedAtPointscreenPoint
: NSPoint, operationoperation
: NSDragOperation)Objective C
- (void)draggingSession:(NSDraggingSession *)
session
endedAtPoint:(NSPoint)screenPoint
operation:(NSDragOperation)operation
Параметры
session
Сеанс перетаскивания.
screenPoint
Точка, где перетаскивание закончилось в координатах экрана.
operation
Работа перетаскивания. Посмотрите
NSDragOperation
для типов работы перетаскивания.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда перетаскивание углубляет экран.
Объявление
Swift
optional func draggingSession(_
session
: NSDraggingSession, movedToPointscreenPoint
: NSPoint)Objective C
- (void)draggingSession:(NSDraggingSession *)
session
movedToPoint:(NSPoint)screenPoint
Параметры
session
Сеанс перетаскивания.
screenPoint
Точка, куда перетаскивание переместилось в в координатах экрана.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда начнется перетаскивание.
Объявление
Swift
optional func draggingSession(_
session
: NSDraggingSession, willBeginAtPointscreenPoint
: NSPoint)Objective C
- (void)draggingSession:(NSDraggingSession *)
session
willBeginAtPoint:(NSPoint)screenPoint
Параметры
session
Сеанс перетаскивания.
screenPoint
Точка, где перетаскивание начнется в координатах экрана.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвраты, будут ли модифицирующие клавиши проигнорированы для этого сеанса перетаскивания.
Объявление
Swift
optional func ignoreModifierKeysForDraggingSession(_
session
: NSDraggingSession) -> BoolObjective C
- (BOOL)ignoreModifierKeysForDraggingSession:(NSDraggingSession *)
session
Параметры
session
Сеанс перетаскивания.
Возвращаемое значение
YES
true
если модифицирующие клавиши будут проигнорированы,NO
false
иначе.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает целочисленную битовую маску, указывающую типы перетаскивания операций, исходный объект позволит выполняться на данных перетащенного изображения.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSource
методы протокола. Этот метод будет формально осуждаться в будущей версии ОС.Объявление
Objective C
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)
isLocal
Параметры
isLocal
YES
true
указывает, что целевой объект кандидата (окно или представление, по которому перетащенное изображение в настоящее время сбалансировано) находится в том же приложении как источник, в то время как aNO
false
значение указывает, что целевой объект находится в различном приложении.Возвращаемое значение
Маска, создаваемая путем объединения операций перетаскивания, перечисленных в
NSDragOperation
разделNSDraggingInfo
ссылка на протокол с помощью оператора битового «ИЛИ» C. Если источник не разрешает операций перетаскивания, он должен возвратитьсяNSDragOperationNone
.Обсуждение
Если не реализованный, значение по умолчанию
NSDragOperationCopy
|NSDragOperationLink
|NSDragOperationGeneric
|NSDragOperationPrivate
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
-
namesOfPromisedFilesDroppedAtDestination (_:) - namesOfPromisedFilesDroppedAtDestination:
(OS X v10.7)Возвращает имена файлов, которые получатель обещает создать в указанном расположении.
Объявление
Swift
func namesOfPromisedFilesDroppedAtDestination(_
dropDestination
: NSURL) -> [AnyObject]?Параметры
dropDestination
Объект URL, идентифицирующий расположение, в котором будут создаваться обещанные файлы.
Возвращаемое значение
Массив имен файлов (не полные пути), в котором получатель обещает создать
dropDestination
.Обсуждение
Этот метод вызывается, когда отбрасывание было принято местом назначения, и место назначения, в случае другого приложения Какао, вызывает метод NSDraggingInfo
namesOfPromisedFilesDroppedAtDestination:
. Для длинных операций можно кэшироватьсяdropDestination
и задержите создание файлов доdraggedImage:endedAt:operation:
метод, чтобы избежать блокировать целевое приложение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.2 и позже.
Осуждаемый в OS X v10.7.
-
Наборы, должно ли использование модифицирующих клавиш иметь эффект на тип выполняемой работы.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSource
методы протокола. Этот метод будет формально осуждаться в будущей версии ОС.Объявление
Objective C
- (BOOL)ignoreModifierKeysWhileDragging
Возвращаемое значение
Возвратиться
NO
false
, если пользователь может адаптировать работу перетаскивания удержанием модифицирующей клавиши во время перетаскивания.Обсуждение
Если этот метод не реализован, поведение по умолчанию эквивалентно возврату
NO
false
Опция перетаскивания, соответствующая модифицирующей клавише, объединена с маской источника (как установлено с
draggingSourceOperationMaskForLocal:
метод) использование оператора битового «ИЛИ» C. См. описание дляdraggingSourceOperationMask
метод вNSDraggingInfo
спецификация протокола для получения дополнительной информации о перетаскивании масок и модифицирующих клавиш.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
-
draggedImage:beganAt: - draggedImage:beganAt:
(OS X v10.7)Дает исходному объекту возможность реагировать на инициирование сеанса перетаскивания.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSource
методы протокола. Этот метод будет формально осуждаться в будущей версии ОС.Параметры
anImage
Изображение перетащенного элемента.
aPoint
Источник изображения в координатах экрана.
Обсуждение
Этот метод вызывается когда
anImage
выведен на экран, но прежде чем это запустится после мыши. Например, Вы могли бы принять решение иметь источник, дают визуальную индикацию пользователю, что данные перетаскиваются из источника.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
См. также
convertScreenToBase:
(NSWindow)convertBaseToScreen:
(NSWindow)convertPoint:fromView:
(NSView)convertPoint:toView:
(NSView) -
draggedImage:movedTo: - draggedImage:movedTo:
(OS X v10.7)Когда перетащенное изображение перемещается в новую координату экрана, сообщает источнику перетаскивания.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSource
методы протокола. Этот метод будет формально осуждаться в будущей версии ОС.Параметры
draggedImage
Перетащенное изображение.
screenPoint
Точка, указывающая новое расположение изображения в координатах экрана.
Обсуждение
Это сообщение подобно отправляемому месту назначения перетаскивания
draggingUpdated:
сообщения.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
-
Вызванный после того, как месту назначения перетаскивания дали шанс воздействовать на данные, представленные изображением. (требуемый)
Оператор осуждения
Использовать
draggedImage:endedAt:operation:
вместо этого.Объявление
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.1.
-
Вызванный после того, как месту назначения перетаскивания дали шанс воздействовать на данные, представленные изображением.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSource
методы протокола. Этот метод будет формально осуждаться в будущей версии ОС.Объявление
Objective C
- (void)draggedImage:(NSImage *)
anImage
endedAt:(NSPoint)aPoint
operation:(NSDragOperation)operation
Параметры
anImage
Перетащенное изображение.
aPoint
Точка, определяющая местоположение источника изображения в системе координаты экрана, когда это было выпущено.
operation
Целочисленная константа, указывающая работу, выполняемую местом назначения.
Обсуждение
Этот метод вызывается после перетащенного изображения (
anImage
) был выпущен и месту назначения перетаскивания дали шанс воздействовать на данные, которые он представляет. Этот метод предоставляет исходному объекту возможность реагировать или на успешное или на неработающий сеанс перетаскивания. Например, при перемещении данных от одного расположения до другого Вы могли бы использовать этот метод, чтобы заставить исходные данные исчезнуть из его предыдущего расположения, если сеанс перетаскивания успешен, или сбросил себя к своему предыдущему состоянию, в случае отказа.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.