Home Reference Source
public class | source

ToolMacro

Extends:

scripts/path-controller/util/events.js~events.EventHandlerToolOp → ToolMacro

Static Method Summary

Static Public Methods
public static

canRun(ctx: *, toolop: *): boolean

public static

tooldef(): {"uiname": string}

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public
public

connects: *[]

public
public
public
public

tools: *[]

Private Members
private

_accept: *

private
private
private

_reject: *

Method Summary

Public Methods
public

add(tool: *): *

public

calcMemSize(ctx: *): *

public

calcUndoMem(ctx: *): *

public

connect(srctool: *, srcoutput: *, dsttool: *, dstinput: *, srcprops: string, dstprops: string): *

public

connectCB(srctool: *, dsttool: *, callback: *, thisvar: *): *

public

exec(ctx: *)

public

getDefault(toolprop: *, key: *): *

public

hasDefault(toolprop: *, key: *): *

public

loadDefaults(force: boolean): *

public

modalStart(ctx: *): *

public
public

undo(ctx: *)

public
Private Methods
private

_do_connections(tool: *)

private

Inherited Summary

From class ToolOp
public static

Equals(a: *, b: *): *

public static

canRun(ctx: *, toolop: *): boolean

public static

inherit(slots: {}): *

public static

invoke(ctx: *, args: *): *

Creates a new instance of this toolop from args and a context.

public static

isRegistered(cls: *): *

public static

onTick()

public static

register(cls: *)

public static

searchBoxOk(ctx: *): *

public static

tooldef(): {}

ToolOp definition.

public static

unregister(cls: *)

private static
private static

_regWithNstructjs(cls: *, structName: *)

public

[k]: *

public

drawlines: *[]

public

flag: *

public

inputs: {}

public
public
public
public

outputs: {}

public
private
private

_accept: *

private
private
private

_reject: *

private
public

calcMemSize(ctx: *): *

Used by undo system to limit memory

public

calcUndoMem(ctx: *): number

public

error(msg: *)

public

exec(ctx: *)

public

execPost(ctx: *)

public

execPre(ctx: *)

public

exec_pre(ctx: *)

public
public

getDefault(toolprop: *, key: *): *

public
public

hasDefault(toolprop: *, key: *): *

public

loadDefaults(force: boolean): *

public

loadSTRUCT(reader: *)

public

makeTempLine(v1: *, v2: *, style: *): *

for use in modal mode only

public

modalEnd(was_cancelled: *)

public

modalStart(ctx: *): *

returns promise to be executed on modalEnd

public

Called when the undo system needs to destroy this toolop to save memory

public

on_keydown(e: *)

default on_keydown implementation for modal tools, no need to call super() to execute this if you don't want to

public
public
public

pushModal(node: *)

public

redo(ctx: *)

public

for use in modal mode only

public
public
public

undo(ctx: *)

public

undoPre(ctx: *)

private
private

Static Public Methods

public static canRun(ctx: *, toolop: *): boolean source

Override:

ToolOp#canRun

Params:

NameTypeAttributeDescription
ctx *
toolop *
  • optional
  • default: undefined

Return:

boolean

public static tooldef(): {"uiname": string} source

ToolOp definition.

An example:

static tooldef() {
return {
uiname   : "Tool Name",
toolpath : "logical_module.tool", //logical_module need not match up to a real module
icon     : -1, //tool's icon, or -1 if there is none
description : "tooltip",
is_modal : false, //tool is interactive and takes control of events
hotkey   : undefined,
undoflag : 0, //see UndoFlags
flag     : 0,
inputs   : ToolOp.inherit({
f32val : new Float32Property(1.0),
path   : new StringProperty("./path");
}),
outputs  : {}
}
}

Override:

ToolOp#tooldef

Return:

{"uiname": string}

Public Constructors

public constructor() source

Main ToolOp constructor. It reads the inputs/outputs properteis from this.constructor.tooldef() and copies them to build this.inputs and this.outputs. If inputs or outputs are wrapped in ToolOp.inherit(), it will walk up the class chain to fetch parent class properties.

Default input values are loaded from SavedToolDefaults. If initialized (buildToolSysAPI has been called) SavedToolDefaults will have a copy of all the default property values of all registered ToolOps.

Override:

ToolOp#constructor

Public Members

public connects: *[] source

public curtool: number source

public has_modal: boolean source

public is_modal: boolean source

Override:

ToolOp#is_modal

public tools: *[] source

Private Members

private _accept: * source

Override:

ToolOp#_accept

private _macro_class: * source

private _promise: * source

Override:

ToolOp#_promise

private _reject: * source

Override:

ToolOp#_reject

Public Methods

public add(tool: *): * source

Params:

NameTypeAttributeDescription
tool *

Return:

*

public calcMemSize(ctx: *): * source

Used by undo system to limit memory

Override:

ToolOp#calcMemSize

Params:

NameTypeAttributeDescription
ctx *

Return:

*

public calcUndoMem(ctx: *): * source

Override:

ToolOp#calcUndoMem

Params:

NameTypeAttributeDescription
ctx *

Return:

*

public connect(srctool: *, srcoutput: *, dsttool: *, dstinput: *, srcprops: string, dstprops: string): * source

Params:

NameTypeAttributeDescription
srctool *
srcoutput *
dsttool *
dstinput *
srcprops string
  • optional
  • default: outputs
dstprops string
  • optional
  • default: inputs

Return:

*

public connectCB(srctool: *, dsttool: *, callback: *, thisvar: *): * source

Params:

NameTypeAttributeDescription
srctool *
dsttool *
callback *
thisvar *

Return:

*

public exec(ctx: *) source

Override:

ToolOp#exec

Params:

NameTypeAttributeDescription
ctx *

public getDefault(toolprop: *, key: *): * source

Override:

ToolOp#getDefault

Params:

NameTypeAttributeDescription
toolprop *
key *
  • optional

Return:

*

public hasDefault(toolprop: *, key: *): * source

Override:

ToolOp#hasDefault

Params:

NameTypeAttributeDescription
toolprop *
key *
  • optional

Return:

*

public loadDefaults(force: boolean): * source

Override:

ToolOp#loadDefaults

Params:

NameTypeAttributeDescription
force boolean
  • optional
  • default: true

Return:

*

public modalStart(ctx: *): * source

returns promise to be executed on modalEnd

Override:

ToolOp#modalStart

Params:

NameTypeAttributeDescription
ctx *

Return:

*

public saveDefaultInputs(): * source

Override:

ToolOp#saveDefaultInputs

Return:

*

public undo(ctx: *) source

Override:

ToolOp#undo

Params:

NameTypeAttributeDescription
ctx *

public undoPre() source

Override:

ToolOp#undoPre

Private Methods

private _do_connections(tool: *) source

Params:

NameTypeAttributeDescription
tool *

private _getTypeClass(): * source

Return:

*