457: def create
458: add_item("Change node", ?n, &method(:change_node))
459: add_separator
460: add_item("Cut node", ?X, &method(:cut_node))
461: add_item("Copy node", ?C, &method(:copy_node))
462: add_item("Paste node (appending)", ?A, &method(:paste_node_appending))
463: add_item("Paste node (inserting before)", ?I,
464: &method(:paste_node_inserting_before))
465: add_separator
466: add_item("Append new node", ?a, &method(:append_new_node))
467: add_item("Insert new node before", ?i, &method(:insert_new_node))
468: add_separator
469: add_item("Collapse/Expand node (recursively)", ?e,
470: &method(:collapse_expand))
471:
472: menu.show_all
473: signal_connect(:button_press_event) do |widget, event|
474: if event.kind_of? Gdk::EventButton and event.button == 3
475: menu.popup(nil, nil, event.button, event.time)
476: end
477: end
478: signal_connect(:popup_menu) do
479: menu.popup(nil, nil, 0, Gdk::Event::CURRENT_TIME)
480: end
481: end