Paket | flash.desktop |
Sınıf | public class NativeDragManager |
Miras Alma | NativeDragManager Object |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Aşağıdaki veri türleri aktarılabilir:
- Bitmap'ler
- Dosyalar
- Metin
- URL dizeleri
- Serileştirmiş nesneler
- Nesne başvuruları (yalnızca orijinal uygulama içinde geçerlidir)
Not: tüm NativeDragManager üyeleri statiktir. Bu sınıfa ait bir örnek oluşturulmasına gerek yoktur.
Sürükle ve bırak işlemi, kullanıcının görünebilir bir öğeyi tıklatıp başka bir yere sürüklemesiyle başlayan bir kullanıcı arabirimi hareketidir Sürükleme hareketi sırasında görüntüleme listesi üzerindeki etkileşimli nesneler, hareket AIR uygulaması penceresi etrafında yapılırken yerel sürükleme olaylarını gönderir. Bu olaylara yönelik işleyiciler, sürüklenen bir öğenin bir nesne üzerine bırakılıp bırakılamayacağını gösteren NativeDragManager sınıfının yöntemlerini çağırabilir. Buna karşılık olarak NativeDragManager, kullanıcıya geri bildirim sağlamak üzere fare işaretçisini değiştirir.
AIR profili desteği: Bu özellik AIR for TV aygıtlarında desteklenmez. Ayrıca, tüm mobil aygıtlarda da desteklenmez. Desteği çalışma zamanında NativeDragManager.isSupported
özelliğini kullanarak test edebilirsiniz. Birden fazla profilde API desteği ile ilgili daha fazla bilgi için bkz. AIR Profil Desteği.
Sürükleme eylemleri
Sürükleyip bırakma hareketleri genellikle eylem olarak adlandırılan üç tür işlem için kullanılır. Bu eylemlerin anlamı uygulama bağlamına bağlı olduğundan çalışma zamanı, eylemler konusunda hiçbir özel davranışı zorunlu kılmaz. Ancak, eylemlerin doğru şekilde uygulanması, kullanıcının uygulamanızla ilgili deneyimini artırır.
Gerçekleştirilebilecek eylemler şunlardır:
- Kopyalama: Orijinaline dokunmadan, verinin bir kopyası oluşturulur. (Bir uygulamadaki nesneleri sürüklerken, nesneye yönelik başvurudan çok nesnenin kendisini kopyalamaya özen gösterilmelidir.)
- Taşıma: Veriler, öğeyi bir listeden diğerine taşırken olduğu gibi, orijinal bağlamından bırakma hedefi tarafından tanımlanan bağlama taşınır.
- Bağ oluşturma: Öğeyi orijinal bağlamında bırakacak şekilde, orijinal verilere ait başvuru veya kısayol oluşturulur.
İzin verilen eylemler, sürükleme işlemini başlatan NativeDragManager.doDrag()
çağrısı içinde allowedActions
parametresini sağlayarak, bir sürükleme hareketi için ayarlanabilir. Sağlanan bir allowedActions
parametresi yoksa, tüm eylemlere izin verilir. Potansiyel sürükleme hedefleri, NativeDragEvent nesnesinin allowedActions
özelliği kullanılarak hangi eylemlere izin verildiğini ve hangi eylemlerin yalnızca uyumsuz eylemlere izin veren bir sürüklemeyi kabul etmemesi gerektiğini denetleyebilir (ancak bu, çalışma zamanı tarafından uygulanmaz).
Bir bırakma hedefi yalnızca tek bir eylemi uygularsa, nesne, işleyicilerdeki NativeDragManager öğesinin dropAction
özelliğini nativeDragEnter
ve nativeDragOver
olayları için ayarlayabilir. Özelliğin bırakma eyleminden önce ayarlanması, sürükleme yöneticisinin, fare işaretçisini desteklenen eylemi gösterecek şekilde güncellemesini sağlar ve ayrıca bir kullanıcının, tuş değiştiricilerini kullanarak uyumsuz bir eylem seçmesini önler. Belirtilen eylem izin verilen eylemlerden biri değilse, hedef, acceptDrop()
yöntemini çağırsa da bırakma eylemine izin verilmez.
Bir sürükleme eylemi kabul edilirken, potansiyel sürükleme hedefi, NativeDragManager.dropAction
özelliğini nativeDragDrop
olayına karşılık olarak ayarlayarak seçilen eylemi belirtmelidir. Bu eylem, nativeDragComplete
olayındaki başlangıçtaki görüntüleme nesnesine bildirilir. Sürükleme hedefi tarafından herhangi bir eylem ayarlanmazsa şu öncelik sırasına göre izin verilen eylemler arasından seçilen varsayılan bir eylem bildirilir: kopyalama, taşıma, bağ oluşturma. Başlangıçtaki nesne, seçilen eyleme karşılık olarak dahili durumu güncellemekten sorumludur.
Eylem adlarına yönelik dize sabitleri, NativeDragActions sınıfında tanımlanır.
Olay sırası
Sürükleme hareketi, bir mouseDown
veya mouseMove
olay işleyicisi içindeki NativeDragManager.doDrag()
yöntemi çağrılarak başlatılır ve kullanıcı eylemlerine karşılık olarak aşağıdaki olay sırasında ilerler:
-
nativeDragStart
olayı —NativeDragManager.doDrag()
çağrıldığında, yönteme parametre olarak iletilen etkileşimli nesne başlatıcı olur ve birnativeDragStart
olayı gönderir. -
nativeDragUpdate
olayı — Sürükleme işlemi yapılırken, başlatıcı nesne süreklinativeDragUpdate
olaylarını gönderir. -
nativeDragEnter
,nativeDragOver
olayları — Sürükleme hareketi, bir etkileşimli nesne üzerinden iletildiğinde o nesne, birnativeDragEnter
olayı gönderir. Sürükleme hareketi, etkileşimli nesnenin üzerinde kaldığı sürece, sürekli olaraknativeDragOver
olayları gönderir. Bu olayların her birine karşılık olarak, potansiyel sürükleme hedefi işlevi gören bir nesne, sürüklemeyi kabul edip etmeyeceğine karar vermek için olay nesnesinin özelliklerini kontrol etmelidir. Veri biçimi ve izin verilen eylemler uygunsa, bu olaylara yönelik olay işleyicisi, sürükleme hedefi (genelliklenativeDragEnter
veyanativeDragOver
olayını gönderen nesne) olarak işlev görecek olan görüntüleme nesnesine başvuru olarak ileterekNativeDragManager.acceptDrop()
öğesini çağırmalıdır. Kullanıcı, sürüklenen öğeyi hedefe bırakabilir. -
nativeDragExit
olayı — Bir sürükleme hareketi, etkileşimli nesnenin dışına çıkarsa nesne, birnativeDragExit
olayı gönderir. NesneNativeDragManager.acceptDrop()
yöntemine daha önce yapılan bir çağrıda sürükleme hedefi olarak atanmışsa, bu çağrı artık geçerli değildir ve hareket etkileşimli nesneye yeniden girerseacceptDrop()
öğesi yeniden çağrılmalıdır. -
nativeDragDrop
olayı — Hedef görüntüleme nesnesi, kullanıcı fareyi nesne üzerine bıraktığında birnativeDragDrop
olayı gönderir. Bu olaya yönelik işleyici, olay nesnesinintransferable
özelliğindeki verilere erişebilir veNativeDragManager.dropAction
özelliğini, başlatıcı nesnenin yapacağı eylemi bildirecek şekilde ayarlamalıdır. -
nativeDragComplete
— Kullanıcı, farenin düğmesini bir sürükleme hareketi sonunda bırakırsa, başlatıcı nesne birnativeDragComplete
olayı gönderir (sürükleme işleminin kendisi tamamlanıp tamamlanmasa da). Bu olaya yönelik işleyici, varsa, harici veri durumuna yapılan, sürüklenen bir öğeyi bir listeden kaldırmak gibi değişiklik yapılması gerekip gerekmediğini belirlemek üzere olayındropAction
özelliğini kontrol edebilir.dropAction
özelliği,NativeDragActions.NONE
ise sürüklenen nesne, uygun bir hedef üzerine bırakılmamıştır.
Uygulamalar arasındaki hareketler
Bir sürükleme hareketi, AIR olmayan bir uygulamadan bir AIR uygulaması penceresine girerse, nativeDragStart
veya nativeDragComplete
olayını gönderecek bir başlatıcı nesne olmaz. Aksi halde, hareket sırasında gönderilen olaylar, aynı AIR uygulaması içinde başlayan ve biten bir hareket ile aynı deseni izleyecektir.
Sürükleme hareketi bir AIR uygulaması penceresinden çıktığında nativeDragEnter
, nativeDragOver
veya nativeDragDrop
olaylarını gönderecek bir hedef nesne olmaz. Başlatıcı nesne yine de yerel işletim sistemi tarafından ayarlanan sürükleme eylemini bildiren (veya sürükleme kabul edilmediyse none
) nativeDragComplete
olayını gönderir.
Bir sürükleme hareketi, bir AIR uygulamasından diğerine taşındığında başlatıcı ve hedef görüntüleme nesneleri, olayları her zaman olduğu gibi ayrı uygulamaları içinde gönderir.
Bilgi aktarma
Bir sürükle ve bırak hareketi sırasında aktarılan veriler, bir Clipboard nesnesi içine dahil edilir. Bu veri nesnesi, sürükleme işlemine sürükleme hareketini başlatan NativeDragManager.doDrag()
yöntemiyle eklenir. Potansiyel bırakma hedefleri, Clipboard nesnesine yerel sürükleme olay nesnesinin clipboard
özelliği aracılığıyla erişebilir. Sürükleme işlemi başlatıldıktan sonra Clipboard nesnesine yalnızca bir NativeDragEvent öğesinin olay işleyicisinden erişilebilir. Nesneye erişmek için yapılan herhangi başka bir deneme bir çalışma zamanı hatası verir.
Güvenlik hakkındaki önemli noktalar
Başlatıcı ve potansiyel hedef nesnelerin güvenlik sanal alanları, sürüklenen verilere nasıl erişilebileceğini belirler. Her iki nesne de aynı sanal alandaysa, verilere herhangi bir NativeDragEvent nesnesinden erişilebilir. Ancak, başlatıcı ve hedef nesneler farklı sanal alanlardaysa, verilere yalnızca nativeDragDrop
olayının olay işleyicisi içindeki hedef sanal alandan erişilebilir. Diğer yerel sürükleme olay işleyicileri, kullanılabilir veri biçimlerini belirlemek için olay clipboard
özelliğinde başvurulan Clipboard nesnesine hala erişebilir, ancak clipboard.getData()
yöntemini çağırmak yine de bir güvenlik hatası oluşturur.
İlgili API Öğeleri
flash.desktop.NativeDragActions
flash.desktop.NativeDragOptions
flash.desktop.Clipboard
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
dragInitiator : InteractiveObject [statik] [salt okunur]
Etkileşimli nesne, sürükleme işlemini başlatan NativeDragManager.doDrag() çağrısına iletildi. | NativeDragManager | ||
dropAction : String [statik]
Bırakma hedefi tarafından belirtilen sürükleme eylemi. | NativeDragManager | ||
isDragging : Boolean [statik] [salt okunur]
Bir sürükleme işleminin o anda devam edip etmediğini gösterir. | NativeDragManager | ||
isSupported : Boolean [statik] [salt okunur]
isSupported özelliği, NativeDragManager sınıfı geçerli platformda destekleniyorsa true olarak, aksi halde false olarak ayarlanır. | NativeDragManager |
Yöntem | Tanımlayan: | ||
---|---|---|---|
[statik]
NativeDragManager öğesine, belirtilen hedef etkileşimli nesne öğesinin geçerli sürükleme olayına karşılık gelen bir bırakma işlemini kabul edebileceğini bildirir. | NativeDragManager | ||
doDrag(dragInitiator:InteractiveObject, clipboard:Clipboard, dragImage:BitmapData = null, offset:Point = null, allowedActions:NativeDragOptions = null):void [statik]
Bir sürükle ve bırak işlemi başlatır. | NativeDragManager | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
dragInitiator | özellik |
dragInitiator:InteractiveObject
[salt okunur] Çalışma Zamanı Sürümleri: | AIR 1.0 |
Etkileşimli nesne, sürükleme işlemini başlatan NativeDragManager.doDrag()
çağrısına iletildi.
Uygulama
public static function get dragInitiator():InteractiveObject
dropAction | özellik |
dropAction:String
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bırakma hedefi tarafından belirtilen sürükleme eylemi.
dropAction
öğesi, nativeDragDrop
öğesine yönelik işleyicide ayarlanmalıdır. dropAction
öğesi, nativeDragComplete
öğesinden önce ayarlanmamışsa, NativeDragManager, değeri listedeki ilk izin verilen eylemle ayarlar: kopyalama, taşıma veya bağ oluşturma (bu sırada).
Uygulama
public static function get dropAction():String
public static function set dropAction(value:String):void
İlgili API Öğeleri
isDragging | özellik |
isSupported | özellik |
acceptDragDrop | () | yöntem |
public static function acceptDragDrop(target:InteractiveObject):void
Çalışma Zamanı Sürümleri: | AIR 1.0 |
NativeDragManager öğesine, belirtilen hedef etkileşimli nesne öğesinin geçerli sürükleme olayına karşılık gelen bir bırakma işlemini kabul edebileceğini bildirir.
Bu yöntem yalnızca sürüklenen öğedeki veri biçimlerinden en az birini ve izin verilen eylemlerden en az birini işleyebilen belirtilen hedef nesnesi üzerinde bir nativeDragDrop
işleyicisi bulunduğunda çağrılmalıdır.
Bu işlev yalnızca bir nativeDragEnter
veya nativeDragOver
olay işleyicisi içinde çağırılabilir.
Parametreler
target:InteractiveObject |
doDrag | () | yöntem |
public static function doDrag(dragInitiator:InteractiveObject, clipboard:Clipboard, dragImage:BitmapData = null, offset:Point = null, allowedActions:NativeDragOptions = null):void
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir sürükle ve bırak işlemi başlatır.
Sürükleme işlemini başlatmak için:
- Yeni Clipboard nesnesi oluşturun.
- Aktarılacak verileri bir veya daha fazla biçimde ekleyin.
- İsteğe bağlı olarak, sürükleme işlemi sırasında proxy görüntüsü işlevi görecek bir BitmapData nesnesi oluşturun.
- İsteğe bağlı olarak, bu işlemde izin verilen eylemleri kısıtlamak için bir NativeDragOptions nesnesi oluşturun. (
allowedActions
parametresinull
değerinde bırakılmışsa, tüm eylemlere izin verilir.) NativeDragManager.doDrag()
öğesini çağırın.
Başlatıcı nesne, bu yöntem çağrıldıktan sonra bir nativeDragStart
olayı, sürükleme işlemi sırasında nativeDragStart
olayları ve kullanıcı, sürükleme hareketini sonlandırmak için farenin düğmesini bıraktığında nativeDragComplete
olayı gönderir. nativeDragComplete
olayına yönelik işleyici, sürükle ve bırak işleminin başarılı bir şekilde tamamlanıp tamamlanmadığını belirlemek üzere olayın dropAction
özelliğini kontrol edebilir. dropAction
özelliği, NativeDragActions.NONE
ise sürüklenen nesne, uygun bir hedef üzerine bırakılmamıştır.
Bu yöntem yalnızca bir mouseDown
veya mouseMove
olay işleyicisi içinden çağrılabilir. (Bir mouseMove
olayına karşılık olarak çağrıldıysa, fare düğmesi de basılı tutulmalıdır.)
Parametreler
dragInitiator:InteractiveObject — Genellikle sürükleme hareketinin başladığı nesne. nativeDragStart ve nativeDragComplete olaylarını alır.
| |
clipboard:Clipboard — Sürüklenen verilere yönelik kap nesnesi.
| |
dragImage:BitmapData (default = null ) — Sürükleme hareketi sırasında fare işaretçisinin altında görüntülenen isteğe bağlı proxy görüntüsü. Değer null ise, hiçbir görüntü görüntülenmez.
| |
offset:Point (default = null ) — Fare sıcak noktası ve sürüklenen görüntünün sol üst köşesi arasındaki uzaklık. Negatif koordinatlar, görüntüyü sıcak noktaya göre yukarı ve sola doğru taşır. Değer null ise, sürüklenen görüntünün sol üst köşesi, fare sıcak noktasında konumlandırılır.
| |
allowedActions:NativeDragOptions (default = null ) — Bu işlem için izin verilen sürükle ve bırak eylemlerini kısıtlar. null ise, tüm eylemlere izin verilir.
|
İlgili API Öğeleri
Tue Jun 12 2018, 01:09 PM Z