blockly > WorkspaceSvg

WorkspaceSvg sınıfı

Çalışma alanı için sınıftır. Bu, isteğe bağlı çöp kutusu, kaydırma çubukları, baloncuklar ve sürükleme işlevleri olan bir ekran alandır.

İmza:

export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg 

Genişletir: Çalışma alanı

Uygulandığı yer: IASTNodeLocationSvg

Markalar

Marka Değiştiriciler Açıklama
(kurucu)(seçenekler) WorkspaceSvg sınıfının yeni bir örneğini oluşturur

Özellikler

Özellik Değiştiriciler Tür Açıklama
configureContextMenu ((menuOptions: ContextMenüOption[], e: Etkinlik) => void) | boş Geliştiriciler, çalışma alanının içerik menüsüne özel menü seçenekleri eklemek veya çalışma alanında oluşturulan menü seçenekleri grubunu düzenlemek için bu işlevi tanımlayabilir.
keyboardAccessibilityMode boolean Klavye erişilebilirlik modu açıksa doğru, aksi takdirde yanlış değerini alır.
oluşturuldu boolean SVG çalışma alanının oluşturma durumu. Gözetimsiz çalışma alanları için false değerini, WorkspaceSvg örnekleri için de true değerini döndürür.
ölçek sayı Mevcut ölçek.
kaydırma çubuğu ScrollbarPair | boş Bu çalışma alanının kaydırma çubukları (mevcutsa)
scrollX sayı

Çalışma alanı kaynağına göre piksel birimleri cinsinden mevcut yatay kaydırma ofseti.

Bir görünümü ve o görünümün altında hareket eden bir tuvali düşünmek yararlıdır. Kanvas sağa doğru ilerledikçe bu değer daha pozitif hale gelir ve görünüm artık "görünür" olur sol tarafına basın. Kanvas sola doğru hareket ettikçe bu değer daha negatif olur ve görünüm "görünür" olarak kalır. sağ tarafını çizin.

Bu değerle ilgili kafa karıştırıcı olan şey, MutlakSol ofseti içermemesi ve içermemesidir. Bunun nedeni, bu parametrenin viewLeft değerini hesaplamak için kullanılmasıdır.

viewLeft, çalışma alanı kaynağına göre değişir (yine de piksel birimlerinde). Çalışma alanı kaynağı, çalışma alanının sol üst köşesidir (en azından etkinleştirildiğinde). Araç kutusunun altında kalmayacak şekilde blocklyDiv öğesinin sol üstünden kaydırılır.

Çalışma alanı etkinleştirildiğinde viewSol ve çalışma alanı kaynağı aynı X konumunda olur. Tuval, görünümün altında sağa doğru kaydıkça bu değer (scrollX) daha pozitif, viewLeft ise çalışma alanı kaynağına göre daha olumsuz hale gelir (çalışma alanı başlangıç noktasını tuval üzerinde, tuval hareket ederken sağa doğru kayan bir nokta olarak düşünün).

ScrollX MutlakSol'u içerirse, bu bir şekilde "kaydırmayı kaldır" çalışma alanı kaynağını girin. Bu, viewSol'un, çalışma alanının sol kenarı yerine blocklyDiv'in sol kenarını temsil edeceği anlamına gelir.

scrollY sayı

Çalışma alanı kaynağına göre piksel birimleri cinsinden geçerli dikey kaydırma ofseti.

Bir görünümü ve o görünümün altında hareket eden bir tuvali düşünmek yararlıdır. Kanvas aşağı doğru ilerledikçe bu değer daha pozitif hale gelir ve görünüm artık "görünür" olur üst kısmını görebilirsiniz. Kanvas yukarı doğru yükseldikçe bu değer daha negatif olur ve görünüm "görür" olur alt kısmını görebilirsiniz.

Bu değerle ilgili kafa karıştırıcı olan şey, Mutlak Üst ofset'i içermemesi ve içermemesidir. Bunun nedeni, bu parametrenin viewTop değerini hesaplamak için kullanılmasıdır.

viewTop, çalışma alanı kaynağına göre değişir (yine de piksel birimlerinde). Çalışma alanı kaynağı, çalışma alanının sol üst köşesidir (en azından etkinleştirildiğinde). Araç kutusunun altında kalmayacak şekilde blocklyDiv öğesinin sol üstünden kaydırılır.

Çalışma alanı etkinleştirildiğinde viewTop ve Workspace başlangıç noktası aynı Y konumunda olur. Tuval en alta kaydıkça bu değer (scrollY) daha pozitif, viewTop ise çalışma alanı kaynağına göre daha olumsuz hale gelir (çalışma alanı başlangıç noktasındaki resim, tuval hareket ettikçe tuvalde aşağı doğru kaydırılır).

ScrollY'nin MutlakTop'ı dahil etmesi durumunda, bu bir şekilde "kaydırmayı kaldır" çalışma alanı kaynağını girin. Bu, viewTop'un, çalışma alanının üst kenarı yerine blocklyDiv'in üst kenarını temsil edeceği anlamına gelir.

startScrollX sayı Piksel birimlerde kaydırma başlatıldığında yatay kaydırma değeri.
startScrollY sayı Piksel birimlerde kaydırma başlatıldığında dikey kaydırma değeri.
svgBackground_ SVGElement
svgBlockCanvas_ SVGElement
svgBubbleCanvas_ SVGElement
svgGroup_ SVGElement
themeManager_ protected ThemeManager
çöp kutusu Çöp Kutusu | boş Çalışma alanının çöp kutusu (varsa).
zoomControls_ ZoomControls | boş

Yöntemler

Yöntem Değiştiriciler Açıklama
addTopBlock(block) En iyi bloklar listesine bir blok ekler.
addTopBoundedElement(element) Üst sınırlı öğeler listesine sınırlı bir öğe ekler.
addTopComment(comment) En iyi yorumlar listesine yorum ekler.
centerOnBlock(id, blockOnly) Çalışma alanını belirtilen blokun ortasına getirmek için kaydırın. Blokun altında yığılmış başka bloklar varsa, blockOnly true (doğru) değerine sahip olmadığı sürece çalışma alanı, yığında ortalanır.
cleanUp() Bir sütundaki tüm blokları sıralayarak çalışma alanını temizleyin.
clear() Yeniden boyutlandırmaları önlemek için bir optimizasyon yaparak çalışma alanındaki tüm blokları kaldırın.
createDom(opt_backgroundClass, injectionDiv) Çalışma alanı DOM öğelerini oluşturun.
createVariable(name, opt_type, opt_id) Belirtilen adla yeni bir değişken oluşturun. Açılır menüyü, yeni değişkeni hemen gösterecek şekilde güncelleyin.
deleteVariableById(id) İletilen kimliğe göre bir değişkeni silin. Açılır menüyü, değişkenin silindiğini hemen gösterecek şekilde güncelleyin.
dispose() Bu çalışma alanını kullanımdan kaldırın. Bellek sızıntılarını önlemek için tüm DOM öğelerinin bağlantısını kaldırın.
getAllBlocks(ordered) Çalışma alanındaki tüm blokları bulun. Bloklar, isteğe bağlı olarak konuma göre sıralanır; aşağıdan yukarıya doğru (hafif soldan sağa veya sağdan sola sapmayla).
getAudioManager() Bu çalışma alanı için ses yöneticisini indirin.
getBlockById(id) Bu çalışma alanında belirtilen kimliğe sahip bloğu bulun.
getBlocksBoundingBox() Çalışma alanındaki bloklar için sınırlayıcı kutuyu hesaplayın. Koordinat sistemi: çalışma alanı koordinatları.
getBubbleCanvas() Baloncuk yüzeyini oluşturan SVG öğesini alın.
getButtonCallback(key) Açılır menüdeki düğme ve etiketlere yapılan tıklamalar için belirli bir anahtarla ilişkilendirilmiş geri çağırma işlevini alın.
getCanvas() Çizim yüzeyini oluşturan SVG öğesini alın.
getComponentManager() Bu çalışma alanı için bileşen yöneticisini alır.
getCursor() Bu çalışma alanının imleci.
getDragTarget(e) İşaretçi etkinliğinin sona erdiği sürükleme hedefini döndürür.
getFlyout(opt_own) Bu çalışma alanıyla ilişkili açılır öğenin alıcısı. Bu açılır menü, araç kutusu yapılandırmasına bağlı olarak araç kutusu veya çalışma alanının sahibi olabilir. Kaydırma yoksa boş olacaktır.
getGrid() Bu çalışma alanı için ızgara nesnesini alın. Nesne yoksa boş değer girin.
getInverseScreenCTM() Ters ekran CTM için getter.
getLayerManager()
getMarkerManager() Bu çalışma alanı için işaretçi yöneticisini edinin.
getMetricsManager() Bu çalışma alanı için metrik yöneticisini alır.
getParentSvg() Bu çalışma alanını içeren SVG öğesini alın. Not: Bunun yalnızca çalışma alanı DOM'ye yerleştirildikten sonra çağrıldığını varsayarız.
getRenderer() Bu çalışma alanına eklenen blok oluşturucuyu alın.
getRootWorkspace()
getScale() Çalışma alanının yakınlaştırma faktörünü alın. Çalışma alanının bir üst öğesi varsa çalışma alanı ölçeğini almak için üst öğeyi çağırırız.
getSvgGroup() Çalışma alanı için SVG grubunu döndürür.
getTheme() Çalışma alanı tema nesnesini alın.
getToolbox() Bu çalışma alanıyla ilişkili araç kutusunun (varsa) alıcısı.
getToolboxCategoryCallback(key) Bu çalışma alanındaki özel araç kutusu kategorilerini doldurmak için belirli bir anahtarla ilişkilendirilmiş geri çağırma işlevini alın.
getTopBlocks(ordered) Üst düzey blokları bulur ve döndürür. Bloklar, isteğe bağlı olarak konuma göre sıralanır; aşağıdan yukarıya doğru (hafif soldan sağa veya sağdan sola sapmayla).
getTopBoundedElements() Üst düzey sınırlı öğeleri bulur ve döndürür.
getWidth() Çalışma alanının yatay uzaklığını döndürür. XML'de LTR/RTL uyumluluğu için tasarlanmıştır.
hideChaff(onlyClosePopups) İpuçlarını, içerik menülerini, açılır liste seçimlerini vb. kapatın.
hideComponents(onlyClosePopups) Otomatik gizlenebilir bileşenleri (ör. açılır menü, çöp kutusu ve kullanıcı tarafından kaydedilen bileşenler) gizleyin.
highlightBlock(id, opt_state) Çalışma alanındaki bir bloğu vurgulayın veya engellemeyi kaldırın. Blok vurgulama, genellikle yürütmekte olan blokları görsel olarak işaretlemek için kullanılır.
isDraggable() Bu çalışma alanı sürüklenebilir mi?
isDragging() Kullanıcı şu anda bir blok sürükleyor mu yoksa ekranı/çalışma alanını kaydırıyor mu?
isMovable()

Bu çalışma alanı taşınabilir mi?

Bu, kullanıcının giriş aracılığıyla çalışma alanının X Y koordinatlarını yeniden konumlandırabileceği anlamına gelir. Bu işlem kaydırma çubukları, kaydırma tekerleği, sürükleme veya kaydırma tekerleğiyle yakınlaştırma ya da uzaklaştırma (yakınlaştırma, fare konumuna ortalandığı için) aracılığıyla gerçekleştirilebilir. X Y koordinatları programatik olarak belirlendiğinden, bu, yakınlaştırma denetimleriyle yakınlaştırmayı içermez.

isMovableHorizontally() Bu çalışma alanı yatay olarak taşınabilir mi?
isMovableVertically() Bu çalışma alanı dikey olarak taşınabilir mi?
isVisible() Görünürlüğü için Alıcı
markFocused() Bu çalışma alanını, şu anda odaklanılan ana çalışma alanı olarak işaretleyin.
moveDrag(e) Bu çalışma alanındaki bir nesnenin sürüklenmesini izleyin.
newBlock(prototypeName, opt_id) Yeni oluşturulan bir blok elde edin.
newComment(id) Yeni oluşturulmuş bir yorum edinin.
recordDragTargets() Bu çalışma alanı için silinecek tüm alanların bir listesini yapın.
refreshTheme() Tema güncellemesinden sonra çalışma alanındaki tüm blokları yenileyin.
registerButtonCallback(key, func) Açılır menüdeki düğme ve etiketlere yapılan tıklamalar için belirli bir anahtarla ilişkilendirilmiş bir geri çağırma işlevi kaydedin. Örneğin, XML ile belirtilen bir düğme, registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction) çağrısıyla eşleştirilmelidir.
registerToolboxCategoryCallback(key, func) Bu çalışma alanındaki özel araç kutusu kategorilerini doldurmak için belirli bir anahtarla ilişkilendirilmiş bir geri çağırma işlevi kaydedin. Örnek olarak değişken ve prosedür kategorilerine bakın.
removeButtonCallback(key) Açılır menüdeki bir düğmenin tıklanmasıyla ilgili geri çağırmayı kaldırın.
removeToolboxCategoryCallback(key) Araç kutusunda özel kategorinin adına yapılan bir geri çağırmayı kaldırın.
removeTopBlock(block) En çok kullanılan bloklar listesindeki bir bloğu kaldırır.
removeTopBoundedElement(element) Üst sınırlı öğeler listesinden sınırlı bir öğeyi kaldırır.
removeTopComment(comment) En beğenilen yorumlar listesinden bir yorumu kaldırır.
renameVariableById(id, newName) Değişken eşlemesindeki adını güncelleyerek bir değişkeni yeniden adlandırın. Açılır pencereyi, yeniden adlandırılan değişkeni hemen gösterecek şekilde güncelleyin.
render() Çalışma alanındaki tüm blokları oluşturur.
resize() Çalışma alanı Chrome'unun tamamını (araç kutusu, çöp kutusu, kaydırma çubukları vb.) yeniden boyutlandırın ve yeniden konumlandırın Çöp kutusu, yakınlaştırma, araç kutusu vb. boyutlarının ve konumlarının yeniden hesaplanmasını gerektiren bir değişiklik olduğunda (ör. pencere yeniden boyutlandırması) bu çağrılmalıdır.
scrollCenter() Çalışma alanını ortalayın.
setResizeHandlerWrapper(handler) Yeniden boyutlandırma işleyici verilerini kaydederek daha sonra silmek için bu verileri kullanabiliriz.
setResizesEnabled(enabled) Bu çalışma alanında yeniden boyutlandırmaların etkin olup olmadığını güncelleyin. Politika etkinleştirilirse çalışma alanı uygun olduğunda yeniden boyutlandırılır. Bu ayar devre dışı bırakılırsa çalışma alanı, yeniden etkinleştirilene kadar yeniden boyutlandırılmaz. Toplu işlem sırasında performans için yeniden boyutlandırmadan kaçınmak amacıyla kullanın.
setScale(newScale) Çalışma alanının yakınlaştırma faktörünü ayarlayın.
setTheme(theme) Çalışma alanı tema nesnesini ayarlayın. Hiçbir tema iletilmezse varsayılan olarak Classic temasını kullanın.
setVisible(isVisible) Çalışma alanının görünürlüğünü açar/kapatır. Şu anda yalnızca ana çalışma alanı için tasarlanmıştır.
startDrag(e, xy) Bu çalışma alanındaki bir nesnenin sürüklenmesini izlemeye başlayın.
çeviri(x, y) Bu çalışma alanını yeni koordinatlara çevirin.
updateInverseScreenCTM() Ters ekran CTM'sini kirli olarak işaretleyin.
updateToolbox(toolboxDef) Mevcut araç kutusundaki blok ağacını değiştirin.
zoom(x; y; tutar) Çalışma alanını verilen (x, y) koordinatına göre uzaklaştırır/yakınlaştırır.
zoomCenter(type) Yakınlaştırma veya uzaklaştırma ile blokların görünümün ortasında ortalanması.
zoomToFit() Mümkünse blokları çalışma alanına sığacak şekilde yakınlaştırın.