OSDN Git Service

Add a menu item 'Close'.
authorAiwota Programmer <aiwotaprog@tetteke.tk>
Tue, 2 Mar 2010 13:44:33 +0000 (22:44 +0900)
committerAiwota Programmer <aiwotaprog@tetteke.tk>
Tue, 2 Mar 2010 13:44:33 +0000 (22:44 +0900)
src/application_framework.cxx
src/application_framework.hxx

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("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"));
 
   // 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'/>"
     "  <menubar name='MenuBar'>"
     "    <menu action='MenuFile'>"
     "      <menuitem action='FileQuit'/>"
+    "      <menuitem action='FileClose'/>"
     "    </menu>"
     "    <menu action='MenuEdit'>"
     "      <menuitem action='EditCopy'/>"
     "    </menu>"
     "    <menu action='MenuEdit'>"
     "      <menuitem action='EditCopy'/>"
@@ -158,6 +161,12 @@ void ApplicationFrameWork::on_action_file_quit() {
   Gtk::Main::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;
 }
 void ApplicationFrameWork::on_action_edit_copy() {
   std::cout << "edit copy activated" << std::endl;
 }
index 76fa272..bb66a64 100644 (file)
@@ -44,6 +44,7 @@ public:
 protected:
   void build_menubar();
   virtual void on_action_file_quit();
 protected:
   void build_menubar();
   virtual void on_action_file_quit();
+  virtual void on_action_file_close();
   virtual void on_action_edit_copy();
   virtual void on_action_view_refresh();
   virtual void on_action_view_stop();
   virtual void on_action_edit_copy();
   virtual void on_action_view_refresh();
   virtual void on_action_view_stop();