class ActionKnob extends KnobController
main_icon: 'gears'
css_classes: 'action_menu'
elem_label: 'Action Menu'
make_panel: ->
super(@elem_tmpl)
class ActionKnob extends KnobController
main_icon: 'gears'
css_classes: 'action_menu'
elem_label: 'Action Menu'
make_panel: ->
super(@elem_tmpl)
ColoredTreePicker = require(‘coloredtreepicker’).ColoredTreePicker @verb_box = @elem.append($(‘
@elem.hide()
@watch_for(':visible', null, () => @reveal())
fp_spec:
make_frame: true
suppress_corner_buttons: true
propagate:
always_show_NEWS_buttons: false
make_frame: false
color_panels_uniquely: false
inject_tree_path: false
suppress_corner_buttons: true # just suppress the close button
suppress_content_area: false
always_show_close_button: false
show_NEWS_handle: {} # supress side drop zones
get_formurlaManager: ->
@fractalcomponent.get_formurlaManager()
get_unique_panel_name: () ->
return "knob_" + (new Date()).getTime()
get_formurla: () ->
return "#{@function_spec.name}(g=#{@function_spec.g})"
reveal: () ->
if not @my_panel
FractalPanel = require('fractalpanel').FractalPanel
@my_panel = new FractalPanel @target, @get_unique_panel_name(), @fp_spec
forMan = @get_formurlaManager() # HACK? Perhaps the global formurlaManager should NOT be used?
menuFunc = forMan.resolve_function(@function_spec.name)
src = @get_formurla()
alert src
formurla = forMan.compile_formurla(src)
expression = forMan.get_first_expression(formurla)
@menu_widget = menuFunc.apply(forMan,[@my_panel.first_frac, expression])
One should not normally do such intimate things TO somebody else, but this means that the menu_widgets do not have to be subclasses of the same parent just to inherit a method like register_knob_which_controls_me()
@menu_widget.knob_which_controls_me = @
(exports ? this).ActionKnob = ActionKnob