def create
add_item("Change node", nn, &method(:change_node))
add_separator
add_item("Cut node", XX, &method(:cut_node))
add_item("Copy node", CC, &method(:copy_node))
add_item("Paste node (appending)", AA, &method(:paste_node_appending))
add_item("Paste node (inserting before)", II,
&method(:paste_node_inserting_before))
add_separator
add_item("Append new node", aa, &method(:append_new_node))
add_item("Insert new node before", ii, &method(:insert_new_node))
add_separator
add_item("Collapse/Expand node (recursively)", ee,
&method(:collapse_expand))
menu.show_all
signal_connect(:button_press_event) do |widget, event|
if event.kind_of? Gdk::EventButton and event.button == 3
menu.popup(nil, nil, event.button, event.time)
end
end
signal_connect(:popup_menu) do
menu.popup(nil, nil, 0, Gdk::Event::CURRENT_TIME)
end
end