blockly > WorkspaceSvg

WorkspaceSvg sınıfı

Bir çalışma alanı sınıfı. Bu, isteğe bağlı çöp kutusu, kaydırma çubukları, baloncuklar ve sürükleme içeren bir ekran alandır.

İmza:

export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg 

Uzantılar: Çalışma alanı

Uygulandığı yer: IASTNodeLocationSvg

Markalar

Marka Değiştiriciler Açıklama
(oluşturmacı)(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: ContextMenuOption[], e: Event) => void) | null Geliştiriciler, çalışma alanının içerik menüsüne özel menü seçenekleri eklemek veya çalışma alanı tarafından oluşturulan menü seçenekleri grubunu düzenlemek için bu işlevi tanımlayabilir.
keyboardAccessibilityMode boolean Klavye erişilebilirlik modu açıksa True (doğru), değilse false (yanlış) değerini alır.
oluşturuldu boolean SVG çalışma alanının oluşturulma durumu. Gözetimsiz çalışma alanları için false, WorkspaceSvg örnekleri için doğru değerini döndürür.
ölçek sayı Geçerli ölçek.
kaydırma çubuğu ScrollbarPair | null Varsa bu çalışma alanının kaydırma çubukları.
scrollX sayı

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

Bir görünüm ve bu görünümün altında hareket eden bir tuval üzerine düşünmek yararlıdır. Tuval sağa hareket ettikçe bu değer daha pozitif hale gelir ve görünüm tuvalin sol tarafını "görür". Tuval sola hareket ettikçe, bu değer daha negatif hale gelir ve görünüm artık kanvasın sağ tarafını "görüyor".

Bu değerle ilgili kafa karıştırıcı olan, değerde olmaması ve absoluteLeft ofseti içermemesidir. Bunun nedeni, bu değerin viewLeft değerini hesaplamak için kullanılmasıdır.

viewLeft, çalışma alanı kaynağına göredir (piksel birimleriyle birlikte). Çalışma alanı kaynağı, çalışma alanının sol üst köşesidir (en azından etkinleştirildiğinde). Araç kutusunun altında olmaması için blocklyDiv öğesinin sol üst kısmından kaydırılmıştır.

Çalışma alanı etkinleştirildiğinde viewLeft ve çalışma alanı kaynağı aynı X konumundadır. Kanvas, görünümün altında sağa doğru kaydıkça bu değer (scrollX) daha pozitif, viewLeft, çalışma alanı kaynağına göre daha negatif hale gelir (çalışma alanı başlangıç noktasını, kanvas hareket ettikçe tuvalde sağa kayan bir nokta olarak düşünün).

Dolayısıyla, scrollX absoluteLeft öğesini dahil ederse çalışma alanı başlangıç noktasının bir "kaydırmasını kaldırır". Bu, viewLeft öğesinin, ç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 birimi cinsinden mevcut dikey kaydırma ofseti.

Bir görünüm ve bu görünümün altında hareket eden bir tuval üzerine düşünmek yararlıdır. Tuval aşağı indikçe bu değer daha pozitif hale gelir ve görünüm tuvalin üst kısmını "görür". Tuval yukarı çıktıkça bu değer daha negatif hale gelir ve görünüm tuvalin alt kısmını "görür".

Bu değerle ilgili kafa karıştırıcı olan, absoluteTop ofsetini içermemesi ve içermemesidir. Bunun nedeni, bu değerin viewTop değerini hesaplamak için kullanılmasıdır.

viewTop, çalışma alanı kaynağına bağlıdır (piksel birimleriyle birlikte). Çalışma alanı kaynağı, çalışma alanının sol üst köşesidir (en azından etkinleştirildiğinde). Araç kutusunun altında olmaması için blocklyDiv öğesinin sol üst kısmından kaydırılmıştır.

Çalışma alanı etkinleştirildiğinde viewTop ve çalışma alanı kaynağı aynı Y konumunda olur. Tuval aşağıya doğru kaydıkça bu değer (scrollY) daha pozitif hale gelirken viewTop, çalışma alanı kaynağına göre daha negatif hale gelir (tuval hareket ederken aşağı doğru kayan bir nokta olarak çalışma alanı başlangıç noktasında resim).

Dolayısıyla, scrollY absoluteTop'ı içerirse çalışma alanı kaynağının "kaydırmasını kaldırır". Bu, viewTop öğesinin çalışma alanının üst kenarı yerine blocklyDiv'in üst kenarını temsil edeceği anlamına gelir.

startScrollX sayı Piksel biriminde kaydırma başladığında yatay kaydırma değeri.
startScrollY sayı Kaydırma başladığında, piksel biriminde düşen dikey kaydırma değeri.
svgBackground_ SVGElement
svgBlockCanvas_ SVGElement
svgBubbleCanvas_ SVGElement
svgGroup_ SVGElement
themeManager_ protected ThemeManager
çöp kutusu Çöp Kutusu | null Çalışma alanının çöp kutusu (varsa).
zoomControls_ ZoomControls | null

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 bir yorum ekler.
centerOnBlock(id, blockOnly) Çalışma alanını kaydırarak belirtilen bloğu ortalayın. Bloğun altında yığınlanmış başka bloklar varsa blockOnly doğru değerine sahip olmadığı sürece, çalışma alanı yığın üzerinde ortalanır.
cleanUp() ile devam edin. Bir sütundaki tüm blokları sıralayarak çalışma alanını temizleyin.
clear() Yeniden boyutlandırmaları önlemek için optimizasyon yaparak çalışma alanındaki tüm blokları ortadan kaldırın.
createDom(opt_backgroundClass, injectionDiv) Çalışma alanı DOM öğelerini oluşturun.
createVariable(name, opt_type, opt_id) Verilen adla yeni bir değişken oluşturun. Açılır pencereyi yeni değişkeni hemen gösterecek şekilde güncelleyin.
deleteVariableById(id) Kimliğe göre bir değişkeni silin. Açılır pencereyi, değişkenin hemen silindiğini hemen gösterecek şekilde güncelleyin.
dispose() Bu çalışma alanını silin. Bellek sızıntılarını önlemek için tüm DOM öğeleriyle olan bağlantıyı 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. Üstten alta doğru (hafif LTR veya RTL sapmasıyla).
getAudioManager() Bu çalışma alanı için ses yöneticisini edinin.
getBlockById(kimlik) 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() Balon 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şkili 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 öğe için alıcı. Bu e-tablonun, araç kutusu yapılandırmasına bağlı olarak araç kutusu veya çalışma alanının sahibi olabilir. Boşluk yoksa boş olacaktır.
getGrid() Bu çalışma alanı için ızgara nesnesini alın. Yoksa null nesnesini alın.
getInverseScreenCTM() Ters çevrilmiş ekran CTM için alıcı.
getMarkerManager() Bu çalışma alanı için işaretçi yöneticisini edinin.
getMetricsManager() Bu çalışma alanının 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 eklendikten sonra çağrıldığını varsayıyoruz.
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 ararız.
getSvgGroup() Çalışma alanının SVG grubunu döndürür.
getTheme() Çalışma alanı tema nesnesini alın.
getToolbox() Bu çalışma alanıyla ilişkili araç kutusu için getter (varsa).
getToolboxCategoryCallback(key) Bu çalışma alanında özel araç kutusu kategorilerini doldurmak için belirli bir anahtarla ilişkili 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. Üstten alta doğru (hafif LTR veya RTL sapmasıyla).
getTopBoundedElements() Üst düzey sınırlı öğeleri bulur ve döndürür.
getWidth() Çalışma alanının yatay ofsetini döndürür. XML olarak LTR/RTL uyumluluğuna yönelik tasarlanmıştır.
hideChaff(onlyClosePopups) Araç ipuçlarını, içerik menülerini, açılır liste seçimleri 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 vurgulamayı kaldırın. Blok vurgulama, genellikle çalıştırılmakta 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 bloku mu sürükleyor yoksa kayarak/çalışma alanını mı kaydırıyor?
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, kaydırma çubukları, kaydırma tekerleği, sürükleme veya kaydırma tekerleğiyle yakınlaştırma ya da sıkıştırma hareketiyle (zum farenin konumuna ortalandığından) aracılığıyla yapılabilir. X Y koordinatlarına programlı bir şekilde karar verildiğinden, yakınlaştırma kontrolleriyle yakınlaştırma dahil değildir.

isMovableHorizontally() Bu çalışma alanı yatay olarak taşınabilir mi?
isMovableVertically() Bu çalışma alanı dikey olarak taşınabilir mi?
isVisible() isvisible için Alıcı
markFocused() Bu çalışma alanını, geçerli olarak odaklanılmış 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şturulmuş bir blok edinin.
paste(eyalet) Sağlanan bloğu veya çalışma alanı yorumunu çalışma alanına yapıştırır. Nesne için kalan kapasite olup olmadığını kontrol etmez. Bu, bu yöntem çağrılmadan önce yapılması gerekir.
recordDragTargets() Bu çalışma alanında silinen tüm alanların 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şkili geri çağırma işlevini 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ında özel araç kutusu kategorilerini doldurmak için belirli bir anahtarla ilişkili geri çağırma işlevi kaydedin. Örnek olarak değişken ve prosedür kategorilerini inceleyin.
removeButtonCallback(key) Açılır menüdeki bir düğmenin tıklanması için geri çağırmayı kaldırın.
removeToolboxCategoryCallback(key) Araç kutusunda bir özel kategorinin adına yapılan tıklama için geri çağırmayı kaldırın.
removeTopBlock(block) En iyi bloklar listesinden bir bloğu kaldırır.
removeTopBoundedElement(element) Sınırlı bir öğeyi, üst sınırlı öğeler listesinden kaldırır.
removeTopComment(comment) Bir yorumu en iyi yorumlar listesinden kaldırır.
renameVariableById(id, newName) Değişken eşlemesindeki adını güncelleyerek bir değişkeni yeniden adlandırma. 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şturun.
resize() Tüm Workspace Chrome'u (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. boyut ve konumların yeniden hesaplanması gerektiren bir değişiklik olduğunda (ör. pencereyi yeniden boyutlandırma) bu parametre çağrılır.
scrollCenter() Çalışma alanını ortalayın.
setResizeHandlerWrapper(handler) Daha sonra silebilmemiz için yeniden boyutlandırma işleyici verilerini kaydedin.
setResizesEnabled(enabled) Bu çalışma alanında yeniden boyutlandırma özelliğinin etkin olup olmadığını güncelleyin. Etkinleştirilirse çalışma alanı uygun olduğunda yeniden boyutlandırılır. Devre dışı bırakılırsa çalışma alanı, yeniden etkinleştirilene kadar yeniden boyutlandırılmaz. Toplu işlem sırasında yeniden boyutlandırmayı önlemek için 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. Herhangi 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ükleme işlemini izlemeye başlayın.
translate(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; miktar) Çalışma alanını verilen (x, y) koordinatına göre yakınlaştırır veya uzaklaştırır.
zoomCenter(type) Görünümün merkezinde ortalanan blokları yakınlaştırma veya uzaklaştırma yöntemiyle yakınlaştırma.
zoomToFit() Mümkünse blokları çalışma alanına sığacak şekilde yakınlaştırın.