[niepce: 6/22] Remove Gtk::UIManager



commit 0505d57adfebece826f0e9a4fc389d4d289066e3
Author: Hubert Figuière <hub figuiere net>
Date:   Fri Jul 18 00:21:23 2014 -0400

    Remove Gtk::UIManager

 camerawire/src/cwwindow.cpp                       |    4 +-
 camerawire/src/cwwindow.hpp                       |    2 +-
 magellan/src/mgwindow.cpp                         |    2 +-
 magellan/src/mgwindow.hpp                         |    2 +-
 src/fwk/toolkit/application.cpp                   |   16 ++----
 src/fwk/toolkit/dialog.cpp                        |   18 +++---
 src/fwk/toolkit/dialog.hpp                        |   16 +++---
 src/fwk/toolkit/mapcontroller.cpp                 |    9 ++--
 src/fwk/toolkit/mapcontroller.hpp                 |    2 +-
 src/fwk/toolkit/uicontroller.cpp                  |    8 +--
 src/fwk/toolkit/uicontroller.hpp                  |   12 ++---
 src/niepce/modules/darkroom/darkroommodule.cpp    |    4 +-
 src/niepce/modules/darkroom/darkroommodule.hpp    |    2 +-
 src/niepce/modules/darkroom/toolboxcontroller.cpp |    6 +-
 src/niepce/modules/darkroom/toolboxcontroller.hpp |    4 +-
 src/niepce/modules/map/mapmodule.cpp              |    4 +-
 src/niepce/modules/map/mapmodule.hpp              |    2 +-
 src/niepce/ui/filmstripcontroller.cpp             |    2 +-
 src/niepce/ui/filmstripcontroller.hpp             |    2 +-
 src/niepce/ui/gridviewmodule.cpp                  |    4 +-
 src/niepce/ui/gridviewmodule.hpp                  |    2 +-
 src/niepce/ui/metadatapanecontroller.cpp          |   18 +++---
 src/niepce/ui/metadatapanecontroller.hpp          |   12 ++--
 src/niepce/ui/moduleshell.cpp                     |    7 +--
 src/niepce/ui/moduleshell.hpp                     |    2 +-
 src/niepce/ui/niepcewindow.cpp                    |   59 ++-------------------
 src/niepce/ui/niepcewindow.hpp                    |    2 +-
 src/niepce/ui/workspacecontroller.cpp             |    2 +-
 src/niepce/ui/workspacecontroller.hpp             |    4 +-
 29 files changed, 84 insertions(+), 145 deletions(-)
---
diff --git a/camerawire/src/cwwindow.cpp b/camerawire/src/cwwindow.cpp
index 67b8cd5..ba709e2 100644
--- a/camerawire/src/cwwindow.cpp
+++ b/camerawire/src/cwwindow.cpp
@@ -42,7 +42,7 @@ CwWindow::CwWindow()
 }
 
 
-Gtk::Widget * CwWindow::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+Gtk::Widget * CwWindow::buildWidget()
 {
   if(m_widget) {
     return m_widget;
@@ -179,7 +179,7 @@ void CwWindow::init_ui(const Glib::RefPtr<Gtk::UIManager> & manager)
     "  </toolbar>"
     "</ui>";
   manager->add_ui_from_string(ui_info);
-} 
+}
 
 
 void CwWindow::on_action_import()
diff --git a/camerawire/src/cwwindow.hpp b/camerawire/src/cwwindow.hpp
index 404a758..ffa166c 100644
--- a/camerawire/src/cwwindow.hpp
+++ b/camerawire/src/cwwindow.hpp
@@ -40,7 +40,7 @@ public:
   CwWindow();
 
 protected:
-  virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager);
+  virtual Gtk::Widget * buildWidget();
 
 private:
   class CameraTreeRecord
diff --git a/magellan/src/mgwindow.cpp b/magellan/src/mgwindow.cpp
index 426d47b..ad5541e 100644
--- a/magellan/src/mgwindow.cpp
+++ b/magellan/src/mgwindow.cpp
@@ -41,7 +41,7 @@ MgWindow::MgWindow()
 }
 
 
-Gtk::Widget * MgWindow::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+Gtk::Widget * MgWindow::buildWidget()
 {
   if(m_widget) {
     return m_widget;
diff --git a/magellan/src/mgwindow.hpp b/magellan/src/mgwindow.hpp
index f804948..0a173cb 100644
--- a/magellan/src/mgwindow.hpp
+++ b/magellan/src/mgwindow.hpp
@@ -39,7 +39,7 @@ public:
   MgWindow();
 
 protected:
-  virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager);
+  virtual Gtk::Widget * buildWidget();
 
 private:
 
diff --git a/src/fwk/toolkit/application.cpp b/src/fwk/toolkit/application.cpp
index 497e7c5..de55c65 100644
--- a/src/fwk/toolkit/application.cpp
+++ b/src/fwk/toolkit/application.cpp
@@ -94,10 +94,10 @@ int Application::main(const Application::Ptr & app,
                       int argc, char ** argv)
 {
     bool use_dark = app->get_use_dark_theme();
-    Glib::RefPtr<Gtk::Settings> settings = Gtk::Settings::get_default();
+    auto settings = Gtk::Settings::get_default();
     settings->set_property("gtk-application-prefer-dark-theme", use_dark);
 
-    AppFrame::Ptr window = app->makeMainFrame();
+    auto window = app->makeMainFrame();
     app->_add(window, false);
     app->_ready();
     app->m_gtkapp->run(window->gtkWindow(), argc, argv);
@@ -113,12 +113,8 @@ void Application::on_startup()
 
 void Application::init_actions()
 {
-    Glib::RefPtr<Gio::Menu> menu;
-    Glib::RefPtr<Gio::Menu> section;
-
-    menu = Gio::Menu::create();
-
-    section = Gio::Menu::create();
+    auto menu = Gio::Menu::create();
+    auto section = Gio::Menu::create();
 
     menu->append_section(section);
     section->append(_("New"), "action");
@@ -186,7 +182,7 @@ void Application::_add(const Controller::Ptr & sub, bool attach)
     Controller::add(sub);
     UiController::Ptr uictrl = std::dynamic_pointer_cast<UiController>(sub);
     if(uictrl) {
-        Gtk::Widget *w = uictrl->buildWidget(Glib::RefPtr<Gtk::UIManager>());
+        auto w = uictrl->buildWidget();
         Gtk::Window *win = nullptr;
         if(attach && m_gtkapp && (win = dynamic_cast<Gtk::Window*>(w))) {
             m_gtkapp->add_window(*win);
@@ -206,7 +202,7 @@ void Application::on_about()
 
 UndoTransaction * Application::begin_undo(const std::string & label)
 {
-    fwk::UndoTransaction *undo = new fwk::UndoTransaction(label);
+    auto undo = new fwk::UndoTransaction(label);
     undo_history().add(undo);
     return undo;
 }
diff --git a/src/fwk/toolkit/dialog.cpp b/src/fwk/toolkit/dialog.cpp
index 0318c63..8446265 100644
--- a/src/fwk/toolkit/dialog.cpp
+++ b/src/fwk/toolkit/dialog.cpp
@@ -1,7 +1,7 @@
 /*
  * niepce - fwk/toolkit/dialog.cpp
  *
- * Copyright (C) 2009-2013 Hubert Figuiere
+ * Copyright (C) 2009-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -33,8 +33,8 @@ void Dialog::add_header(const std::string & label)
     Gtk::Box * vbox;
 
     builder()->get_widget("dialog-vbox1", vbox);
-    std::string markup = str(boost::format("<span size=\"x-large\">%1%</span>") % label);
-    view::Header * header = manage(new view::Header(markup));
+    auto markup = str(boost::format("<span size=\"x-large\">%1%</span>") % label);
+    auto header = manage(new view::Header(markup));
     header->show();
     vbox->pack_start(*header, false, true);
 }
@@ -45,14 +45,14 @@ int Dialog::run_modal(const Frame::Ptr & parent)
     if(!m_is_setup) {
         setup_widget();
     }
-               gtkDialog().set_transient_for(parent->gtkWindow());
-               gtkDialog().set_default_response(Gtk::RESPONSE_CLOSE);
-               result = gtkDialog().run();
-               gtkDialog().hide();
-               return result;
+    gtkDialog().set_transient_for(parent->gtkWindow());
+    gtkDialog().set_default_response(Gtk::RESPONSE_CLOSE);
+    result = gtkDialog().run();
+    gtkDialog().hide();
+    return result;
 }
 
-Gtk::Widget *Dialog::buildWidget(const Glib::RefPtr<Gtk::UIManager> &)
+Gtk::Widget *Dialog::buildWidget()
 {
     return &gtkWindow();
 }
diff --git a/src/fwk/toolkit/dialog.hpp b/src/fwk/toolkit/dialog.hpp
index 86bd258..1938c8f 100644
--- a/src/fwk/toolkit/dialog.hpp
+++ b/src/fwk/toolkit/dialog.hpp
@@ -1,7 +1,7 @@
 /*
  * niepce - fwk/toolkit/dialog.hpp
  *
- * Copyright (C) 2009-2013 Hubert Figuiere
+ * Copyright (C) 2009-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -27,23 +27,23 @@
 
 namespace fwk {
 
-/** 
+/**
  * Implement a dialog.
- */ 
+ */
 class Dialog
        : public fwk::Frame
 {
 public:
     typedef std::shared_ptr<Dialog> Ptr;
 
-               Dialog(const std::string & gladeFile, const Glib::ustring & widgetName,
-          const std::string & layout_cfg_key = "")
+    Dialog(const std::string & gladeFile, const Glib::ustring & widgetName,
+           const std::string & layout_cfg_key = "")
         : Frame(gladeFile, widgetName, layout_cfg_key)
         , m_is_setup(false)
-        { 
+        {
         }
 
-    /** this is called prior to show the dialog 
+    /** this is called prior to show the dialog
      * subclass must implement and set %m_is_setup to true
      */
     virtual void setup_widget() = 0;
@@ -57,7 +57,7 @@ public:
     int run_modal();
     int run_modal(const Frame::Ptr & parent);
 protected:
-    virtual Gtk::Widget *buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget *buildWidget();
 
     bool m_is_setup;
 };
diff --git a/src/fwk/toolkit/mapcontroller.cpp b/src/fwk/toolkit/mapcontroller.cpp
index b658060..1ffde59 100644
--- a/src/fwk/toolkit/mapcontroller.cpp
+++ b/src/fwk/toolkit/mapcontroller.cpp
@@ -21,20 +21,21 @@
 
 #include <champlain-gtk/champlain-gtk.h>
 
+#include <gtkmm/widget.h>
+
 namespace fwk {
 
 Gtk::Widget *
-MapController::buildWidget(const Glib::RefPtr<Gtk::UIManager> &)
+MapController::buildWidget()
 {
   if(m_widget) {
     return m_widget;
   }
 
-  GtkWidget * embed = gtk_champlain_embed_new();
+  auto embed = gtk_champlain_embed_new();
   m_widget = Gtk::manage(Glib::wrap(embed));
 
-  ChamplainView* clutter_map =
-    gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(embed));
+  auto clutter_map = gtk_champlain_embed_get_view(GTK_CHAMPLAIN_EMBED(embed));
   m_clutter_map = Glib::wrap(CLUTTER_ACTOR(clutter_map), true);
 
   // Default position. Somewhere over Montréal, QC
diff --git a/src/fwk/toolkit/mapcontroller.hpp b/src/fwk/toolkit/mapcontroller.hpp
index 79c2a58..109cf46 100644
--- a/src/fwk/toolkit/mapcontroller.hpp
+++ b/src/fwk/toolkit/mapcontroller.hpp
@@ -31,7 +31,7 @@ class MapController
 public:
     typedef std::shared_ptr<MapController> Ptr;
 
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget * buildWidget();
 
     void centerOn(double lat, double longitude);
 
diff --git a/src/fwk/toolkit/uicontroller.cpp b/src/fwk/toolkit/uicontroller.cpp
index 7a5f0f0..c100074 100644
--- a/src/fwk/toolkit/uicontroller.cpp
+++ b/src/fwk/toolkit/uicontroller.cpp
@@ -1,7 +1,7 @@
 /*
- * niepce - fwk/toolkit/uicontroller.hpp
+ * niepce - fwk/toolkit/uicontroller.cpp
  *
- * Copyright (C) 2009-2013 Hubert Figuiere
+ * Copyright (C) 2009-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,15 +24,11 @@ namespace fwk {
 
 UiController::UiController()
     : m_widget(nullptr)
-    , m_ui_merge_id(0)
 {
 }
 
 UiController::~UiController()
 {
-    if(m_uimanager && m_ui_merge_id) {
-        m_uimanager->remove_ui(m_ui_merge_id);
-    }
 }
 
 
diff --git a/src/fwk/toolkit/uicontroller.hpp b/src/fwk/toolkit/uicontroller.hpp
index c019980..827b093 100644
--- a/src/fwk/toolkit/uicontroller.hpp
+++ b/src/fwk/toolkit/uicontroller.hpp
@@ -1,7 +1,7 @@
 /*
  * niepce - fwk/toolkit/uicontroller.hpp
  *
- * Copyright (C) 2009-2013 Hubert Figuiere
+ * Copyright (C) 2009-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,12 +22,10 @@
 #define __FRAMEWORK_UICONTROLLER_H__
 
 
-#include <gtkmm/uimanager.h>
-
 #include "fwk/toolkit/controller.hpp"
 
 namespace Gtk {
-       class Widget;
+class Widget;
 }
 
 namespace fwk {
@@ -40,15 +38,13 @@ public:
 
     UiController();
     virtual ~UiController();
-  
+
     /** return the widget controlled (construct it if needed) */
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager) = 0;
+    virtual Gtk::Widget * buildWidget() = 0;
     Gtk::Widget * widget() const;
 
 protected:
     Gtk::Widget*                 m_widget;
-    Glib::RefPtr<Gtk::UIManager> m_uimanager;
-    Gtk::UIManager::ui_merge_id  m_ui_merge_id;
 };
 
 }
diff --git a/src/niepce/modules/darkroom/darkroommodule.cpp b/src/niepce/modules/darkroom/darkroommodule.cpp
index eb7def3..e078edb 100644
--- a/src/niepce/modules/darkroom/darkroommodule.cpp
+++ b/src/niepce/modules/darkroom/darkroommodule.cpp
@@ -95,7 +95,7 @@ void DarkroomModule::set_active(bool active)
 }
 
 
-Gtk::Widget * DarkroomModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+Gtk::Widget * DarkroomModule::buildWidget()
 {
     if(m_widget) {
         return m_widget;
@@ -149,7 +149,7 @@ Gtk::Widget * DarkroomModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & m
 
     m_toolbox_ctrl = ToolboxController::Ptr(new ToolboxController);
     add(m_toolbox_ctrl);
-    m_dock->vbox().pack_start(*m_toolbox_ctrl->buildWidget(manager));
+    m_dock->vbox().pack_start(*m_toolbox_ctrl->buildWidget());
 
     return m_widget;
 }
diff --git a/src/niepce/modules/darkroom/darkroommodule.hpp b/src/niepce/modules/darkroom/darkroommodule.hpp
index 57c8b3d..1eb5e67 100644
--- a/src/niepce/modules/darkroom/darkroommodule.hpp
+++ b/src/niepce/modules/darkroom/darkroommodule.hpp
@@ -62,7 +62,7 @@ public:
 protected:
     void reload_image();
 
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget * buildWidget();
 
 private:
     void on_selected(eng::library_id_t id);
diff --git a/src/niepce/modules/darkroom/toolboxcontroller.cpp 
b/src/niepce/modules/darkroom/toolboxcontroller.cpp
index 29a02b0..773981a 100644
--- a/src/niepce/modules/darkroom/toolboxcontroller.cpp
+++ b/src/niepce/modules/darkroom/toolboxcontroller.cpp
@@ -1,7 +1,7 @@
 /*
  * niepce - darkroom/toolboxcontroller.cpp
  *
- * Copyright (C) 2008-2013 Hubert Figuiere
+ * Copyright (C) 2008-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@ ToolboxController::ToolboxController()
 }
 
 Gtk::Widget * 
-ToolboxController::buildWidget(const Glib::RefPtr<Gtk::UIManager> & )
+ToolboxController::buildWidget()
 {
     if(m_widget) {
         return m_widget;
@@ -56,7 +56,7 @@ ToolboxController::buildWidget(const Glib::RefPtr<Gtk::UIManager> & )
     item = manage(new DrItemWidget(_("Crop")));
     toolbox->pack_start(*item, Gtk::PACK_SHRINK);
     s = Gtk::manage(new fwk::EditableHScale(DATADIR"/niepce/pixmaps/niepce-transform-rotate.png",
-                                            -45.0, 45.0, 0.5));    
+                                            -45.0, 45.0, 0.5));
     item->add_widget(_("Tilt"), *s);
 
     item = manage(new DrItemWidget(_("White balance")));
diff --git a/src/niepce/modules/darkroom/toolboxcontroller.hpp 
b/src/niepce/modules/darkroom/toolboxcontroller.hpp
index dac955d..0599a8f 100644
--- a/src/niepce/modules/darkroom/toolboxcontroller.hpp
+++ b/src/niepce/modules/darkroom/toolboxcontroller.hpp
@@ -1,7 +1,7 @@
 /*
  * niepce - modules/darkroom/toolboxcontroller.h
  *
- * Copyright (C) 2008-2013 Hubert Figuiere
+ * Copyright (C) 2008-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ class ToolboxController
 public:
     typedef std::shared_ptr<ToolboxController> Ptr;
     ToolboxController();
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget * buildWidget();
 };
 
 }
diff --git a/src/niepce/modules/map/mapmodule.cpp b/src/niepce/modules/map/mapmodule.cpp
index 2dab8e7..9df46a7 100644
--- a/src/niepce/modules/map/mapmodule.cpp
+++ b/src/niepce/modules/map/mapmodule.cpp
@@ -44,7 +44,7 @@ void MapModule::set_active(bool active)
 }
 
 
-Gtk::Widget * MapModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+Gtk::Widget * MapModule::buildWidget()
 {
     if(m_widget) {
         return m_widget;
@@ -55,7 +55,7 @@ Gtk::Widget * MapModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manage
 
     m_map = fwk::MapController::Ptr(new fwk::MapController());
     add(m_map);
-    auto w = m_map->buildWidget(manager);
+    auto w = m_map->buildWidget();
     if (w) {
         m_box->pack_start(*w);
     }
diff --git a/src/niepce/modules/map/mapmodule.hpp b/src/niepce/modules/map/mapmodule.hpp
index 689f905..62af8e4 100644
--- a/src/niepce/modules/map/mapmodule.hpp
+++ b/src/niepce/modules/map/mapmodule.hpp
@@ -51,7 +51,7 @@ public:
     void on_lib_notification(const eng::LibNotification &ln);
 
 protected:
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget * buildWidget();
 
 private:
     void on_selected(eng::library_id_t id);
diff --git a/src/niepce/ui/filmstripcontroller.cpp b/src/niepce/ui/filmstripcontroller.cpp
index 73477aa..4ad08c6 100644
--- a/src/niepce/ui/filmstripcontroller.cpp
+++ b/src/niepce/ui/filmstripcontroller.cpp
@@ -36,7 +36,7 @@ FilmStripController::FilmStripController(const Glib::RefPtr<ImageListStore> & st
 {
 }
 
-Gtk::Widget * FilmStripController::buildWidget(const Glib::RefPtr<Gtk::UIManager> &)
+Gtk::Widget * FilmStripController::buildWidget()
 {
     if(m_widget) {
         return m_widget;
diff --git a/src/niepce/ui/filmstripcontroller.hpp b/src/niepce/ui/filmstripcontroller.hpp
index a5b4562..9d46f6d 100644
--- a/src/niepce/ui/filmstripcontroller.hpp
+++ b/src/niepce/ui/filmstripcontroller.hpp
@@ -47,7 +47,7 @@ public:
        virtual eng::library_id_t get_selected();
        virtual void select_image(eng::library_id_t id);
 
-       virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+       virtual Gtk::Widget * buildWidget();
 
 private:
        Gtk::IconView * m_thumbview;
diff --git a/src/niepce/ui/gridviewmodule.cpp b/src/niepce/ui/gridviewmodule.cpp
index 7be01fc..ba8dcd5 100644
--- a/src/niepce/ui/gridviewmodule.cpp
+++ b/src/niepce/ui/gridviewmodule.cpp
@@ -96,7 +96,7 @@ void GridViewModule::display_none()
 }
 
 
-Gtk::Widget * GridViewModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+Gtk::Widget * GridViewModule::buildWidget()
 {
   if(m_widget) {
     return m_widget;
@@ -132,7 +132,7 @@ Gtk::Widget * GridViewModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & m
       sigc::mem_fun(*this, &GridViewModule::on_metadata_changed));
   add(m_metapanecontroller);
   m_lib_splitview.pack2(*m_dock);
-  m_dock->vbox().pack_start(*m_metapanecontroller->buildWidget(manager));
+  m_dock->vbox().pack_start(*m_metapanecontroller->buildWidget());
 
   m_databinders.add_binder(new fwk::ConfigDataBinder<int>(
                              m_lib_splitview.property_position(),
diff --git a/src/niepce/ui/gridviewmodule.hpp b/src/niepce/ui/gridviewmodule.hpp
index 772efed..091d7ea 100644
--- a/src/niepce/ui/gridviewmodule.hpp
+++ b/src/niepce/ui/gridviewmodule.hpp
@@ -74,7 +74,7 @@ public:
   virtual void select_image(eng::library_id_t id);
 
 protected:
-  virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager);
+  virtual Gtk::Widget * buildWidget();
 
 
 private:
diff --git a/src/niepce/ui/metadatapanecontroller.cpp b/src/niepce/ui/metadatapanecontroller.cpp
index bbfd2df..b95b108 100644
--- a/src/niepce/ui/metadatapanecontroller.cpp
+++ b/src/niepce/ui/metadatapanecontroller.cpp
@@ -112,29 +112,29 @@ MetaDataPaneController::~MetaDataPaneController()
 }
 
 Gtk::Widget * 
-MetaDataPaneController::buildWidget(const Glib::RefPtr<Gtk::UIManager> & )
+MetaDataPaneController::buildWidget()
 {
     if(m_widget) {
         return m_widget;
     }
-    Gtk::Box *box = build_vbox();
+    auto box = build_vbox();
     m_widget = box;
     DBG_ASSERT(box, "dockable vbox not found");
-    
-    const fwk::MetaDataSectionFormat * formats = get_format();
-    
-    const fwk::MetaDataSectionFormat * current = formats;
+
+    auto formats = get_format();
+
+    auto current = formats;
     while(current->section) {
-        fwk::MetaDataWidget *w = Gtk::manage(new fwk::MetaDataWidget(current->section));
+        auto w = Gtk::manage(new fwk::MetaDataWidget(current->section));
         box->pack_start(*w, Gtk::PACK_SHRINK, 0);
         w->set_data_format(current);
         m_widgets.push_back(w);
         w->signal_metadata_changed.connect(
-            sigc::mem_fun(*this, 
+            sigc::mem_fun(*this,
                           &MetaDataPaneController::on_metadata_changed));
         current++;
     }
-    
+
     return m_widget;
 }
   
diff --git a/src/niepce/ui/metadatapanecontroller.hpp b/src/niepce/ui/metadatapanecontroller.hpp
index dfc501e..2b62312 100644
--- a/src/niepce/ui/metadatapanecontroller.hpp
+++ b/src/niepce/ui/metadatapanecontroller.hpp
@@ -35,7 +35,7 @@ class PropertyBag;
 }
 
 namespace ui {
-       
+
 class MetaDataPaneController
     : public fwk::Dockable
 {
@@ -43,21 +43,21 @@ public:
     typedef std::shared_ptr<MetaDataPaneController> Ptr;
     MetaDataPaneController();
     ~MetaDataPaneController();
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget * buildWidget();
     void display(eng::library_id_t file_id, const eng::LibMetadata::Ptr & meta);
-    eng::library_id_t displayed_file() const 
+    eng::library_id_t displayed_file() const
         { return m_fileid; }
 
     sigc::signal<void, const fwk::PropertyBag &, const fwk::PropertyBag &> signal_metadata_changed;
 private:
-    void on_metadata_changed(const fwk::PropertyBag &, 
+    void on_metadata_changed(const fwk::PropertyBag &,
                              const fwk::PropertyBag & old);
 
     std::vector<fwk::MetaDataWidget *> m_widgets;
-    
+
     static const fwk::MetaDataSectionFormat * get_format();
     static const fwk::PropertySet & get_property_set();
-    
+
     eng::library_id_t m_fileid;
 };
 
diff --git a/src/niepce/ui/moduleshell.cpp b/src/niepce/ui/moduleshell.cpp
index d857053..71efdcd 100644
--- a/src/niepce/ui/moduleshell.cpp
+++ b/src/niepce/ui/moduleshell.cpp
@@ -36,7 +36,7 @@
 
 namespace ui {
 
-Gtk::Widget * ModuleShell::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+Gtk::Widget * ModuleShell::buildWidget()
 {
     if(m_widget) {
         return m_widget;
@@ -204,8 +204,7 @@ Gtk::Widget * ModuleShell::buildWidget(const Glib::RefPtr<Gtk::UIManager> & mana
         "    </menu>"
         "  </menubar>"
         "</ui>";
-//    m_ui_merge_id = manager->add_ui_from_string(ui_info);
-//    DBG_ASSERT(m_ui_merge_id, "merge failed");
+
 
     m_gridview = GridViewModule::Ptr(
         new GridViewModule(*this, m_selection_controller->get_list_store()));
@@ -240,7 +239,7 @@ void ModuleShell::action_edit_delete()
 void ModuleShell::add_library_module(const ILibraryModule::Ptr & module,
                                                    const std::string & label)
 {
-    auto w = module->buildWidget(Glib::RefPtr<Gtk::UIManager>());
+    auto w = module->buildWidget();
     if(w) {
         add(module);
         m_shell.append_page(*w, label);
diff --git a/src/niepce/ui/moduleshell.hpp b/src/niepce/ui/moduleshell.hpp
index deec37d..468ba44 100644
--- a/src/niepce/ui/moduleshell.hpp
+++ b/src/niepce/ui/moduleshell.hpp
@@ -84,7 +84,7 @@ public:
     void on_selected(eng::library_id_t id);
     void on_image_activated(eng::library_id_t id);
 
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager);
+    virtual Gtk::Widget * buildWidget();
 
     void action_edit_delete();
 protected:
diff --git a/src/niepce/ui/niepcewindow.cpp b/src/niepce/ui/niepcewindow.cpp
index 5b47c9b..47e26c1 100644
--- a/src/niepce/ui/niepcewindow.cpp
+++ b/src/niepce/ui/niepcewindow.cpp
@@ -73,7 +73,6 @@ NiepceWindow::~NiepceWindow()
 void
 NiepceWindow::_createModuleShell()
 {
-    DBG_ASSERT(m_uimanager, "UI manager NULL");
     DBG_ASSERT(static_cast<bool>(m_libClient), "libclient not initialized");
     DBG_ASSERT(m_widget, "widget not built");
 
@@ -82,7 +81,7 @@ NiepceWindow::_createModuleShell()
     // main view
     m_moduleshell = ModuleShell::Ptr(
         new ModuleShell(getLibraryClient()));
-    m_moduleshell->buildWidget(m_uimanager);
+    m_moduleshell->buildWidget();
 
     add(m_moduleshell);
     auto shell_menu = m_moduleshell->getMenu();
@@ -115,8 +114,8 @@ NiepceWindow::_createModuleShell()
     add(m_workspacectrl);
 
     m_hbox.set_border_width(4);
-    m_hbox.pack1(*(m_workspacectrl->buildWidget(m_uimanager)), Gtk::EXPAND);
-    m_hbox.pack2(*(m_moduleshell->buildWidget(m_uimanager)), Gtk::EXPAND);
+    m_hbox.pack1(*(m_workspacectrl->buildWidget()), Gtk::EXPAND);
+    m_hbox.pack2(*(m_moduleshell->buildWidget()), Gtk::EXPAND);
     m_databinders.add_binder(new fwk::ConfigDataBinder<int>(m_hbox.property_position(),
                                                                   Application::app()->config(),
                                                                   "workspace_splitter"));
@@ -131,7 +130,7 @@ NiepceWindow::_createModuleShell()
     m_filmstrip = FilmStripController::Ptr(new FilmStripController(m_moduleshell->get_list_store()));
     add(m_filmstrip);
 
-    m_vbox.pack_start(*(m_filmstrip->buildWidget(m_uimanager)), Gtk::PACK_SHRINK);
+    m_vbox.pack_start(*(m_filmstrip->buildWidget()), Gtk::PACK_SHRINK);
 
     // status bar
     m_vbox.pack_start(m_statusBar, Gtk::PACK_SHRINK);
@@ -145,14 +144,11 @@ NiepceWindow::_createModuleShell()
 
 
 Gtk::Widget *
-NiepceWindow::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
+NiepceWindow::buildWidget()
 {
-    DBG_ASSERT(manager, "manager is NULL");
-
     if(m_widget) {
         return m_widget;
     }
-    m_uimanager = manager;
     Gtk::Window & win(gtkWindow());
 
     m_widget = &win;
@@ -177,51 +173,6 @@ NiepceWindow::buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager)
 
 void NiepceWindow::init_ui()
 {
-#if 0
-    Glib::ustring ui_info =
-        "<ui>"
-        "  <menubar name='MenuBar'>"
-        "    <menu action='MenuLibrary'>"
-        "      <menuitem action='NewLibrary' />"
-        "      <menuitem action='OpenLibrary' />"
-        "      <separator/>"
-        "      <menuitem action='NewFolder'/>"
-        "      <menuitem action='NewProject'/>"
-        "      <menuitem action='Import'/>"
-        "      <separator/>"
-        "      <menuitem action='Close'/>"
-        "      <menuitem action='Quit'/>"
-        "    </menu>"
-        "    <menu action='MenuEdit'>"
-        "      <menuitem action='Undo'/>"
-        "      <menuitem action='Redo'/>"
-        "      <separator/>"
-        "      <menuitem action='Cut'/>"
-        "      <menuitem action='Copy'/>"
-        "      <menuitem action='Paste'/>"
-        "      <menuitem action='Delete'/>"
-        "      <separator/>"
-        "      <menuitem action='Preferences'/>"
-        "    </menu>"
-        "    <menu action='MenuImage' />"
-        "    <menu action='MenuTools'>"
-        "      <menuitem action='EditLabels'/>"
-        "      <separator/>"        
-        "      <menuitem action='ToggleToolsVisible'/>"
-        "      <separator/>"        
-        "    </menu>"
-        "    <menu action='MenuHelp'>"
-        "      <menuitem action='Help'/>"
-        "      <menuitem action='About'/>"
-        "    </menu>"
-        "  </menubar>"
-        "  <toolbar  name='ToolBar'>"
-        "    <toolitem action='Import'/>"
-        "    <toolitem action='Quit'/>"
-        "  </toolbar>"
-        "</ui>";
-    m_ui_merge_id = manager->add_ui_from_string(ui_info);
-#endif
 }
 
 void NiepceWindow::init_actions()
diff --git a/src/niepce/ui/niepcewindow.hpp b/src/niepce/ui/niepcewindow.hpp
index 671954f..6074513 100644
--- a/src/niepce/ui/niepcewindow.hpp
+++ b/src/niepce/ui/niepcewindow.hpp
@@ -57,7 +57,7 @@ public:
         { return m_library_cfg; }
 
 protected:
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> & manager);
+    virtual Gtk::Widget * buildWidget();
 private:
     void on_action_file_import();
 
diff --git a/src/niepce/ui/workspacecontroller.cpp b/src/niepce/ui/workspacecontroller.cpp
index 0f091f1..c7ae1c4 100644
--- a/src/niepce/ui/workspacecontroller.cpp
+++ b/src/niepce/ui/workspacecontroller.cpp
@@ -280,7 +280,7 @@ WorkspaceController::add_item(const Glib::RefPtr<Gtk::TreeStore> &treestore,
 }
 
 
-Gtk::Widget * WorkspaceController::buildWidget(const Glib::RefPtr<Gtk::UIManager> &)
+Gtk::Widget * WorkspaceController::buildWidget()
 {
     if(m_widget) {
         return m_widget;
diff --git a/src/niepce/ui/workspacecontroller.hpp b/src/niepce/ui/workspacecontroller.hpp
index 1b669c2..f2abd9d 100644
--- a/src/niepce/ui/workspacecontroller.hpp
+++ b/src/niepce/ui/workspacecontroller.hpp
@@ -1,7 +1,7 @@
 /*
  * niepce - ui/workspacecontroller.h
  *
- * Copyright (C) 2007-2013 Hubert Figuiere
+ * Copyright (C) 2007-2014 Hubert Figuiere
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -85,7 +85,7 @@ public:
     void on_count_notification(int);
     void on_libtree_selection();
     
-    virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+    virtual Gtk::Widget * buildWidget();
 private:
     void on_row_expanded_collapsed(const Gtk::TreeIter& iter,
                                    const Gtk::TreePath& path, bool expanded);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]