mirror of
https://github.com/google/blockly.git
synced 2026-05-13 07:30:10 +02:00
9d5dcc6e46
* chore: fix circular dependencies w/ static workspace funcs * remove preserved imports that aren't currently necessary (probably) * fix circular dependency with workspaces and block using stub * fix dependency between variables and xml by moving function to utils * add stub for trashcan as well * fix line endings from rebase * fix goog/base order * add trashcan patch * fix: types of compose and decompose in block * fix: workspace naming in toolbox * chore: add jsdoc * chore: restore registry comments to better positions * chore: remove implementations in goog.js * chore: fix types of stubs * chore: remove added AnyDuringMigration casts * chore: remove modifications to xml and variables * chore: format * chore: remove event requirements in workspace comments * chore: fix circular dependency with xml and workspace comments * fixup remove ContextMenu import * chore: fix dependency between mutator and workspace * chore: break circular dependency between names and procedures * chore: get tests to run? * chore: pr comments' * chore: fix stubbing field registry fromJson * chore: fix spying on fire * chore: fix stubbing parts of connection checker * chore: fix stubbing dialog * chore: fix stubbing style * chore: fix spying on duplicate * chore: fix stubbing variables * chore: fix stubbing copy * chore: fix stubbing in workspace * chore: remove unnecessary stubs * chore: fix formatting * chore: fix other formatting * chore: add backwards compatible static properties to workspace * chore: move static type properties * chore: move and comment stubs * chore: add newlines at EOF * chore: improve errors for monkey patched functions * chore: update comment with a pointer to the doc * chore: update comment with a pointer to the doc * chore: format
124 lines
3.2 KiB
TypeScript
124 lines
3.2 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2020 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview The interface for a toolbox.
|
|
*/
|
|
|
|
/**
|
|
* The interface for a toolbox.
|
|
* @namespace Blockly.IToolbox
|
|
*/
|
|
import * as goog from '../../closure/goog/goog.js';
|
|
goog.declareModuleId('Blockly.IToolbox');
|
|
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
// Unused import preserved for side-effects. Remove if unneeded.
|
|
// import '../utils/toolbox.js';
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
// Unused import preserved for side-effects. Remove if unneeded.
|
|
// import './i_flyout.js';
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
// Unused import preserved for side-effects. Remove if unneeded.
|
|
// import './i_toolbox_item.js';
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
// Unused import preserved for side-effects. Remove if unneeded.
|
|
// import '../workspace_svg.js';
|
|
|
|
import type {IRegistrable} from './i_registrable.js';
|
|
|
|
|
|
/**
|
|
* Interface for a toolbox.
|
|
* @alias Blockly.IToolbox
|
|
*/
|
|
export interface IToolbox extends IRegistrable {
|
|
/** Initializes the toolbox. */
|
|
init: AnyDuringMigration;
|
|
|
|
/**
|
|
* Fills the toolbox with new toolbox items and removes any old contents.
|
|
* @param toolboxDef Object holding information for creating a toolbox.
|
|
*/
|
|
render: AnyDuringMigration;
|
|
|
|
/**
|
|
* Gets the width of the toolbox.
|
|
* @return The width of the toolbox.
|
|
*/
|
|
getWidth: AnyDuringMigration;
|
|
|
|
/**
|
|
* Gets the height of the toolbox.
|
|
* @return The width of the toolbox.
|
|
*/
|
|
getHeight: AnyDuringMigration;
|
|
|
|
/**
|
|
* Gets the toolbox flyout.
|
|
* @return The toolbox flyout.
|
|
*/
|
|
getFlyout: AnyDuringMigration;
|
|
|
|
/**
|
|
* Gets the workspace for the toolbox.
|
|
* @return The parent workspace for the toolbox.
|
|
*/
|
|
getWorkspace: AnyDuringMigration;
|
|
|
|
/**
|
|
* Gets whether or not the toolbox is horizontal.
|
|
* @return True if the toolbox is horizontal, false if the toolbox is
|
|
* vertical.
|
|
*/
|
|
isHorizontal: AnyDuringMigration;
|
|
|
|
/**
|
|
* Positions the toolbox based on whether it is a horizontal toolbox and
|
|
* whether the workspace is in rtl.
|
|
*/
|
|
position: AnyDuringMigration;
|
|
|
|
/** Handles resizing the toolbox when a toolbox item resizes. */
|
|
handleToolboxItemResize: AnyDuringMigration;
|
|
|
|
/** Unhighlights any previously selected item. */
|
|
clearSelection: AnyDuringMigration;
|
|
|
|
/**
|
|
* Updates the category colours and background colour of selected categories.
|
|
*/
|
|
refreshTheme: AnyDuringMigration;
|
|
|
|
/**
|
|
* Updates the flyout's content without closing it. Should be used in
|
|
* response to a change in one of the dynamic categories, such as variables or
|
|
* procedures.
|
|
*/
|
|
refreshSelection: AnyDuringMigration;
|
|
|
|
/**
|
|
* Sets the visibility of the toolbox.
|
|
* @param isVisible True if toolbox should be visible.
|
|
*/
|
|
setVisible: AnyDuringMigration;
|
|
|
|
/**
|
|
* Selects the toolbox item by it's position in the list of toolbox items.
|
|
* @param position The position of the item to select.
|
|
*/
|
|
selectItemByPosition: AnyDuringMigration;
|
|
|
|
/**
|
|
* Gets the selected item.
|
|
* @return The selected item, or null if no item is currently selected.
|
|
*/
|
|
getSelectedItem: AnyDuringMigration;
|
|
|
|
/** Disposes of this toolbox. */
|
|
dispose: AnyDuringMigration;
|
|
}
|