package feathercalculator class FeatherCalculator : SimpleComponent() { class var evalShortcut = Key.ENTER.control() class var openShortcut = Key.NUMPAD_PLUS.control() class val openCalculator = Action( "Calculator", ::openCalculator ) .icon( "calculator" ).shortcut( openShortcut ) // ==== Register ==== override meth register() { val forNone = SimpleFeatureSet( Context.NONE, 30 ).apply { menus( MenuFeature( "Tools", openCalculator ) ) } add(forNone) registerRunnerPrefix( "=", "Eval (Feather Script)", ::evalAction ) } func openCalculator() { openBehaviour( FeatherCalculatorBehaviour() ) } func evalAction( remainder : String ) : Boolean { val behaviour = FeatherCalculatorBehaviour().apply { clear() append( remainder ) eval() }.openBehaviour() return true } }