OSDN Git Service

Add a menu item 'Close'.
[fukui-no-namari/dialektos.git] / src / application_framework.cxx
index 1a5de86..8e8a6da 100644 (file)
@@ -68,6 +68,8 @@ void ApplicationFrameWork::build_menubar() {
   action_group_->add(Gtk::Action::create("MenuFile", "_File"));
   action_group_->add(Gtk::Action::create("FileQuit", Gtk::Stock::QUIT),
       sigc::mem_fun(*this, &ApplicationFrameWork::on_action_file_quit));
+  action_group_->add(Gtk::Action::create("FileClose", Gtk::Stock::CLOSE),
+      sigc::mem_fun(*this, &ApplicationFrameWork::on_action_file_close));
 
   // Edit menu
   action_group_->add(Gtk::Action::create("MenuEdit", "_Edit"));
@@ -102,6 +104,7 @@ void ApplicationFrameWork::build_menubar() {
     "  <menubar name='MenuBar'>"
     "    <menu action='MenuFile'>"
     "      <menuitem action='FileQuit'/>"
+    "      <menuitem action='FileClose'/>"
     "    </menu>"
     "    <menu action='MenuEdit'>"
     "      <menuitem action='EditCopy'/>"
@@ -158,6 +161,12 @@ void ApplicationFrameWork::on_action_file_quit() {
   Gtk::Main::quit();
 }
 
+void ApplicationFrameWork::on_action_file_close() {
+  std::vector<ApplicationWindow*> closes;
+  closes.push_back(this);
+  close_windows(closes);
+}
+
 void ApplicationFrameWork::on_action_edit_copy() {
   std::cout << "edit copy activated" << std::endl;
 }