def initialize(parent_window)
@parent_window = parent_window
@open_signals = Set.new
@refresh_signals = Set.new
@last_path = nil
@gtk_menu = Gtk::Menu.new
@gtk_menu.append(open = Gtk::ImageMenuItem.new(Gtk::Stock::OPEN))
open.signal_connect("activate") do
menu_open
end
@gtk_menu.append(split_open = Gtk::MenuItem.new("_Split Open"))
split_open.signal_connect("activate") do
menu_split_open
end
@gtk_menu.append(tab_open = Gtk::MenuItem.new("_Tab Open"))
tab_open.signal_connect("activate") do
menu_tab_open
end
@gtk_menu.append(Gtk::SeparatorMenuItem.new)
@gtk_menu.append(new = Gtk::ImageMenuItem.new(Gtk::Stock::NEW))
new.signal_connect("activate") do
menu_new
end
@gtk_menu.append(new_folder = Gtk::MenuItem.new("New _Folder"))
new_folder.signal_connect("activate") do
menu_new_folder
end
@gtk_menu.append(Gtk::SeparatorMenuItem.new)
@gtk_menu.append(rename = Gtk::MenuItem.new("R_ename"))
rename.signal_connect("activate") do
menu_rename
end
@gtk_menu.append(delete = Gtk::ImageMenuItem.new(Gtk::Stock::DELETE))
delete.signal_connect("activate") do
menu_delete
end
@gtk_menu.append(Gtk::SeparatorMenuItem.new)
Requirer.require_if('vimmatelib/subversion') do
svn_sub_menu = Gtk::Menu.new
svn_sub_menu.append(svn_add = Gtk::ImageMenuItem.new(Gtk::Stock::ADD))
svn_add.signal_connect("activate") do
menu_svn_add
end
svn_sub_menu.append(svn_rename = Gtk::MenuItem.new("R_ename"))
svn_rename.signal_connect("activate") do
menu_svn_rename
end
svn_sub_menu.append(svn_delete = Gtk::ImageMenuItem.new(Gtk::Stock::DELETE))
svn_delete.signal_connect("activate") do
menu_svn_delete
end
svn_sub_menu.append(svn_revert = Gtk::ImageMenuItem.new(Gtk::Stock::REVERT_TO_SAVED))
svn_revert.signal_connect("activate") do
menu_svn_revert
end
@gtk_menu.append(subversion = Gtk::MenuItem.new("S_ubversion"))
subversion.submenu = svn_sub_menu
end
@gtk_menu.append(refresh = Gtk::ImageMenuItem.new(Gtk::Stock::REFRESH))
refresh.signal_connect("activate") do
menu_refresh
end
@gtk_menu.show_all
end