#include <gtkmm/menu.h>
#include <gtkmm/uimanager.h>
#include <gtkmm/actiongroup.h>
+#include <boost/foreach.hpp>
#include <iostream>
+#include "bookmark_window.hxx"
namespace dialektos {
ApplicationWindow::add(vbox_);
build_menubar();
+ statusbar_.set_no_show_all(true);
}
ApplicationFrameWork::~ApplicationFrameWork() {}
action_group_->add(Gtk::Action::create("MenuView", "_View"));
action_group_->add(Gtk::Action::create("ViewRefresh", Gtk::Stock::REFRESH),
sigc::mem_fun(*this, &ApplicationFrameWork::on_action_view_refresh));
+ action_group_->add(Gtk::Action::create("ViewStop", Gtk::Stock::STOP),
+ sigc::mem_fun(*this, &ApplicationFrameWork::on_action_view_stop));
action_group_->add(Gtk::Action::create("ViewMenubar", "Toggle _Menubar"),
sigc::mem_fun(*this, &ApplicationFrameWork::on_action_view_menubar));
action_group_->add(Gtk::Action::create("ViewToolbar", "Toggle _Toolbar"),
action_group_->add(Gtk::Action::create("ViewStatusbar", "Toggle _Statusbar"),
sigc::mem_fun(*this, &ApplicationFrameWork::on_action_view_statusbar));
+ // Bookmark menu
+ action_group_->add(Gtk::Action::create("MenuBookmark", "_Bookmark"));
+ action_group_->add(Gtk::Action::create("BookmarkShow", "_Show Bookmarks"),
+ sigc::mem_fun(*this, &ApplicationFrameWork::on_action_bookmark_show));
+
ui_manager_->insert_action_group(action_group_);
add_accel_group(ui_manager_->get_accel_group());
" </menu>"
" <menu action='MenuView'>"
" <menuitem action='ViewRefresh'/>"
+ " <menuitem action='ViewStop'/>"
" <separator/>"
" <menuitem action='ViewMenubar'/>"
" <menuitem action='ViewToolbar'/>"
" <menuitem action='ViewStatusbar'/>"
" </menu>"
+ " <menu action='MenuBookmark'>"
+ " <menuitem action='BookmarkShow'/>"
+ " </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='ViewRefresh'/>"
+ " <toolitem action='ViewStop'/>"
" </toolbar>"
" <popup name='MenuPopup'>"
" <menuitem action='ViewRefresh'/>"
+ " <menuitem action='ViewStop'/>"
" <separator/>"
" <menuitem action='ViewMenubar'/>"
" </popup>"
ui_manager_->add_ui_from_string(ui_info);
menubar_ = ui_manager_->get_widget("/MenuBar");
+ menubar_->set_no_show_all(true);
+ menubar_->hide();
toolbar_ = ui_manager_->get_widget("/ToolBar");
+ toolbar_->set_no_show_all(true);
+ toolbar_->hide();
popupmenu_ =
dynamic_cast<Gtk::Menu*>(ui_manager_->get_widget("/MenuPopup"));
}
void ApplicationFrameWork::on_action_file_quit() {
+ save();
+ BOOST_FOREACH(const ApplicationWindow& window, windows)
+ window.save_state();
windows.clear();
Gtk::Main::quit();
}
std::cout << "view refresh activated" << std::endl;
}
+void ApplicationFrameWork::on_action_view_stop() {
+ std::cout << "view refresh stop" << std::endl;
+}
+
void ApplicationFrameWork::on_action_view_menubar() {
if (menubar_->is_visible()) menubar_->hide(); else menubar_->show();
}
if (statusbar_.is_visible()) statusbar_.hide(); else statusbar_.show();
}
+void ApplicationFrameWork::on_action_bookmark_show() {
+ BookmarkWindow::create();
+}
+
void ApplicationFrameWork::on_child_button_press(GdkEventButton* event) {
if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
popupmenu_->popup(event->button, event->time);