ブロックする >WorkspaceSvg

WorkspaceSvg クラス

ワークスペースのクラス。画面上の領域です。オプションでゴミ箱、スクロールバー、バブル、ドラッグが可能です。

署名:

export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg 

拡張: Workspace

実装: IASTNodeLocationSvg

コンストラクタ

コンストラクタ 修飾子 説明
(コンストラクタ)(オプション) WorkspaceSvg クラスの新しいインスタンスを作成します。

プロパティ

プロパティ 修飾子 タイプ 説明
configureContextMenu ((menuOptions: ContextMenuOption[], e: イベント) => void) |null デベロッパーはこの関数を定義して、ワークスペースのコンテキスト メニューにカスタム メニュー オプションを追加したり、ワークスペースで作成されたメニュー オプション セットを編集したりできます。
keyboardAccessibilityMode ブール値 キーボードのユーザー補助モードがオンになっている場合は true、それ以外の場合は false です。
レンダリング ブール値 SVG ワークスペースのレンダリング ステータス。ヘッドレス ワークスペースの場合は false を返し、WorkspaceSvg のインスタンスの場合は true を返します。
スケール 数値 現在の体重計。
スクロールバー ScrollbarPair |null このワークスペースのスクロールバー(存在する場合)。
scrollX 数値

ワークスペースの原点を基準とした現在の水平スクロールのオフセット(ピクセル単位)。

ビューと、そのビューの下に移動するキャンバスについて考えると便利です。キャンバスが右に行くほどこの値は正になり、ビューは「認識中」になります。キャンバスの左側に配置できます。キャンバスが左に移動すると、この値はさらに負になり、ビューは「認識中」になります。キャンバスの右側に配置されています。

この値がわかりにくい点は、この変数には値が含められておらず、絶対左のオフセットを含めてはいけないことです。これは、viewLeft 値の計算に使用されるためです。

viewLeft は、ワークスペースの原点を基準とする相対値です(ピクセル単位です)。ワークスペースの原点は、ワークスペースの左上隅になります(少なくとも、有効になっている場合)。ツールボックスの下にならないように、blocklyDiv の左上からシフトされています。

ワークスペースを有効にすると、viewLeft とワークスペースの原点は同じ X の位置になります。キャンバスがビューの右下にスライドすると、この値(scrollX)はより正になり、ワークスペースの原点に対して viewLeft が負の値になります(ワークスペースの起点は、キャンバスの移動に伴って右にスライドするキャンバス上のドットです)。

つまり、scrollX に 絶対左を含めると、これは「シフト解除」する作成する必要がありますつまり、viewLeft はワークスペースの左端ではなく、blocklyDiv の左端を表します。

scrollY 数値

ワークスペースの原点を基準とする現在の垂直スクロールのオフセット(ピクセル単位)。

ビューと、そのビューの下に移動するキャンバスについて考えると便利です。キャンバスが下に移動するとこの値はより正になり、ビューは「認識中」になります。キャンバスの上部にあるキャンバスが上に移動すると、この値はさらに負になり、ビューは「認識中」になります。キャンバスの下部に配置されます

この値がわかりにくい点は、この引数には completeTop オフセットが含まれておらず、含めるべきでない点です。これは、viewTop 値の計算に使用されるためです。

viewTop は、ワークスペースの原点からの相対パス(ピクセル単位)です。ワークスペースの原点は、ワークスペースの左上隅になります(少なくとも、有効になっている場合)。ツールボックスの下にならないように、blocklyDiv の左上からシフトされています。

ワークスペースを有効にすると、viewTop とワークスペースの原点は同じ Y 位置になります。キャンバスが下にスライドすると、この値(scrollY)はより正になり、viewTop はワークスペースの原点に対してより負の値になります(ワークスペースの原点の画像は、キャンバスの移動に伴って下方向にスライドするキャンバス上のドットとして表示されます)。

つまり、scrollY に 状態 - 完全トップを含めると、これは「シフト解除」されることになります。作成する必要がありますつまり、viewTop はワークスペースの上端ではなく、blocklyDiv の上端を表します。

startScrollX 数値 スクロール開始時の水平スクロールの値(ピクセル単位)。
startScrollY 数値 スクロール開始時の垂直スクロールの値(ピクセル単位)。
svgBackground_ SVGElement
svgBlockCanvas_ SVGElement
svgBubbleCanvas_ SVGElement
svgGroup_ SVGElement
themeManager_ protected ThemeManager
ゴミ箱 ゴミ箱 |null ワークスペースのゴミ箱(ある場合)。
zoomControls_ ZoomControls |null

メソッド

メソッド 修飾子 説明
addTopBlock(block) 上位のブロックのリストに 1 つのブロックを追加します。
addTopBoundedElement(element) 境界のある要素を上位の境界要素のリストに追加します。
addTopComment(comment) 上位のコメントのリストにコメントを追加します。
centerOnBlock(id, blockOnly) 指定したブロックが中央になるようにワークスペースをスクロールします。ブロックの下に他のブロックが積み重ねられている場合、blockOnly が true でない限り、ワークスペースはスタックの中央に配置されます。
cleanUp() 列内のすべてのブロックを並べ替えて、ワークスペースをクリーンアップします。
clear() ワークスペース内のすべてのブロックを破棄し、サイズ変更を防ぎます。
createDom(opt_backgroundClass, jectionDiv) ワークスペースの DOM 要素を作成します。
createVariable(name, opt_type, opt_id) 指定した名前で新しい変数を作成します。フライアウトを更新して、新しい変数がすぐに表示されるようにします。
deleteVariableById(id) 渡された ID で変数を削除します。フライアウトを更新して、変数が削除されたことをすぐに確認します。
dispose() このワークスペースを破棄します。メモリリークを防ぐため、すべての DOM 要素とのリンクを解除します。
getAllBlocks(ordered) ワークスペース内のすべてのブロックを検索します。ブロックは必要に応じて位置で並べ替えられます。(わずかな LTR または RTL バイアスで)上から下へ。
getAudioManager() このワークスペースのオーディオ マネージャーを取得します。
getBlockById(id) 指定された ID を持つこのワークスペースのブロックを見つけます。
getBlocksBoundingBox() ワークスペース上のブロックの境界ボックスを計算します。座標系: ワークスペースの座標。
getBubbleCanvas() バブルサーフェスを形成する SVG 要素を取得します。
getButtonCallback(key) フライアウト内のボタンやラベルがクリックされた場合に、指定されたキーに関連付けられたコールバック関数を取得します。
getCanvas() 描画サーフェスを形成する SVG 要素を取得します。
getComponentManager() このワークスペースのコンポーネント マネージャーを取得します。
getCursor() このワークスペースのカーソル。
getDragTarget(e) ポインタ イベントが移動したドラッグ ターゲットを返します。
getFlyout(opt_own) このワークスペースに関連付けられているフライアウトのゲッター。このフライアウトは、ツールボックスの構成に応じて、ツールボックスまたはワークスペースのいずれかが所有する場合があります。フライアウトがない場合は null になります。
getGrid() このワークスペースのグリッド オブジェクトを取得します。存在しない場合は、null を返します。
getInverseScreenCTM() 反転画面 CTM のゲッター。
getLayerManager()
getMarkerManager() このワークスペースのマーカー マネージャーを取得します。
getMetricsManager() このワークスペースの指標マネージャーを取得します。
getParentSvg() このワークスペースを含む SVG 要素を取得します。注: ワークスペースが DOM に挿入された後にのみ呼び出されると想定しています。
getRenderer() このワークスペースに接続されているブロック レンダラを取得します。
getRootWorkspace()
getScale() ワークスペースのズーム倍率を取得します。ワークスペースに親がある場合は、親を呼び出してワークスペースのスケールを取得します。
getSvgGroup() ワークスペースの SVG グループを返します。
getTheme() Workspace テーマ オブジェクトを取得します。
getToolbox() このワークスペースに関連付けられているツールボックスのゲッター(存在する場合)。
getToolboxCategoryCallback(key) 特定のキーに関連付けられたコールバック関数を取得し、このワークスペースにカスタム ツールボックス カテゴリにデータを入力します。
getTopBlocks(ordered) 最上位のブロックを見つけて返します。ブロックは必要に応じて位置で並べ替えられます。(わずかな LTR または RTL バイアスで)上から下へ。
getTopBoundedElements() 最上位の境界付き要素を見つけて返します。
getWidth() ワークスペースの水平オフセットを返します。XML での LTR/RTL 互換性を目的としています。
hideChaff(onlyClosePopups) ツールチップ、コンテキスト メニュー、プルダウンの選択などを閉じます。
hideComponents(onlyClosePopups) 自動的に非表示になるコンポーネント(フライアウト、ゴミ箱、ユーザーが登録したコンポーネントなど)を非表示にします。
highlightBlock(id, opt_state) ワークスペース内のブロックをハイライト表示したり、ハイライト表示を解除したりできます。ブロックのハイライト表示は、現在実行中のブロックを視覚的にマークするためによく使用されます。
isDraggable() このワークスペースはドラッグできますか?
isDragging() ユーザーが現在、ブロックをドラッグしたり、フライアウト/ワークスペースをスクロールしたりしていますか?
isMovable()

このワークスペースは移動できますか?

つまり、ユーザーは入力によってワークスペースの X Y 座標の位置を変更できます。これは、スクロールバー、スクロール ホイール、ドラッグ、またはスクロール ホイールやピンチによるズーム(マウスの位置を中心としてズームするため)です。X Y 座標はプログラムで決定されるため、ズーム コントロールによるズームは含まれません。

isMovableHorizontally() このワークスペースは水平方向に移動できますか?
isMovableVertically() このワークスペースは垂直方向に移動できますか?
isVisible() isVisible のゲッター
markFocused() このワークスペースを、現在フォーカスされているメイン ワークスペースとしてマークします。
moveDrag(e) このワークスペースでのオブジェクトのドラッグをトラッキングします。
newBlock(prototypeName, opt_id) 新しく作成されたブロックを取得します。
newComment(id) 新しく作成されたコメントを取得します。
recordDragTargets() このワークスペースのすべての削除領域のリストを作成します。
refreshTheme() テーマの更新後にワークスペースのすべてのブロックを更新します。
registerButtonCallback(key, func) フライアウト内のボタンやラベルのクリック用に、特定のキーに関連付けられたコールバック関数を登録します。たとえば、XML の で指定されたボタンは、registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction の呼び出しと一致する必要があります。
registerToolboxCategoryCallback(key, func) 特定のキーに関連付けられたコールバック関数を登録し、このワークスペースにカスタム ツールボックス カテゴリにデータを入力します。例として、変数とプロシージャのカテゴリをご覧ください。
removeButtonCallback(key) フライアウト内のボタンのクリックに対するコールバックを削除します。
removeToolboxCategoryCallback(key) ツールボックスでカスタム カテゴリの名前がクリックされた場合のコールバックを削除します。
removeTopBlock(block) 上位のブロックのリストから 1 つのブロックを削除します。
removeTopBoundedElement(element) 有限の要素を上位の要素のリストから削除します。
removeTopComment(comment) 上位のコメントのリストからコメントを削除します。
renameVariableById(id, newName) 変数マップで名前を更新して、変数の名前を変更します。フライアウトを更新して、名前が変更された変数がすぐに表示されるようにします。
render() ワークスペース内のすべてのブロックをレンダリングします。
resize() ワークスペースのすべての Chrome(ツールボックス、ゴミ箱、スクロールバーなど)のサイズ変更と位置変更これは、ゴミ箱、ズーム、ツールボックスなどの寸法と位置の再計算が必要になったときに呼び出されます(ウィンドウのサイズ変更など)。
scrollCenter() ワークスペースを中央に配置する。
setResizeHandlerWrapper(handler) 後で破棄の際に削除できるように、サイズ変更ハンドラのデータを保存します。
setResizesEnabled(enabled) このワークスペースのサイズ変更が有効になっているかどうかを更新します。有効にすると、必要に応じてワークスペースのサイズが変更されます。無効にすると、再度有効にするまでワークスペースのサイズは変更されません。パフォーマンスを高めるために、バッチ オペレーション中のサイズ変更を回避するために使用します。
setScale(newScale) ワークスペースのズーム倍率を設定します。
setTheme(theme) ワークスペースのテーマ オブジェクトを設定します。テーマを渡さない場合、デフォルトで Classic テーマが使用されます。
setVisible(isVisible) ワークスペースの表示 / 非表示を切り替えます。現在はメイン ワークスペースのみを対象としています。
startDrag(e, xy) このワークスペースでのオブジェクトのドラッグの追跡を開始します。
translate(x, y) このワークスペースを新しい座標に変換します。
updateInverseScreenCTM() 逆画面 CTM をダーティとしてマークします。
updateToolbox(toolboxDef) 既存のツールボックスのブロックツリーを変更します。
zoom(x, y, amount) 指定した (x, y) 座標を基準としてワークスペースを拡大または縮小します。
zoomCenter(type) ズームインまたはズームアウトして、ビューの中心にあるブロックをズームします。
zoomToFit() 可能であれば、ワークスペースに合わせてブロックをズームします。