[glom] Use ToolGroupItem as C++.
- From: Murray Cumming <murrayc src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [glom] Use ToolGroupItem as C++.
- Date: Wed, 27 Jan 2010 10:30:29 +0000 (UTC)
commit a03382a47bb294fe495418770b05f52a23b192d7
Author: Murray Cumming <murrayc murrayc com>
Date: Tue Dec 22 15:46:58 2009 +0100
Use ToolGroupItem as C++.
.../data_structure/layout/fieldformatting.cc | 1 +
.../print_layouts/print_layout_toolbar.cc | 24 ++++++++++----------
.../print_layouts/print_layout_toolbar.h | 3 ++
glom/utility_widgets/flowtable_dnd.cc | 22 ++++++++----------
glom/utility_widgets/layouttoolbar.cc | 22 +++++++++---------
glom/utility_widgets/layouttoolbar.h | 2 +
glom/utility_widgets/sidebar.cc | 11 ++++-----
glom/utility_widgets/sidebar.h | 6 ++--
8 files changed, 47 insertions(+), 44 deletions(-)
---
diff --git a/glom/libglom/data_structure/layout/fieldformatting.cc b/glom/libglom/data_structure/layout/fieldformatting.cc
index 10228cc..4a27cb2 100644
--- a/glom/libglom/data_structure/layout/fieldformatting.cc
+++ b/glom/libglom/data_structure/layout/fieldformatting.cc
@@ -20,6 +20,7 @@
#include "fieldformatting.h"
#include <libglom/data_structure/layout/fieldformatting.h>
+#include <libglom/data_structure/glomconversions.h>
#include <glibmm/i18n.h>
const guint MULTILINE_TEXT_DEFAULT_HEIGHT_LINES = 6;
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar.cc b/glom/mode_design/print_layouts/print_layout_toolbar.cc
index 061f0a7..0235aa8 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar.cc
+++ b/glom/mode_design/print_layouts/print_layout_toolbar.cc
@@ -31,6 +31,9 @@ namespace Glom
{
PrintLayoutToolbar::PrintLayoutToolbar()
+: m_group_items(_("Items")),
+ m_group_lines(_("Lines")),
+ m_group_records(_("Records"))
{
// Looks ugly otherwise:
set_size_request(100, 200);
@@ -57,23 +60,20 @@ PrintLayoutToolbar::PrintLayoutToolbar()
_("Related Records"), _("Drag this to the layout to add a new related records portal.")));
//Note for translators: These are layout items, like widgets in GTK+.
- GtkContainer* items_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Items")));
- gtk_container_add(items_group, GTK_WIDGET(drag_field->gobj()));
- gtk_container_add(items_group, GTK_WIDGET(drag_text->gobj()));
- gtk_container_add(items_group, GTK_WIDGET(drag_image->gobj()));
+ m_group_items.add(*drag_field);
+ m_group_items.add(*drag_text);
+ m_group_items.add(*drag_image);
//Note for translators: These are layout items, like widgets in GTK+.
- GtkContainer* lines_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Lines")));
- gtk_container_add(lines_group, GTK_WIDGET(drag_line_horizontal->gobj()));
- gtk_container_add(lines_group, GTK_WIDGET(drag_line_vertical->gobj()));
+ m_group_lines.add(*drag_line_horizontal);
+ m_group_lines.add(*drag_line_vertical);
//Note for translators: These are layout items, like widgets in GTK+.
- GtkContainer* related_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Records")));
- gtk_container_add(related_group, GTK_WIDGET(drag_related_records->gobj()));
+ m_group_records.add(*drag_related_records);
- add_group(GTK_TOOL_ITEM_GROUP(items_group));
- add_group(GTK_TOOL_ITEM_GROUP(lines_group));
- add_group(GTK_TOOL_ITEM_GROUP(related_group));
+ add_group(m_group_items);
+ add_group(m_group_lines);
+ add_group(m_group_records);
set_drag_source();
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar.h b/glom/mode_design/print_layouts/print_layout_toolbar.h
index 1e123de..54b199f 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar.h
+++ b/glom/mode_design/print_layouts/print_layout_toolbar.h
@@ -24,6 +24,7 @@
#include <gtkmm/window.h>
#include <gtkmm/handlebox.h>
#include <gtkmm/box.h>
+#include <gtkmm/toolitemgroup.h>
#include <glom/utility_widgets/sidebar.h>
@@ -36,6 +37,8 @@ public:
PrintLayoutToolbar();
virtual ~PrintLayoutToolbar();
+private:
+ Gtk::ToolItemGroup m_group_items, m_group_lines, m_group_records;
};
} //namespace Glom
diff --git a/glom/utility_widgets/flowtable_dnd.cc b/glom/utility_widgets/flowtable_dnd.cc
index 7bb47cb..e45f799 100644
--- a/glom/utility_widgets/flowtable_dnd.cc
+++ b/glom/utility_widgets/flowtable_dnd.cc
@@ -144,7 +144,7 @@ bool FlowTableDnd::on_drag_motion(const Glib::RefPtr<Gdk::DragContext>& /* drag_
y += get_allocation().get_y();
m_current_dnd_item = dnd_item_at_position(x, y);
- Gtk::Widget* above = dnd_datawidget_from_item(0);
+ Gtk::Widget* above = dnd_datawidget_from_item(m_current_dnd_item);
// above might be 0 here...
on_dnd_add_placeholder(above);
@@ -187,12 +187,15 @@ void FlowTableDnd::on_drag_data_received(const Glib::RefPtr<Gdk::DragContext>& d
}
on_dnd_remove_placeholder();
- Gtk::Widget* above = dnd_datawidget_from_item(0);
- if(palette)
+ Gtk::Widget* above = dnd_datawidget_from_item(m_current_dnd_item);
+ if(palette) //If the item was dragged from the palette.
{
Gtk::Widget* tool_item = palette->get_drag_item(selection_data);
- const int type = GPOINTER_TO_INT(tool_item->get_data("glom-type"));
- on_dnd_add_layout_item_by_type(type, above);
+ if(tool_item)
+ {
+ const int type = GPOINTER_TO_INT(tool_item->get_data("glom-type"));
+ on_dnd_add_layout_item_by_type(type, above);
+ }
}
else
{
@@ -226,7 +229,6 @@ void FlowTableDnd::on_drag_data_received(const Glib::RefPtr<Gdk::DragContext>& d
base->set_dnd_in_progress(false);
}
}
-
}
}
@@ -285,11 +287,7 @@ Gtk::Widget* FlowTableDnd::dnd_datawidget_from_item(FlowTable::FlowTableItem* it
{
// Test if we have a datawidget below which we want to add
LayoutWidgetBase* above = 0;
- FlowTableItem* used_item = 0;
- if(item)
- used_item = item;
- else
- used_item = m_current_dnd_item;
+ FlowTableItem* used_item = item;
if(used_item)
{
@@ -384,7 +382,7 @@ bool FlowTableDnd::on_child_drag_motion(const Glib::RefPtr<Gdk::DragContext>& /*
{
m_current_dnd_item = find_current_dnd_item(child, x, y);
- Gtk::Widget* above = dnd_datawidget_from_item(0);
+ Gtk::Widget* above = dnd_datawidget_from_item(m_current_dnd_item);
// above might be 0 here...
on_dnd_add_placeholder(above);
diff --git a/glom/utility_widgets/layouttoolbar.cc b/glom/utility_widgets/layouttoolbar.cc
index 51a73f7..9af4117 100644
--- a/glom/utility_widgets/layouttoolbar.cc
+++ b/glom/utility_widgets/layouttoolbar.cc
@@ -49,6 +49,8 @@ namespace Glom
{
LayoutToolbar::LayoutToolbar()
+: m_group_items(_("Items")),
+ m_group_containers(_("Containers"))
{
// Looks ugly otherwise:
set_size_request(100, 200);
@@ -79,20 +81,18 @@ LayoutToolbar::LayoutToolbar()
//TODO: Add a drag item for the related records item.
//Note for translators: These are container layout items, containing child layout items, like container widgets in GTK+.
- GtkContainer* container_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Containers")));
- gtk_container_add(container_group, GTK_WIDGET(drag_group->gobj()));
- gtk_container_add(container_group, GTK_WIDGET(drag_notebook->gobj()));
+ m_group_containers.add(*drag_group);
+ m_group_containers.add(*drag_notebook);
//Note for translators: These are layout items, like widgets in GTK+.
- GtkContainer* fields_group = GTK_CONTAINER(gtk_tool_item_group_new(_("Items")));
- gtk_container_add(fields_group, GTK_WIDGET(drag_portal->gobj()));
- gtk_container_add(fields_group, GTK_WIDGET(drag_item->gobj()));
- gtk_container_add(fields_group, GTK_WIDGET(drag_button->gobj()));
- gtk_container_add(fields_group, GTK_WIDGET(drag_text->gobj()));
- gtk_container_add(fields_group, GTK_WIDGET(drag_image->gobj()));
+ m_group_items.add(*drag_portal);
+ m_group_items.add(*drag_item);
+ m_group_items.add(*drag_button);
+ m_group_items.add(*drag_text);
+ m_group_items.add(*drag_image);
- add_group(GTK_TOOL_ITEM_GROUP(container_group));
- add_group(GTK_TOOL_ITEM_GROUP(fields_group));
+ add_group(m_group_containers);
+ add_group(m_group_items);
set_drag_source();
diff --git a/glom/utility_widgets/layouttoolbar.h b/glom/utility_widgets/layouttoolbar.h
index 81dd94a..1586b43 100644
--- a/glom/utility_widgets/layouttoolbar.h
+++ b/glom/utility_widgets/layouttoolbar.h
@@ -36,6 +36,8 @@ public:
LayoutToolbar();
~LayoutToolbar();
+private:
+ Gtk::ToolItemGroup m_group_items, m_group_containers;
};
} //namespace Glom
diff --git a/glom/utility_widgets/sidebar.cc b/glom/utility_widgets/sidebar.cc
index f63bbe7..9a11359 100644
--- a/glom/utility_widgets/sidebar.cc
+++ b/glom/utility_widgets/sidebar.cc
@@ -33,22 +33,21 @@ SideBar::SideBar()
m_palette.set_style(Gtk::TOOLBAR_BOTH_HORIZ);
add(m_palette);
- show_all_children();;
-
+ show_all_children();
}
SideBar::~SideBar()
{
}
-void SideBar::add_group(GtkToolItemGroup* group)
+void SideBar::add_group(Gtk::ToolItemGroup& group)
{
- m_palette.add(*Glib::wrap(GTK_WIDGET(group)));
+ m_palette.add(group);
}
-void SideBar::remove_group(GtkToolItemGroup* group)
+void SideBar::remove_group(Gtk::ToolItemGroup& group)
{
- m_palette.remove(*Glib::wrap(GTK_WIDGET(group)));
+ m_palette.remove(group);
}
void SideBar::set_drag_source()
diff --git a/glom/utility_widgets/sidebar.h b/glom/utility_widgets/sidebar.h
index dbd2249..7ae07be 100644
--- a/glom/utility_widgets/sidebar.h
+++ b/glom/utility_widgets/sidebar.h
@@ -34,10 +34,10 @@ class SideBar : public Gtk::HandleBox
{
public:
SideBar();
- ~SideBar();
+ virtual ~SideBar();
- void add_group(GtkToolItemGroup* group);
- void remove_group(GtkToolItemGroup* group);
+ void add_group(Gtk::ToolItemGroup& group);
+ void remove_group(Gtk::ToolItemGroup& group);
void set_drag_source();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]