editor › Globals › UserInputHint
Class: UserInputHint
Hint that shows an editable text describing something (a length, an angle) to the user.
Hierarchy
↳ UserInputHint
Index
Constructors
Properties
- _hasFullFocus
- alignHorizontal
- alignVertical
- assembly
- children
- destroyed
- domNode
- externalChangeEventEmitter
- fullFocusChangeEventEmitter
- input
- manager
- position
- scale
- text
- threeMaterial
- threeNode
- unitConversionErrorEventEmitter
- userInputHandler
- visible
Methods
- _applyDOMScale
- _applyVisibility
- _getHasFullFocus
- _getText
- _isValidFirstInput
- _onExternalChange
- _onUnitConversionError
- _projectAssemblyToCanvas
- _setHasFullFocus
- _updatePosition
- _updateText
- _updateTextOffset
- _userInputFinished
- add
- cancelFade
- destroy
- fadeOut
- focus
- getAssembly
- getChildren
- getDOMNode
- getDimensions
- getExternalChangeEventEmitter
- getFullFocusChangeEventEmitter
- getScale
- getThreeNode
- getUnitConversionErrorEventEmitter
- hasMaterial
- hide
- initDOMNode
- initThreeNode
- isToolHint
- isValid
- isVisible
- makeInteractable
- onInputBlur
- onInputClick
- onInputKeyDown
- remove
- removeAllListeners
- setAlignHorizontal
- setAlignVertical
- setAssembly
- setCanvasSizeGetter
- setConversionMethod
- setFontSize
- setManager
- setMaterial
- setOpacity
- setPosition
- setScale
- setText
- setToolHint
- setValue
- setVisible
- show
- update
Object literals
Constructors
constructor
+ new UserInputHint(assembly: Assembly, userInputHandler?: IUserInputHandler): UserInputHint
Overrides FilterableHint.constructor
Defined in src/renderContext/hints/UserInputHint.ts:66
Parameters:
| Name | Type |
|---|---|
assembly |
Assembly |
userInputHandler? |
IUserInputHandler |
Returns: UserInputHint
Properties
Private _hasFullFocus
• _hasFullFocus: boolean = false
Defined in src/renderContext/hints/UserInputHint.ts:62
Private alignHorizontal
• alignHorizontal: HorizontalAlignment = HorizontalAlignment.LEFT
Defined in src/renderContext/hints/UserInputHint.ts:65
Private alignVertical
• alignVertical: VerticalAlignment = VerticalAlignment.CENTER
Defined in src/renderContext/hints/UserInputHint.ts:66
Protected assembly
• assembly: Assembly | null
Inherited from FilterableHint.assembly
Defined in src/renderContext/hints/Hint.ts:38
Protected children
• children: Hint[] = []
Inherited from FilterableHint.children
Defined in src/renderContext/hints/Hint.ts:37
Protected destroyed
• destroyed: boolean = false
Inherited from FilterableHint.destroyed
Defined in src/renderContext/hints/Hint.ts:36
Protected domNode
• domNode: HTMLElement | null = null
Inherited from FilterableHint.domNode
Defined in src/renderContext/hints/Hint.ts:33
Protected Readonly externalChangeEventEmitter
• externalChangeEventEmitter: EventEmitter‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]› = new EventEmitter< [number, number, EdgeHint] | [number, Hint] | number | [number, number, RoundEdgeRadiusHint] | any[]
()
Inherited from FilterableHint.externalChangeEventEmitter
Defined in src/renderContext/hints/Hint.ts:43
Protected fullFocusChangeEventEmitter
• fullFocusChangeEventEmitter: EventEmitter‹boolean› = new EventEmitter
Defined in src/renderContext/hints/UserInputHint.ts:55
Protected input
• input: HTMLInputElement | null = null
Defined in src/renderContext/hints/UserInputHint.ts:53
Protected manager
• manager: any = null
Inherited from FilterableHint.manager
Defined in src/renderContext/hints/Hint.ts:34
Private position
• position: Vector3 = new Vector3()
Defined in src/renderContext/hints/UserInputHint.ts:64
Protected scale
• scale: number = 1
Inherited from FilterableHint.scale
Defined in src/renderContext/hints/Hint.ts:47
Protected text
• text: string | null = null
Defined in src/renderContext/hints/UserInputHint.ts:52
Protected threeMaterial
• threeMaterial: Material | null = null
Inherited from FilterableHint.threeMaterial
Defined in src/renderContext/hints/Hint.ts:48
Protected threeNode
• threeNode: Object3D | null = null
Inherited from FilterableHint.threeNode
Defined in src/renderContext/hints/Hint.ts:39
Protected Readonly unitConversionErrorEventEmitter
• unitConversionErrorEventEmitter: EventEmitter‹void› = new EventEmitter
Inherited from FilterableHint.unitConversionErrorEventEmitter
Defined in src/renderContext/hints/Hint.ts:46
Protected userInputHandler
• userInputHandler: IUserInputHandler
Defined in src/renderContext/hints/UserInputHint.ts:56
Protected visible
• visible: boolean = true
Inherited from FilterableHint.visible
Defined in src/renderContext/hints/Hint.ts:35
Methods
Protected _applyDOMScale
▸ _applyDOMScale(): void
Inherited from FilterableHint._applyDOMScale
Defined in src/renderContext/hints/Hint.ts:406
Returns: void
Protected _applyVisibility
▸ _applyVisibility(): void
Inherited from FilterableHint._applyVisibility
Defined in src/renderContext/hints/Hint.ts:391
Returns: void
Protected _getHasFullFocus
▸ _getHasFullFocus(): boolean
Defined in src/renderContext/hints/UserInputHint.ts:284
Returns: boolean
Private _getText
▸ _getText(): string
Defined in src/renderContext/hints/UserInputHint.ts:294
Returns: string
Protected _isValidFirstInput
▸ _isValidFirstInput(keyDownEvent: KeyboardEvent): boolean
Defined in src/renderContext/hints/UserInputHint.ts:268
Called when the input is semi-focussed and a keydown event happens. Should return true if the event indicates that the user really wanted to write something into the hint, false otherwise.
Parameters:
| Name | Type | Description |
|---|---|---|
keyDownEvent |
KeyboardEvent | The keyboard event to judge |
Returns: boolean
Protected _onExternalChange
▸ _onExternalChange(args: any[]): any[]
Inherited from FilterableHint._onExternalChange
Defined in src/renderContext/hints/Hint.ts:380
propagate event fired by child
Parameters:
| Name | Type |
|---|---|
args |
any[] |
Returns: any[]
Protected _onUnitConversionError
▸ _onUnitConversionError(): any[]
Inherited from FilterableHint._onUnitConversionError
Defined in src/renderContext/hints/Hint.ts:387
propagate event fired by child
Returns: any[]
Protected _projectAssemblyToCanvas
▸ _projectAssemblyToCanvas(point: Vector3): Vector3
Inherited from FilterableHint._projectAssemblyToCanvas
Defined in src/renderContext/hints/Hint.ts:373
Parameters:
| Name | Type |
|---|---|
point |
Vector3 |
Returns: Vector3
Protected _setHasFullFocus
▸ _setHasFullFocus(value: boolean): void
Defined in src/renderContext/hints/UserInputHint.ts:287
Parameters:
| Name | Type |
|---|---|
value |
boolean |
Returns: void
Private _updatePosition
▸ _updatePosition(): void
Defined in src/renderContext/hints/UserInputHint.ts:305
Returns: void
Private _updateText
▸ _updateText(): void
Defined in src/renderContext/hints/UserInputHint.ts:298
Returns: void
Private _updateTextOffset
▸ _updateTextOffset(): void
Defined in src/renderContext/hints/UserInputHint.ts:310
Returns: void
Protected _userInputFinished
▸ _userInputFinished(keyDownEvent: KeyboardEvent): void
Defined in src/renderContext/hints/UserInputHint.ts:278
Called when the user enters a text and confirms that with 'Enter'.
Parameters:
| Name | Type | Description |
|---|---|---|
keyDownEvent |
KeyboardEvent | The keyboard event that triggered this function call. |
Returns: void
add
▸ add(child: Hint): void
Inherited from FilterableHint.add
Defined in src/renderContext/hints/Hint.ts:182
This adds a child hint to this hint. Using this method takes care of calling all required setters on the child hint.
Parameters:
| Name | Type |
|---|---|
child |
Hint |
Returns: void
cancelFade
▸ cancelFade(): void
Inherited from FilterableHint.cancelFade
Defined in src/renderContext/hints/Hint.ts:348
Returns: void
destroy
▸ destroy(): void
Overrides FilterableHint.destroy
Defined in src/renderContext/hints/UserInputHint.ts:97
Returns: void
fadeOut
▸ fadeOut(duration: number, delay: number): KyubAnimation‹any›
Inherited from FilterableHint.fadeOut
Defined in src/renderContext/hints/Hint.ts:317
Start a fade animation. If one is already ongoing, that animation is canceled before starting the new animation.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
duration |
number | - | in ms |
delay |
number | 0 | in ms |
Returns: KyubAnimation‹any›
the animation that is used to fade the THREE.js part of this hint. This animation still needs to be started (by passing it to the RenderContext).
focus
▸ focus(): void
Overrides FilterableHint.focus
Defined in src/renderContext/hints/UserInputHint.ts:177
Set focus to this hint. We want to only go into a semi-focussed state on this, full focus will be granted when a user input happens that indicates that the user really wanted this.
Returns: void
getAssembly
▸ getAssembly(): Assembly | null
Inherited from FilterableHint.getAssembly
Defined in src/renderContext/hints/Hint.ts:224
Returns: Assembly | null
getChildren
▸ getChildren(): Hint[]
Inherited from FilterableHint.getChildren
Defined in src/renderContext/hints/Hint.ts:257
Returns: Hint[]
getDOMNode
▸ getDOMNode(): HTMLElement | null
Inherited from FilterableHint.getDOMNode
Defined in src/renderContext/hints/Hint.ts:286
Returns: HTMLElement | null
getDimensions
▸ getDimensions(): IDimensions2
Defined in src/renderContext/hints/UserInputHint.ts:242
Returns a fast estimation of the width and height, used for filtering hints.
Returns: IDimensions2
getExternalChangeEventEmitter
▸ getExternalChangeEventEmitter(): IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›
Inherited from FilterableHint.getExternalChangeEventEmitter
Defined in src/renderContext/hints/Hint.ts:64
Returns: IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›
getFullFocusChangeEventEmitter
▸ getFullFocusChangeEventEmitter(): IPublicEventEmitterInterface‹boolean›
Defined in src/renderContext/hints/UserInputHint.ts:259
Returns: IPublicEventEmitterInterface‹boolean›
getScale
▸ getScale(): number
Inherited from FilterableHint.getScale
Defined in src/renderContext/hints/Hint.ts:261
Returns: number
getThreeNode
▸ getThreeNode(): Object3D
Inherited from FilterableHint.getThreeNode
Defined in src/renderContext/hints/Hint.ts:290
Returns: Object3D
getUnitConversionErrorEventEmitter
▸ getUnitConversionErrorEventEmitter(): IPublicEventEmitterInterface‹void›
Inherited from FilterableHint.getUnitConversionErrorEventEmitter
Defined in src/renderContext/hints/Hint.ts:68
Returns: IPublicEventEmitterInterface‹void›
hasMaterial
▸ hasMaterial(): boolean
Inherited from FilterableHint.hasMaterial
Defined in src/renderContext/hints/Hint.ts:162
Returns: boolean
hide
▸ hide(): void
Inherited from FilterableHint.hide
Defined in src/renderContext/hints/Hint.ts:269
Returns: void
initDOMNode
▸ initDOMNode(): void
Overrides FilterableHint.initDOMNode
Defined in src/renderContext/hints/UserInputHint.ts:78
Returns: void
initThreeNode
▸ initThreeNode(): void
Inherited from FilterableHint.initThreeNode
Defined in src/renderContext/hints/Hint.ts:80
This method is called, before the Hint is rendered. Note: It may be called multiple times on the same Hint instance.
Returns: void
isToolHint
▸ isToolHint(): boolean
Inherited from FilterableHint.isToolHint
Defined in src/renderContext/hints/Hint.ts:174
Returns: boolean
isValid
▸ isValid(): boolean
Inherited from FilterableHint.isValid
Defined in src/renderContext/hints/Hint.ts:232
The hint may use this to indicate that the object it annotates no longer exists.
Returns: boolean
Whether or not the hint is (still) valid.
isVisible
▸ isVisible(): boolean
Inherited from FilterableHint.isVisible
Defined in src/renderContext/hints/Hint.ts:282
Returns: boolean
makeInteractable
▸ makeInteractable(): void
Inherited from FilterableHint.makeInteractable
Defined in src/renderContext/hints/Hint.ts:133
Makes this hint interactable. That means that tools that can work with hints will be provided with this instance if the user interacts with it.
Returns: void
onInputBlur
▸ onInputBlur(): void
Defined in src/renderContext/hints/UserInputHint.ts:196
Returns: void
onInputClick
▸ onInputClick(): void
Defined in src/renderContext/hints/UserInputHint.ts:235
Click on the input element happened.
Returns: void
onInputKeyDown
▸ onInputKeyDown(event: KeyboardEvent): void
Defined in src/renderContext/hints/UserInputHint.ts:200
Parameters:
| Name | Type |
|---|---|
event |
KeyboardEvent |
Returns: void
remove
▸ remove(child: Hint): void
Inherited from FilterableHint.remove
Defined in src/renderContext/hints/Hint.ts:204
This removes a child hint from this hint.
Parameters:
| Name | Type |
|---|---|
child |
Hint |
Returns: void
removeAllListeners
▸ removeAllListeners(): void
Inherited from FilterableHint.removeAllListeners
Defined in src/renderContext/hints/Hint.ts:72
Returns: void
setAlignHorizontal
▸ setAlignHorizontal(align: HorizontalAlignment): this
Defined in src/renderContext/hints/UserInputHint.ts:158
Sets the horizontal alignment (chainable). Call to update() required.
Parameters:
| Name | Type | Description |
|---|---|---|
align |
HorizontalAlignment | Must be 'left', 'right' or 'center' |
Returns: this
this for chaining
setAlignVertical
▸ setAlignVertical(align: VerticalAlignment): this
Defined in src/renderContext/hints/UserInputHint.ts:148
Sets the vertical alignment (chainable). Call to update() required.
Parameters:
| Name | Type | Description |
|---|---|---|
align |
VerticalAlignment | Must be 'top', 'bottom' or 'center' |
Returns: this
this for chaining
setAssembly
▸ setAssembly(assembly: Assembly): void
Inherited from FilterableHint.setAssembly
Defined in src/renderContext/hints/Hint.ts:220
Set the assembly this hint belongs to
Parameters:
| Name | Type | Description |
|---|---|---|
assembly |
Assembly | assembly |
Returns: void
setCanvasSizeGetter
▸ setCanvasSizeGetter(getCanvasSize: function): void
Inherited from FilterableHint.setCanvasSizeGetter
Defined in src/renderContext/hints/Hint.ts:298
Parameters:
▪ getCanvasSize: function
▸ (): IDimensions2
Returns: void
setConversionMethod
▸ setConversionMethod(worldToCanvas: function): void
Inherited from FilterableHint.setConversionMethod
Defined in src/renderContext/hints/Hint.ts:294
Parameters:
▪ worldToCanvas: function
▸ (worldPosition: Vector3): Vector3
Parameters:
| Name | Type |
|---|---|
worldPosition |
Vector3 |
Returns: void
setFontSize
▸ setFontSize(fontSize: number): void
Inherited from FilterableHint.setFontSize
Defined in src/renderContext/hints/Hint.ts:248
Set the font size in px.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
fontSize |
number | Config.get("hints.fontSize") | - |
Returns: void
setManager
▸ setManager(manager: HintManager): void
Inherited from FilterableHint.setManager
Defined in src/renderContext/hints/Hint.ts:140
Parameters:
| Name | Type |
|---|---|
manager |
HintManager |
Returns: void
setMaterial
▸ setMaterial(material: MeshBasicMaterial): void
Overrides FilterableHint.setMaterial
Defined in src/renderContext/hints/UserInputHint.ts:166
This overrides the method to adjust the text appearance to the material that is applied to the threeNode.
Parameters:
| Name | Type |
|---|---|
material |
MeshBasicMaterial |
Returns: void
setOpacity
▸ setOpacity(opacity: number): void
Inherited from FilterableHint.setOpacity
Defined in src/renderContext/hints/Hint.ts:363
Parameters:
| Name | Type |
|---|---|
opacity |
number |
Returns: void
setPosition
▸ setPosition(position: Vector3, canvasSpace: true): this
Defined in src/renderContext/hints/UserInputHint.ts:134
Sets the position in assembly or canvas space (chainable). Call to update() required.
Parameters:
| Name | Type | Description |
|---|---|---|
position |
Vector3 | The position where the text should be aligned at |
canvasSpace |
true | Whether position should be interpreted as canvas space (true) or assembly space (false) |
Returns: this
this for chaining
setScale
▸ setScale(scale: number): void
Inherited from FilterableHint.setScale
Defined in src/renderContext/hints/Hint.ts:236
Parameters:
| Name | Type |
|---|---|
scale |
number |
Returns: void
setText
▸ setText(text: string): this
Defined in src/renderContext/hints/UserInputHint.ts:113
Sets the text (chainable). Call to update() required.
Parameters:
| Name | Type | Description |
|---|---|---|
text |
string | The text to display |
Returns: this
this for chaining
setToolHint
▸ setToolHint(isToolHint: boolean): void
Inherited from FilterableHint.setToolHint
Defined in src/renderContext/hints/Hint.ts:170
Sets whether this hint is a tool hint. Tool hints will be cleared when another tool is selected
Parameters:
| Name | Type | Description |
|---|---|---|
isToolHint |
boolean | Whether this hint belongs to a tool |
Returns: void
setValue
▸ setValue(value: string | number): this
Defined in src/renderContext/hints/UserInputHint.ts:122
changes the value that gets displayed
Parameters:
| Name | Type | Description |
|---|---|---|
value |
string | number | the new value in the same unit as the current one. |
Returns: this
setVisible
▸ setVisible(visible: boolean): void
Inherited from FilterableHint.setVisible
Defined in src/renderContext/hints/Hint.ts:277
Parameters:
| Name | Type |
|---|---|
visible |
boolean |
Returns: void
show
▸ show(): void
Inherited from FilterableHint.show
Defined in src/renderContext/hints/Hint.ts:265
Returns: void
update
▸ update(): void
Overrides FilterableHint.update
Defined in src/renderContext/hints/UserInputHint.ts:190
Apply changes to text, position and text position to the rendered instance.
Returns: void
Object literals
Static Readonly angleInputHandler
▪ angleInputHandler: object
Defined in src/renderContext/hints/UserInputHint.ts:43
getEndOfSelection
▸ getEndOfSelection(text: string): number
Defined in src/renderContext/hints/UserInputHint.ts:44
Parameters:
| Name | Type |
|---|---|
text |
string |
Returns: number
getValuesToEmitOnExternalChange
▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): number[]
Defined in src/renderContext/hints/UserInputHint.ts:45
Parameters:
| Name | Type |
|---|---|
currentText |
string |
newText |
string |
Returns: number[]
Static Readonly dummyInputHandler
▪ dummyInputHandler: object
Defined in src/renderContext/hints/UserInputHint.ts:29
getEndOfSelection
▸ getEndOfSelection(text: string): number
Defined in src/renderContext/hints/UserInputHint.ts:30
Parameters:
| Name | Type |
|---|---|
text |
string |
Returns: number
getValuesToEmitOnExternalChange
▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): string[]
Defined in src/renderContext/hints/UserInputHint.ts:31
Parameters:
| Name | Type |
|---|---|
currentText |
string |
newText |
string |
Returns: string[]
Static Readonly lengthInputHandler
▪ lengthInputHandler: object
Defined in src/renderContext/hints/UserInputHint.ts:33
getEndOfSelection
▸ getEndOfSelection(text: string): number
Defined in src/renderContext/hints/UserInputHint.ts:34
Parameters:
| Name | Type |
|---|---|
text |
string |
Returns: number
getValuesToEmitOnExternalChange
▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): number[]
Defined in src/renderContext/hints/UserInputHint.ts:35
Parameters:
| Name | Type |
|---|---|
currentText |
string |
newText |
string |
Returns: number[]
Static Readonly scaleInputHandler
▪ scaleInputHandler: object
Defined in src/renderContext/hints/UserInputHint.ts:47
getEndOfSelection
▸ getEndOfSelection(text: string): number
Defined in src/renderContext/hints/UserInputHint.ts:48
Parameters:
| Name | Type |
|---|---|
text |
string |
Returns: number
getValuesToEmitOnExternalChange
▸ getValuesToEmitOnExternalChange(currentText: string, newText: string): number[]
Defined in src/renderContext/hints/UserInputHint.ts:49
Parameters:
| Name | Type |
|---|---|
currentText |
string |
newText |
string |
Returns: number[]