[niepce] Remove gdl
- From: Hubert FiguiÃre <hub src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [niepce] Remove gdl
- Date: Sat, 12 Nov 2011 06:14:50 +0000 (UTC)
commit 35d11d72052d76a3c1993f15c5376105d5eb5c95
Author: Hub Figuiere <hub figuiere net>
Date: Fri Oct 28 22:12:42 2011 -0700
Remove gdl
src/ext/Makefile.am | 2 +-
src/ext/README | 5 -
src/ext/libgdl/CMakeLists.txt | 42 -
src/ext/libgdl/Makefile.am | 41 -
src/ext/libgdl/Makefile_insert | 41 -
src/ext/libgdl/README.gdl-dock | 184 --
src/ext/libgdl/gdl-dock-bar.c | 976 ----------
src/ext/libgdl/gdl-dock-bar.h | 75 -
src/ext/libgdl/gdl-dock-item-grip.c | 720 -------
src/ext/libgdl/gdl-dock-item-grip.h | 56 -
src/ext/libgdl/gdl-dock-item.c | 2060 ---------------------
src/ext/libgdl/gdl-dock-item.h | 195 --
src/ext/libgdl/gdl-dock-master.c | 1023 ----------
src/ext/libgdl/gdl-dock-master.h | 97 -
src/ext/libgdl/gdl-dock-notebook.c | 528 ------
src/ext/libgdl/gdl-dock-notebook.h | 59 -
src/ext/libgdl/gdl-dock-object.c | 944 ----------
src/ext/libgdl/gdl-dock-object.h | 239 ---
src/ext/libgdl/gdl-dock-paned.c | 797 --------
src/ext/libgdl/gdl-dock-paned.h | 66 -
src/ext/libgdl/gdl-dock-placeholder.c | 834 ---------
src/ext/libgdl/gdl-dock-placeholder.h | 69 -
src/ext/libgdl/gdl-dock-tablabel.c | 621 -------
src/ext/libgdl/gdl-dock-tablabel.h | 74 -
src/ext/libgdl/gdl-dock.c | 1368 --------------
src/ext/libgdl/gdl-dock.h | 99 -
src/ext/libgdl/gdl-i18n.c | 43 -
src/ext/libgdl/gdl-i18n.h | 72 -
src/ext/libgdl/gdl-stock-icons.h | 135 --
src/ext/libgdl/gdl-stock.c | 126 --
src/ext/libgdl/gdl-stock.h | 37 -
src/ext/libgdl/gdl-switcher.c | 1078 -----------
src/ext/libgdl/gdl-switcher.h | 73 -
src/ext/libgdl/gdl-tools.h | 190 --
src/ext/libgdl/gdl-win32.c | 42 -
src/ext/libgdl/gdl-win32.h | 30 -
src/ext/libgdl/libgdl.h | 37 -
src/ext/libgdl/libgdlmarshal.c | 170 --
src/ext/libgdl/libgdlmarshal.h | 48 -
src/ext/libgdl/libgdlmarshal.list | 7 -
src/ext/libgdl/libgdltypebuiltins.c | 183 --
src/ext/libgdl/libgdltypebuiltins.h | 40 -
src/ext/libgdl/makefile.in | 17 -
src/fwk/toolkit/Makefile.am | 1 -
src/fwk/toolkit/dockable.cpp | 21 +-
src/fwk/toolkit/dockable.hpp | 25 +-
src/fwk/toolkit/widgets/dock-item.hpp | 158 --
src/fwk/toolkit/widgets/dock.cpp | 301 +---
src/fwk/toolkit/widgets/dock.hpp | 98 +-
src/niepce/Makefile.am | 1 -
src/niepce/modules/darkroom/darkroommodule.cpp | 8 +-
src/niepce/modules/darkroom/toolboxcontroller.cpp | 16 +-
src/niepce/modules/darkroom/toolboxcontroller.hpp | 6 +-
src/niepce/ui/gridviewmodule.cpp | 6 +-
src/niepce/ui/metadatapanecontroller.cpp | 175 +-
src/niepce/ui/metadatapanecontroller.hpp | 18 +-
56 files changed, 188 insertions(+), 14189 deletions(-)
---
diff --git a/src/ext/Makefile.am b/src/ext/Makefile.am
index 4f515f6..8afd99f 100644
--- a/src/ext/Makefile.am
+++ b/src/ext/Makefile.am
@@ -1,5 +1,5 @@
EXTRA_DIST = README
-SUBDIRS = libgdl libview
+SUBDIRS = libview
# DIST_SUBDIRS =
diff --git a/src/ext/README b/src/ext/README
index 8809675..7ad9608 100644
--- a/src/ext/README
+++ b/src/ext/README
@@ -1,7 +1,2 @@
This directory contains external code:
-libgdl/
- - copied from Inskscape has it has more feature then upstream gdl.
- last resync r19169
- https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk/src/libgdl/gdl-stock.h
-
diff --git a/src/fwk/toolkit/Makefile.am b/src/fwk/toolkit/Makefile.am
index 3de9bc1..2dbc6a9 100644
--- a/src/fwk/toolkit/Makefile.am
+++ b/src/fwk/toolkit/Makefile.am
@@ -29,7 +29,6 @@ libniepceframework_a_SOURCES = configuration.hpp configuration.cpp \
widgets/addinstreemodel.hpp widgets/addinstreemodel.cpp \
widgets/toolboxitemwidget.hpp widgets/toolboxitemwidget.cpp \
widgets/editablehscale.hpp widgets/editablehscale.cpp \
- widgets/dock-item.cpp widgets/dock-item.hpp \
widgets/dock.cpp widgets/dock.hpp \
dockable.hpp dockable.cpp \
metadatawidget.hpp metadatawidget.cpp \
diff --git a/src/fwk/toolkit/dockable.cpp b/src/fwk/toolkit/dockable.cpp
index c30547e..4d506bd 100644
--- a/src/fwk/toolkit/dockable.cpp
+++ b/src/fwk/toolkit/dockable.cpp
@@ -1,7 +1,7 @@
/*
* niepce - fwk/toolkit/dockable.cpp
*
- * Copyright (C) 2008-2009 Hubert Figuiere
+ * Copyright (C) 2008-2011 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,13 +22,24 @@
namespace fwk {
-Dockable::Dockable(Dock & dock, const Glib::ustring& name,
- const Glib::ustring& long_name,
- const Glib::ustring& icon_name, DockItem::State state)
- : DockItem(dock, name, long_name, icon_name, state)
+Dockable::Dockable(const Glib::ustring& name,
+ const Glib::ustring& long_name,
+ const Glib::ustring& icon_name)
+ : m_name(name)
+ , m_long_name(long_name)
+ , m_icon_name(icon_name)
{
}
+Gtk::VBox *
+Dockable::build_vbox()
+{
+ m_vbox = Gtk::manage(new Gtk::VBox());
+ // do the label, the name, etc.
+
+ // TODO
+ return m_vbox;
+}
}
/*
diff --git a/src/fwk/toolkit/dockable.hpp b/src/fwk/toolkit/dockable.hpp
index cac9bb4..56741ff 100644
--- a/src/fwk/toolkit/dockable.hpp
+++ b/src/fwk/toolkit/dockable.hpp
@@ -1,7 +1,7 @@
/*
* niepce - fwk/toolkit/dockable.hpp
*
- * Copyright (C) 2008 Hubert Figuiere
+ * Copyright (C) 2008, 2011 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
@@ -21,8 +21,10 @@
#ifndef __FRAMEWORK_DOCKABLE_H__
#define __FRAMEWORK_DOCKABLE_H__
+#include <glibmm/ustring.h>
+#include <gtkmm/box.h>
#include "fwk/toolkit/uicontroller.hpp"
-#include "fwk/toolkit/widgets/dock-item.hpp"
+#include "fwk/toolkit/widgets/dock.hpp"
namespace fwk {
@@ -30,14 +32,25 @@ namespace fwk {
/** A dockable item controller
*/
class Dockable
- : public UiController,
- protected DockItem
+ : public UiController
{
public:
- Dockable(fwk::Dock & dock, const Glib::ustring& name,
+ Dockable(const Glib::ustring& name,
const Glib::ustring& long_name,
- const Glib::ustring& icon_name, DockItem::State state);
+ const Glib::ustring& icon_name);
+ /** return the vbox controlled (construct it if needed) */
+ Gtk::VBox * build_vbox();
+
+ const Glib::ustring & get_name() const
+ {
+ return m_name;
+ }
+private:
+ Gtk::VBox * m_vbox;
+ Glib::ustring m_name;
+ Glib::ustring m_long_name;
+ Glib::ustring m_icon_name;
};
diff --git a/src/fwk/toolkit/widgets/dock.cpp b/src/fwk/toolkit/widgets/dock.cpp
index 843ae56..c06a25d 100644
--- a/src/fwk/toolkit/widgets/dock.cpp
+++ b/src/fwk/toolkit/widgets/dock.cpp
@@ -1,296 +1,23 @@
-/**
- * \brief A desktop dock pane to dock dialogs.
+/*
+ * niepce - fwk/toolkit/dock.hpp
+ *
+ * Copyright (C) 2011 Hubert Figuiere
*
- * Author:
- * Gustav Broberg <broberg kth se>
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
- * Copyright (C) 2007 Authors
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * Released under GNU GPL. Read the file 'COPYING' for more information.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-//#include "inkscape.h"
-//#include "prefs-utils.h"
-//#include "desktop.h"
#include "dock.hpp"
-#include <gtkmm/adjustment.h>
-
-namespace fwk {
-
-namespace {
-
-void hideCallback(GtkObject */*object*/, gpointer dock_ptr)
-{
- g_return_if_fail( dock_ptr != NULL );
-
- Dock *dock = (Dock *)dock_ptr;
- dock->hide();
-}
-
-void unhideCallback(GtkObject */*object*/, gpointer dock_ptr)
-{
- g_return_if_fail( dock_ptr != NULL );
-
- Dock *dock = (Dock *)dock_ptr;
- dock->show();
-}
-
-}
-
-const int Dock::_default_empty_width = 0;
-const int Dock::_default_dock_bar_width = 36;
-
-
-Dock::Dock(Gtk::Orientation orientation)
- : _gdl_dock (GDL_DOCK (gdl_dock_new())),
- _gdl_dock_bar (GDL_DOCK_BAR (gdl_dock_bar_new(GDL_DOCK(_gdl_dock)))),
- _scrolled_window (Gtk::manage(new Gtk::ScrolledWindow))
-{
- gdl_dock_bar_set_orientation(_gdl_dock_bar, static_cast<GtkOrientation>(orientation));
-
- switch (orientation) {
- case Gtk::ORIENTATION_VERTICAL:
- _dock_box = Gtk::manage(new Gtk::HBox());
- _paned = Gtk::manage(new Gtk::VPaned());
- break;
- case Gtk::ORIENTATION_HORIZONTAL:
- _dock_box = Gtk::manage(new Gtk::VBox());
- _paned = Gtk::manage(new Gtk::HPaned());
- }
-
- _scrolled_window->add(*_dock_box);
- _scrolled_window->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
-
- _paned->pack1(*Glib::wrap(GTK_WIDGET(_gdl_dock)), false, false);
- _paned->pack2(_filler, true, false);
-
- _dock_box->pack_start(*_paned, Gtk::PACK_EXPAND_WIDGET);
- _dock_box->pack_end(*Gtk::manage(Glib::wrap(GTK_WIDGET(_gdl_dock_bar))), Gtk::PACK_SHRINK);
- _dock_box->get_parent()->set_resize_mode(Gtk::RESIZE_PARENT);
-
- _scrolled_window->set_size_request(0);
-
- GdlSwitcherStyle gdl_switcher_style = GDL_SWITCHER_STYLE_BOTH;
-// HUB
-// static_cast<GdlSwitcherStyle>(prefs_get_int_attribute_limited("options.dock", "switcherstyle",
-// GDL_SWITCHER_STYLE_BOTH, 0, 4));
-
-// HUB
- g_object_set (GDL_DOCK_OBJECT(_gdl_dock)->master,
- "switcher-style", gdl_switcher_style,
- "expand-direction", GDL_DOCK_EXPANSION_DIRECTION_DOWN,
- NULL);
-
- GdlDockBarStyle gdl_dock_bar_style = GDL_DOCK_BAR_BOTH;
-// HUB
-// static_cast<GdlDockBarStyle>(prefs_get_int_attribute_limited("options.dock", "dockbarstyle",
-// GDL_DOCK_BAR_BOTH, 0, 3));
-
- gdl_dock_bar_set_style(_gdl_dock_bar, gdl_dock_bar_style);
-// HUB
-// g_signal_connect(G_OBJECT(INKSCAPE), "dialogs_hide", G_CALLBACK(hideCallback), (void *)this);
-// g_signal_connect(G_OBJECT(INKSCAPE), "dialogs_unhide", G_CALLBACK(unhideCallback), (void *)this);
-
- g_signal_connect(_paned->gobj(), "button-press-event", G_CALLBACK(_on_paned_button_event), (void *)this);
- g_signal_connect(_paned->gobj(), "button-release-event", G_CALLBACK(_on_paned_button_event), (void *)this);
-
- signal_layout_changed().connect(sigc::mem_fun(*this, &Dock::_onLayoutChanged));
-}
-
-Dock::~Dock()
-{
-//WTF is that?
-// g_free(_gdl_dock);
-// g_free(_gdl_dock_bar);
-}
-
-void
-Dock::addItem(DockItem& item, DockItem::Placement placement)
-{
- _dock_items.push_back(&item);
- gdl_dock_add_item(_gdl_dock, GDL_DOCK_ITEM(item.gobj()), (GdlDockPlacement)placement);
-
- // FIXME: This is a hack to prevent the dock from expanding the main window, this can't be done
- // initially as the paned doesn't exist.
- if (Gtk::Paned *paned = getParentPaned()) {
- paned->set_resize_mode(Gtk::RESIZE_QUEUE);
- }
-}
-
-Gtk::Widget&
-Dock::getWidget()
-{
- return *_scrolled_window;
-}
-
-Gtk::Paned *
-Dock::getParentPaned()
-{
- g_return_val_if_fail(_dock_box, 0);
- Gtk::Container *parent = getWidget().get_parent();
- return (parent != 0 ? dynamic_cast<Gtk::Paned *>(parent) : 0);
-}
-
-
-Gtk::Paned *
-Dock::getPaned()
-{
- return _paned;
-}
-GtkWidget *
-Dock::getGdlWidget()
-{
- return GTK_WIDGET(_gdl_dock);
-}
-
-bool
-Dock::isEmpty() const
-{
- std::list<const DockItem *>::const_iterator
- i = _dock_items.begin(),
- e = _dock_items.end();
-
- for (; i != e; ++i) {
- if ((*i)->getState() == DockItem::DOCKED_STATE) {
- return false;
- }
- }
-
- return true;
-}
-
-bool
-Dock::hasIconifiedItems() const
-{
- std::list<const DockItem *>::const_iterator
- i = _dock_items.begin(),
- e = _dock_items.end();
-
- for (; i != e; ++i) {
- if ((*i)->isIconified()) {
- return true;
- }
- }
-
- return false;
-}
-
-void
-Dock::hide()
-{
- getWidget().hide();
-}
-
-void
-Dock::show()
-{
- getWidget().show();
-}
-
-void
-Dock::toggleDockable(int width, int height)
-{
- static int prev_horizontal_position, prev_vertical_position;
-
- Gtk::Paned *parent_paned = getParentPaned();
-
- if (width > 0 && height > 0) {
- prev_horizontal_position = parent_paned->get_position();
- prev_vertical_position = _paned->get_position();
-
- if (getWidget().get_width() < width)
- parent_paned->set_position(parent_paned->get_width() - width);
-
- if (_paned->get_position() < height)
- _paned->set_position(height);
-
- } else {
- parent_paned->set_position(prev_horizontal_position);
- _paned->set_position(prev_vertical_position);
- }
-
-}
-
-void
-Dock::scrollToItem(DockItem& item)
-{
- int item_x, item_y;
- item.getWidget().translate_coordinates(getWidget(), 0, 0, item_x, item_y);
-
- int dock_height = getWidget().get_height(), item_height = item.getWidget().get_height();
- double vadjustment = _scrolled_window->get_vadjustment()->get_value();
-
- if (item_y < 0)
- _scrolled_window->get_vadjustment()->set_value(vadjustment + item_y);
- else if (item_y + item_height > dock_height)
- _scrolled_window->get_vadjustment()->set_value(
- vadjustment + ((item_y + item_height) - dock_height));
-}
-
-Glib::SignalProxy0<void>
-Dock::signal_layout_changed()
-{
- return Glib::SignalProxy0<void>(Glib::wrap(GTK_WIDGET(_gdl_dock)),
- &_signal_layout_changed_proxy);
-}
-
-void
-Dock::_onLayoutChanged()
-{
- if (isEmpty()) {
- if (hasIconifiedItems()) {
- _scrolled_window->set_size_request(_default_dock_bar_width);
- } else {
- _scrolled_window->set_size_request(_default_empty_width);
- }
-
- getParentPaned()->set_position(INT_MAX);
- } else {
- // unset any forced size requests
- _paned->get_child1()->set_size_request(-1, -1);
- _scrolled_window->set_size_request(-1);
- }
-}
-
-void
-Dock::_onPanedButtonEvent(GdkEventButton *event)
-{
- if (event->button == 1 && event->type == GDK_BUTTON_PRESS)
- /* unset size request when starting a drag */
- _paned->get_child1()->set_size_request(-1, -1);
-}
-
-gboolean
-Dock::_on_paned_button_event(GtkWidget */*widget*/, GdkEventButton *event, gpointer user_data)
-{
- if (Dock *dock = static_cast<Dock *>(user_data))
- dock->_onPanedButtonEvent(event);
-
- return FALSE;
-}
-
-const Glib::SignalProxyInfo
-Dock::_signal_layout_changed_proxy =
-{
- "layout-changed",
- (GCallback) &Glib::SignalProxyNormal::slot0_void_callback,
- (GCallback) &Glib::SignalProxyNormal::slot0_void_callback
-};
-
-
-} // namespace framework
-
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:80
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
diff --git a/src/fwk/toolkit/widgets/dock.hpp b/src/fwk/toolkit/widgets/dock.hpp
index 3169c54..dc86f9a 100644
--- a/src/fwk/toolkit/widgets/dock.hpp
+++ b/src/fwk/toolkit/widgets/dock.hpp
@@ -1,99 +1,47 @@
-/**
- * \brief A desktop dock pane to dock dialogs, a custom wrapper around gdl-dock.
+/*
+ * niepce - fwk/toolkit/dock.hpp
+ *
+ * Copyright (C) 2011 Hubert Figuiere
*
- * Author:
- * Gustav Broberg <broberg kth se>
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
- * Copyright (C) 2007 Authors
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * Released under GNU GPL. Read the file 'COPYING' for more information.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef INKSCAPE_UI_WIDGET_DOCK_H
-#define INKSCAPE_UI_WIDGET_DOCK_H
+#ifndef __FWK_TOOLKIT_DOCK_HPP__
+#define __FWK_TOOLKIT_DOCK_HPP__
-#include <gtkmm/scrolledwindow.h>
#include <gtkmm/box.h>
-#include <gtkmm/paned.h>
-
-#include <list>
-
-#include "fwk/toolkit/widgets/dock-item.hpp"
-
-#include "libgdl/libgdl.h"
namespace fwk {
-class Dock {
+class Dock
+ : public Gtk::VBox
+{
public:
+
- Dock(Gtk::Orientation orientation=Gtk::ORIENTATION_VERTICAL);
- ~Dock();
-
- void addItem(DockItem& item, DockItem::Placement placement);
-
- Gtk::Widget& getWidget(); //< return the top widget
- Gtk::Paned *getParentPaned();
- Gtk::Paned *getPaned();
-
- GtkWidget* getGdlWidget(); //< return the top gdl widget
-
- bool isEmpty() const; //< true iff none of the dock's items are in a docked state
- bool hasIconifiedItems() const;
-
- Glib::SignalProxy0<void> signal_layout_changed();
-
- void hide();
- void show();
-
- /** Toggle size of dock between the previous dimensions and the ones sent as parameters */
- void toggleDockable(int width=0, int height=0);
-
- /** Scrolls the scrolled window container to make the provided dock item visible, if needed */
- void scrollToItem(DockItem& item);
-
-protected:
-
- std::list<const DockItem *> _dock_items; //< added dock items
-
- /** Interface widgets, will be packed like
- * _scrolled_window -> (_dock_box -> (_paned -> (_dock -> _filler) | _dock_bar))
- */
- Gtk::Box *_dock_box;
- Gtk::Paned* _paned;
- GdlDock *_gdl_dock;
- GdlDockBar *_gdl_dock_bar;
- Gtk::VBox _filler;
- Gtk::ScrolledWindow *_scrolled_window;
-
- /** Internal signal handlers */
- void _onLayoutChanged();
- void _onPanedButtonEvent(GdkEventButton *event);
-
- static gboolean _on_paned_button_event(GtkWidget *widget, GdkEventButton *event,
- gpointer user_data);
-
- /** GdlDock signal proxy structures */
- static const Glib::SignalProxyInfo _signal_layout_changed_proxy;
-
- /** Standard widths */
- static const int _default_empty_width;
- static const int _default_dock_bar_width;
};
-} // namespace framework
-
-#endif //INKSCAPE_UI_DIALOG_BEHAVIOUR_H
+}
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ c-file-offsets:((innamespace . 0))
indent-tabs-mode:nil
fill-column:80
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99
-
+#endif
diff --git a/src/niepce/Makefile.am b/src/niepce/Makefile.am
index 3740b59..f6c2f20 100644
--- a/src/niepce/Makefile.am
+++ b/src/niepce/Makefile.am
@@ -24,7 +24,6 @@ niepce_LDADD = \
$(top_builddir)/src/fwk/utils/libniepceutils.a \
$(top_builddir)/src/fwk/libfwk.a \
$(top_builddir)/src/ncr/libncr.a \
- $(top_builddir)/src/ext/libgdl/libgdl.a \
$(top_builddir)/src/ext/libview/libview.a \
@LIBGLIBMM_LIBS@ \
@LIBGTKMM_LIBS@ @SQLITE3_LIBS@ \
diff --git a/src/niepce/modules/darkroom/darkroommodule.cpp b/src/niepce/modules/darkroom/darkroommodule.cpp
index 9562074..31d451f 100644
--- a/src/niepce/modules/darkroom/darkroommodule.cpp
+++ b/src/niepce/modules/darkroom/darkroommodule.cpp
@@ -81,17 +81,17 @@ Gtk::Widget * DarkroomModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & m
m_vbox.pack_start(*toolbar, Gtk::PACK_SHRINK);
m_dr_splitview.pack1(m_vbox, Gtk::EXPAND);
- m_dock = new fwk::Dock();
- m_dr_splitview.pack2(m_dock->getWidget(), Gtk::SHRINK);
+ m_dock = Gtk::manage(new fwk::Dock());
+ m_dr_splitview.pack2(*m_dock, Gtk::SHRINK);
m_databinders.add_binder(new fwk::ConfigDataBinder<int>(
m_dr_splitview.property_position(),
fwk::Application::app()->config(),
"dr_toolbox_pane_splitter"));
- m_toolbox_ctrl = ToolboxController::Ptr(new ToolboxController(*m_dock));
+ m_toolbox_ctrl = ToolboxController::Ptr(new ToolboxController);
add(m_toolbox_ctrl);
- (void)m_toolbox_ctrl->buildWidget(manager);
+ m_dock->pack_start(*m_toolbox_ctrl->buildWidget(manager));
return m_widget;
}
diff --git a/src/niepce/modules/darkroom/toolboxcontroller.cpp b/src/niepce/modules/darkroom/toolboxcontroller.cpp
index 3e8fbff..3200f3c 100644
--- a/src/niepce/modules/darkroom/toolboxcontroller.cpp
+++ b/src/niepce/modules/darkroom/toolboxcontroller.cpp
@@ -25,28 +25,30 @@
#include <gtkmm/stock.h>
#include "toolboxcontroller.hpp"
+#include "fwk/base/debug.hpp"
#include "fwk/toolkit/widgets/editablehscale.hpp"
-#include "fwk/toolkit/widgets/dock-item.hpp"
#include "dritemwidget.hpp"
namespace darkroom {
-ToolboxController::ToolboxController(fwk::Dock &dock)
- : Dockable(dock,"tools", _("Develop"), Gtk::Stock::APPLY.id,
- DockItem::DOCKED_STATE)
+ToolboxController::ToolboxController()
+ : Dockable("tools", _("Develop"), Gtk::Stock::APPLY.id)
{
}
-Gtk::Widget * ToolboxController::buildWidget(const Glib::RefPtr<Gtk::UIManager> &)
+Gtk::Widget *
+ToolboxController::buildWidget(const Glib::RefPtr<Gtk::UIManager> & )
{
if(m_widget) {
return m_widget;
}
DrItemWidget *item = NULL;
fwk::EditableHScale *s = NULL;
- Gtk::VBox *toolbox = DockItem::get_vbox();
- m_widget = &DockItem::getWidget();
+
+ Gtk::VBox *toolbox = Dockable::build_vbox();
+ m_widget = toolbox;
+ DBG_ASSERT(toolbox, "vbox not found.");
item = manage(new DrItemWidget(_("Crop")));
toolbox->pack_start(*item, Gtk::PACK_SHRINK);
diff --git a/src/niepce/modules/darkroom/toolboxcontroller.hpp b/src/niepce/modules/darkroom/toolboxcontroller.hpp
index c618742..3e77885 100644
--- a/src/niepce/modules/darkroom/toolboxcontroller.hpp
+++ b/src/niepce/modules/darkroom/toolboxcontroller.hpp
@@ -23,10 +23,6 @@
#include "fwk/toolkit/dockable.hpp"
-namespace fwk {
-class Dock;
-}
-
namespace darkroom {
class ToolboxController
@@ -34,7 +30,7 @@ class ToolboxController
{
public:
typedef std::tr1::shared_ptr<ToolboxController> Ptr;
- ToolboxController(fwk::Dock &);
+ ToolboxController();
virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
};
diff --git a/src/niepce/ui/gridviewmodule.cpp b/src/niepce/ui/gridviewmodule.cpp
index c93224b..62c5755 100644
--- a/src/niepce/ui/gridviewmodule.cpp
+++ b/src/niepce/ui/gridviewmodule.cpp
@@ -105,10 +105,10 @@ Gtk::Widget * GridViewModule::buildWidget(const Glib::RefPtr<Gtk::UIManager> & m
m_scrollview.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
m_lib_splitview.pack1(m_scrollview);
m_dock = new fwk::Dock();
- m_metapanecontroller = MetaDataPaneController::Ptr(new MetaDataPaneController(*m_dock));
+ m_metapanecontroller = MetaDataPaneController::Ptr(new MetaDataPaneController);
add(m_metapanecontroller);
- m_lib_splitview.pack2(m_dock->getWidget());
- (void)m_metapanecontroller->buildWidget(manager);
+ m_lib_splitview.pack2(*m_dock);
+ m_dock->pack_start(*m_metapanecontroller->buildWidget(manager));
m_databinders.add_binder(new fwk::ConfigDataBinder<int>(
m_lib_splitview.property_position(),
diff --git a/src/niepce/ui/metadatapanecontroller.cpp b/src/niepce/ui/metadatapanecontroller.cpp
index 9894efc..5219ac6 100644
--- a/src/niepce/ui/metadatapanecontroller.cpp
+++ b/src/niepce/ui/metadatapanecontroller.cpp
@@ -36,94 +36,97 @@ using namespace xmp;
namespace ui {
- const MetaDataSectionFormat *
- MetaDataPaneController::get_format()
- {
- static const MetaDataFormat s_camerainfo_format[] = {
- { _("Make:"), NS_TIFF, "Make", META_DT_STRING, true },
- { _("Model:"), NS_TIFF, "Model", META_DT_STRING, true },
- { _("Lens:"), NS_EXIF_AUX, "Lens", META_DT_STRING, true },
- { NULL, NULL, NULL, META_DT_NONE, true }
- };
- static const MetaDataFormat s_shootinginfo_format[] = {
- { _("Exposure Program:"), NS_EXIF, "ExposureProgram", META_DT_STRING, true },
- { _("Speed:"), NS_EXIF, "ExposureTime", META_DT_STRING, true },
- { _("Aperture:"), NS_EXIF, "FNumber", META_DT_FRAC, true },
- { _("ISO:"), NS_EXIF, "ISOSpeedRatings", META_DT_STRING_ARRAY, true },
- { _("Exposure Bias:"), NS_EXIF, "ExposureBiasValue", META_DT_FRAC, true },
- // this one is fishy as it hardcode the prefix.
- { _("Flash:"), NS_EXIF, "Flash/exif:Fired", META_DT_STRING, true },
- { _("Flash compensation:"), NS_EXIF_AUX, "FlashCompensation", META_DT_STRING, true },
- { _("Focal length:"), NS_EXIF, "FocalLength", META_DT_FRAC, true },
- { _("White balance:"), NS_EXIF, "WhiteBalance", META_DT_STRING, true },
- { _("Date:"), NS_EXIF, "DateTimeOriginal", META_DT_DATE, false },
- { NULL, NULL, NULL, META_DT_NONE, true }
- };
- static const MetaDataFormat s_iptc_format[] = {
- { _("Rating:"), NS_XAP, "Rating", META_DT_STAR_RATING, false },
- { _("Label:"), NS_XAP, "Label", META_DT_STRING, false },
- { _("Keywords:"), NS_DC, "subject", META_DT_STRING_ARRAY, false },
- { NULL, NULL, NULL, META_DT_NONE, true }
- };
- static const MetaDataSectionFormat s_format[] = {
- { _("Camera Information"),
- s_camerainfo_format
- },
- { _("Shooting Information"),
- s_shootinginfo_format
- },
- { _("IPTC"),
- s_iptc_format
- },
- { _("Rights"),
- NULL
- },
- { NULL, NULL
- }
- };
- return s_format;
- }
-
- MetaDataPaneController::MetaDataPaneController(fwk::Dock &dock)
- : Dockable(dock, "Metadata", _("Image Properties"),
- Gtk::Stock::PROPERTIES.id, DockItem::DOCKED_STATE),
- m_fileid(0)
- {
- }
-
- MetaDataPaneController::~MetaDataPaneController()
- {
- }
-
- Gtk::Widget * MetaDataPaneController::buildWidget(const Glib::RefPtr<Gtk::UIManager> &)
- {
+ const MetaDataSectionFormat *
+ MetaDataPaneController::get_format()
+ {
+ static const MetaDataFormat s_camerainfo_format[] = {
+ { _("Make:"), NS_TIFF, "Make", META_DT_STRING, true },
+ { _("Model:"), NS_TIFF, "Model", META_DT_STRING, true },
+ { _("Lens:"), NS_EXIF_AUX, "Lens", META_DT_STRING, true },
+ { NULL, NULL, NULL, META_DT_NONE, true }
+ };
+ static const MetaDataFormat s_shootinginfo_format[] = {
+ { _("Exposure Program:"), NS_EXIF, "ExposureProgram", META_DT_STRING, true },
+ { _("Speed:"), NS_EXIF, "ExposureTime", META_DT_STRING, true },
+ { _("Aperture:"), NS_EXIF, "FNumber", META_DT_FRAC, true },
+ { _("ISO:"), NS_EXIF, "ISOSpeedRatings", META_DT_STRING_ARRAY, true },
+ { _("Exposure Bias:"), NS_EXIF, "ExposureBiasValue", META_DT_FRAC, true },
+ // this one is fishy as it hardcode the prefix.
+ { _("Flash:"), NS_EXIF, "Flash/exif:Fired", META_DT_STRING, true },
+ { _("Flash compensation:"), NS_EXIF_AUX, "FlashCompensation", META_DT_STRING, true },
+ { _("Focal length:"), NS_EXIF, "FocalLength", META_DT_FRAC, true },
+ { _("White balance:"), NS_EXIF, "WhiteBalance", META_DT_STRING, true },
+ { _("Date:"), NS_EXIF, "DateTimeOriginal", META_DT_DATE, false },
+ { NULL, NULL, NULL, META_DT_NONE, true }
+ };
+ static const MetaDataFormat s_iptc_format[] = {
+ { _("Rating:"), NS_XAP, "Rating", META_DT_STAR_RATING, false },
+ { _("Label:"), NS_XAP, "Label", META_DT_STRING, false },
+ { _("Keywords:"), NS_DC, "subject", META_DT_STRING_ARRAY, false },
+ { NULL, NULL, NULL, META_DT_NONE, true }
+ };
+ static const MetaDataSectionFormat s_format[] = {
+ { _("Camera Information"),
+ s_camerainfo_format
+ },
+ { _("Shooting Information"),
+ s_shootinginfo_format
+ },
+ { _("IPTC"),
+ s_iptc_format
+ },
+ { _("Rights"),
+ NULL
+ },
+ { NULL, NULL
+ }
+ };
+ return s_format;
+ }
+
+ MetaDataPaneController::MetaDataPaneController()
+ : Dockable("Metadata", _("Image Properties"),
+ Gtk::Stock::PROPERTIES.id /*, DockItem::DOCKED_STATE*/),
+ m_fileid(0)
+ {
+ }
+
+ MetaDataPaneController::~MetaDataPaneController()
+ {
+ }
+
+ Gtk::Widget *
+ MetaDataPaneController::buildWidget(const Glib::RefPtr<Gtk::UIManager> & )
+ {
if(m_widget) {
return m_widget;
}
- m_widget = &DockItem::getWidget();
-
- const MetaDataSectionFormat * formats = get_format();
-
- const MetaDataSectionFormat * current = formats;
- while(current->section) {
- fwk::MetaDataWidget *w = Gtk::manage(new fwk::MetaDataWidget(current->section));
- DockItem::get_vbox()->pack_start(*w, Gtk::PACK_SHRINK, 0);
- w->set_data_format(current);
- m_widgets.push_back(w);
- current++;
- }
-
- return m_widget;
- }
-
-
- void MetaDataPaneController::display(int file_id, const fwk::XmpMeta * meta)
- {
- m_fileid = file_id;
- DBG_OUT("displaying metadata");
- std::for_each(m_widgets.begin(), m_widgets.end(),
- boost::bind(&fwk::MetaDataWidget::set_data_source,
- _1, meta));
- }
+ Gtk::VBox *vbox = build_vbox();
+ m_widget = vbox;
+ DBG_ASSERT(vbox, "dockable vbox not found");
+ const MetaDataSectionFormat * formats = get_format();
+
+ const MetaDataSectionFormat * current = formats;
+ while(current->section) {
+ fwk::MetaDataWidget *w = Gtk::manage(new fwk::MetaDataWidget(current->section));
+ vbox->pack_start(*w, Gtk::PACK_SHRINK, 0);
+ w->set_data_format(current);
+ m_widgets.push_back(w);
+ current++;
+ }
+
+ return m_widget;
+ }
+
+
+ void MetaDataPaneController::display(int file_id, const fwk::XmpMeta * meta)
+ {
+ m_fileid = file_id;
+ DBG_OUT("displaying metadata");
+ std::for_each(m_widgets.begin(), m_widgets.end(),
+ boost::bind(&fwk::MetaDataWidget::set_data_source,
+ _1, meta));
+ }
+
}
diff --git a/src/niepce/ui/metadatapanecontroller.hpp b/src/niepce/ui/metadatapanecontroller.hpp
index 09b3b0a..d9394f0 100644
--- a/src/niepce/ui/metadatapanecontroller.hpp
+++ b/src/niepce/ui/metadatapanecontroller.hpp
@@ -36,21 +36,21 @@ class Dock;
namespace ui {
class MetaDataPaneController
- : public fwk::Dockable
+ : public fwk::Dockable
{
public:
- typedef std::tr1::shared_ptr<MetaDataPaneController> Ptr;
- MetaDataPaneController(fwk::Dock &);
+ typedef std::tr1::shared_ptr<MetaDataPaneController> Ptr;
+ MetaDataPaneController();
~MetaDataPaneController();
- virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
- void display(int file_id, const fwk::XmpMeta * meta);
+ virtual Gtk::Widget * buildWidget(const Glib::RefPtr<Gtk::UIManager> &);
+ void display(int file_id, const fwk::XmpMeta * meta);
int displayed_file() const
{ return m_fileid; }
private:
- std::vector<fwk::MetaDataWidget *> m_widgets;
-
- static const xmp::MetaDataSectionFormat * get_format();
-
+ std::vector<fwk::MetaDataWidget *> m_widgets;
+
+ static const xmp::MetaDataSectionFormat * get_format();
+
int m_fileid;
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]